libMesh
include
reduced_basis
transient_rb_assembly_expansion.h
Go to the documentation of this file.
1
// rbOOmit: An implementation of the Certified Reduced Basis method.
2
// Copyright (C) 2009, 2010 David J. Knezevic
3
4
// This file is part of rbOOmit.
5
6
// rbOOmit is free software; you can redistribute it and/or
7
// modify it under the terms of the GNU Lesser General Public
8
// License as published by the Free Software Foundation; either
9
// version 2.1 of the License, or (at your option) any later version.
10
11
// rbOOmit is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
// Lesser General Public License for more details.
15
16
// You should have received a copy of the GNU Lesser General Public
17
// License along with this library; if not, write to the Free Software
18
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
20
#ifndef LIBMESH_TRANSIENT_RB_ASSEMBLY_EXPANSION_H
21
#define LIBMESH_TRANSIENT_RB_ASSEMBLY_EXPANSION_H
22
23
// libMesh includes
24
#include "libmesh/rb_assembly_expansion.h"
25
26
// C++ includes
27
28
namespace
libMesh
29
{
30
40
class
TransientRBAssemblyExpansion
:
public
RBAssemblyExpansion
41
{
42
public
:
43
47
TransientRBAssemblyExpansion
() =
default
;
48
TransientRBAssemblyExpansion
(
TransientRBAssemblyExpansion
&&) =
default
;
49
TransientRBAssemblyExpansion
(
const
TransientRBAssemblyExpansion
&) =
default
;
50
TransientRBAssemblyExpansion
&
operator=
(
const
TransientRBAssemblyExpansion
&) =
default
;
51
TransientRBAssemblyExpansion
&
operator=
(
TransientRBAssemblyExpansion
&&) =
default
;
52
virtual
~TransientRBAssemblyExpansion
() =
default
;
53
57
void
perform_M_interior_assembly
(
unsigned
int
q,
58
FEMContext
& context)
const
;
59
63
void
perform_M_boundary_assembly
(
unsigned
int
q,
64
FEMContext
& context)
const
;
65
70
unsigned
int
get_n_M_terms
()
const
;
71
76
void
attach_M_assembly
(
ElemAssembly
* A_q_assembly);
77
81
ElemAssembly
&
get_M_assembly
(
unsigned
int
q);
82
83
private
:
84
90
std::vector<ElemAssembly *>
_M_assembly_vector
;
91
};
92
93
}
94
95
#endif // LIBMESH_TRANSIENT_RB_ASSEMBLY_EXPANSION_H
libMesh::TransientRBAssemblyExpansion
This extends RBAssemblyExpansion to provide an assembly expansion for the case of time-dependent PDEs...
Definition:
transient_rb_assembly_expansion.h:40
libMesh::TransientRBAssemblyExpansion::attach_M_assembly
void attach_M_assembly(ElemAssembly *A_q_assembly)
Attach ElemAssembly object for the time-derivative (both interior and boundary assembly).
Definition:
transient_rb_assembly_expansion.C:50
libMesh::TransientRBAssemblyExpansion::operator=
TransientRBAssemblyExpansion & operator=(const TransientRBAssemblyExpansion &)=default
libMesh
The libMesh namespace provides an interface to certain functionality in the library.
libMesh::TransientRBAssemblyExpansion::perform_M_boundary_assembly
void perform_M_boundary_assembly(unsigned int q, FEMContext &context) const
Perform the specified M boundary assembly.
Definition:
transient_rb_assembly_expansion.C:36
libMesh::TransientRBAssemblyExpansion::perform_M_interior_assembly
void perform_M_interior_assembly(unsigned int q, FEMContext &context) const
Perform the specified M interior assembly.
Definition:
transient_rb_assembly_expansion.C:27
libMesh::TransientRBAssemblyExpansion::get_M_assembly
ElemAssembly & get_M_assembly(unsigned int q)
Return a reference to the specified M_assembly object.
Definition:
transient_rb_assembly_expansion.C:55
libMesh::TransientRBAssemblyExpansion::_M_assembly_vector
std::vector< ElemAssembly * > _M_assembly_vector
Vectors storing the function pointers to the assembly routines for the time-derivative operators...
Definition:
transient_rb_assembly_expansion.h:90
libMesh::FEMContext
This class provides all data required for a physics package (e.g.
Definition:
fem_context.h:62
libMesh::RBAssemblyExpansion
This class stores the set of ElemAssembly functor objects that define the "parameter-independent expa...
Definition:
rb_assembly_expansion.h:44
libMesh::ElemAssembly
ElemAssembly provides a per-element (interior and boundary) assembly functionality.
Definition:
elem_assembly.h:38
libMesh::TransientRBAssemblyExpansion::get_n_M_terms
unsigned int get_n_M_terms() const
Get Q_m, the number of terms in the affine expansion for the bilinear form.
Definition:
transient_rb_assembly_expansion.C:45
libMesh::TransientRBAssemblyExpansion::TransientRBAssemblyExpansion
TransientRBAssemblyExpansion()=default
All special functions can be defaulted for this simple class.
libMesh::TransientRBAssemblyExpansion::~TransientRBAssemblyExpansion
virtual ~TransientRBAssemblyExpansion()=default
Generated on Wed Mar 27 2024 17:39:13 for libMesh by
1.8.14