Go to the documentation of this file.
23 #if defined(LIBMESH_HAVE_SLEPC) && defined(LIBMESH_HAVE_GLPK)
26 #include "libmesh/rb_construction.h"
27 #include "libmesh/rb_scm_construction.h"
28 #include "libmesh/fe_base.h"
29 #include "libmesh/rb_evaluation.h"
30 #include "libmesh/rb_scm_evaluation.h"
49 #ifdef LIBMESH_ENABLE_DIRICHLET
97 const std::string &
name,
153 FEBase * elem_fe =
nullptr;
180 #endif // LIBMESH_ENABLE_DIRICHLET
182 #endif // LIBMESH_HAVE_SLEPC && LIBMESH_HAVE_GLPK
void add_dirichlet_boundary(const DirichletBoundary &dirichlet_boundary)
Adds a copy of the specified Dirichlet boundary to the system.
unsigned int u_var
Variable number for u.
std::unique_ptr< DirichletBoundary > dirichlet_bc
The object that defines which degrees of freedom are on a Dirichlet boundary.
SimpleRBEvaluation(const libMesh::Parallel::Communicator &comm)
Constructor.
SimpleRBConstruction(EquationSystems &es, const std::string &name, const unsigned int number)
const Parallel::Communicator & comm() const
virtual void init_data()
Initialize data structures.
This class is part of the rbOOmit framework.
virtual void init_data()
Initializes the member data fields associated with the system, so that, e.g., assemble() may be used.
static std::unique_ptr< DirichletBoundary > build_zero_dirichlet_boundary_object()
It's helpful to be able to generate a DirichletBoundary that stores a ZeroFunction in order to impose...
SimpleRBConstruction sys_type
The type of system.
unsigned int number() const
This class is part of the rbOOmit framework.
void set_inner_product_assembly(ElemAssembly &inner_product_assembly_in)
Set the rb_assembly_expansion object.
void set_rb_theta_expansion(RBThetaExpansion &rb_theta_expansion_in)
Set the RBThetaExpansion object.
void set_parameters(const RBParameters ¶ms)
Set the current parameters to params.
const RBParameters & get_parameters() const
Get the current parameters.
RBSCMEvaluation * rb_scm_eval
Pointer to the SCM object that will provide our coercivity constant lower bound.
This class stores the set of ElemAssembly functor objects that define the "parameter-independent expa...
FEGenericBase< Real > FEBase
unsigned int add_variable(const std::string &var, const FEType &type, const std::set< subdomain_id_type > *const active_subdomains=nullptr)
Adds the variable var to the list of variables for this system.
This class is part of the rbOOmit framework.
void set_rb_assembly_expansion(RBAssemblyExpansion &rb_assembly_expansion_in)
Set the rb_assembly_expansion object.
virtual ~SimpleRBConstruction()
Destructor.
This is the EquationSystems class.
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.
Ex02RBAssemblyExpansion ex02_rb_assembly_expansion
The object that stores the "assembly" expansion of the parameter dependent PDE, i....
virtual void init_context(FEMContext &c)
Pre-request all relevant element data.
const std::string & name() const
This class is part of the rbOOmit framework.
This class allows one to associate Dirichlet boundary values with a given set of mesh boundary ids an...
This class is part of the rbOOmit framework.
virtual Real get_SCM_LB()
Evaluate single SCM lower bound.
const DofMap & get_dof_map() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
This class stores the set of RBTheta functor objects that define the "parameter-dependent expansion" ...
virtual Real get_stability_lower_bound()
We override get_stability_lower_bound so that it calls rb_scm_eval to return a parameter-dependent lo...
Ex02RBThetaExpansion ex02_rb_theta_expansion
The object that stores the "theta" expansion of the parameter dependent PDE, i.e.
RBConstruction Parent
The type of the parent.
This class provides all data required for a physics package (e.g.