8 #include "libmesh/rb_construction.h" 9 #include "libmesh/rb_evaluation.h" 12 #include "libmesh/fe_base.h" 13 #include "libmesh/dof_map.h" 17 #ifdef LIBMESH_ENABLE_DIRICHLET 29 set_rb_theta_expansion(elasticity_theta_expansion);
51 const std::string & name_in,
52 const unsigned int number_in) :
53 Parent(es, name_in, number_in),
54 u_var(0), v_var(0), w_var(0), var_order(
FIRST),
55 elasticity_assembly_expansion(*this),
79 unsigned int n_components = this->get_mesh().mesh_dimension();
81 libmesh_assert_less_equal(n_components, 3);
83 u_var = this->add_variable(
"u", var_order);
85 v_var = this->add_variable(
"v", var_order);
87 w_var = this->add_variable(
"w", var_order);
90 dirichlet_bc = build_zero_dirichlet_boundary_object();
93 dirichlet_bc->b.insert(BOUNDARY_ID_MIN_X);
94 dirichlet_bc->variables.push_back(u_var);
96 dirichlet_bc->variables.push_back(v_var);
98 dirichlet_bc->variables.push_back(w_var);
101 get_dof_map().add_dirichlet_boundary(*dirichlet_bc);
106 set_rb_assembly_expansion(elasticity_assembly_expansion);
109 set_inner_product_assembly(ip_assembly);
120 FEBase * elem_fe =
nullptr;
127 FEBase * side_fe =
nullptr;
157 #endif // LIBMESH_ENABLE_DIRICHLET This is the EquationSystems class.
Order
defines an enum for polynomial orders.
ElasticityRBConstruction(EquationSystems &es, const std::string &name_in, const unsigned int number_in)
void get_side_fe(unsigned int var, FEGenericBase< OutputShape > *&fe) const
Accessor for edge/face (2D/3D) finite element object for variable var for the largest dimension in th...
virtual Real get_stability_lower_bound()
Return a "dummy" lower bound for the coercivity constant.
ElasticityThetaExpansion elasticity_theta_expansion
The object that stores the "theta" expansion of the parameter dependent PDE, i.e. ...
unsigned int u_var
Variable numbers and approximation order.
InnerProductAssembly ip_assembly
Object to assemble the inner product matrix.
The libMesh namespace provides an interface to certain functionality in the library.
virtual void init_data()
Initialize data structures.
ElasticityRBConstruction sys_type
The type of system.
const std::vector< std::vector< OutputGradient > > & get_dphi() const
virtual_for_inffe const std::vector< Real > & get_JxW() const
This class provides all data required for a physics package (e.g.
RBConstruction Parent
The type of the parent.
virtual void init_context(FEMContext &c)
Pre-request all relevant element data.
std::unique_ptr< DirichletBoundary > dirichlet_bc
The object that defines which degrees of freedom are on a Dirichlet boundary.
This class is part of the rbOOmit framework.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void get_element_fe(unsigned int var, FEGenericBase< OutputShape > *&fe) const
Accessor for interior finite element object for variable var for the largest dimension in the mesh...
This class is part of the rbOOmit framework.
ElasticityRBEvaluation(const Parallel::Communicator &comm)
Constructor.
ElasticityAssemblyExpansion elasticity_assembly_expansion
The object that stores the "assembly" expansion of the parameter dependent PDE.
This class forms the foundation from which generic finite elements may be derived.
const std::vector< std::vector< OutputShape > > & get_phi() const