Go to the documentation of this file.
5 #include "libmesh/libmesh.h"
6 #include "libmesh/mesh.h"
7 #include "libmesh/equation_systems.h"
8 #include "libmesh/fe.h"
9 #include "libmesh/quadrature.h"
10 #include "libmesh/dof_map.h"
11 #include "libmesh/dense_matrix.h"
12 #include "libmesh/dense_vector.h"
13 #include "libmesh/fe_interface.h"
14 #include "libmesh/elem.h"
17 #include "libmesh/rb_assembly_expansion.h"
18 #include "libmesh/rb_eim_theta.h"
19 #include "libmesh/rb_parametrized_function.h"
47 return exp(-2.*(
pow(center_x-p(0),2.) +
pow(center_y-p(1),2.)));
59 const unsigned int u_var = 0;
61 FEBase * elem_fe =
nullptr;
64 const std::vector<Real> & JxW = elem_fe->get_JxW();
68 const std::vector<std::vector<RealGradient>> & dphi = elem_fe->get_dphi();
76 for (
unsigned int qp=0; qp != n_qpoints; qp++)
77 for (
unsigned int i=0; i != n_u_dofs; i++)
78 for (
unsigned int j=0; j != n_u_dofs; j++)
89 const unsigned int u_var = 0;
91 FEBase * elem_fe =
nullptr;
94 const std::vector<Real> & JxW = elem_fe->get_JxW();
96 const std::vector<std::vector<Real>> & phi = elem_fe->get_phi();
102 for (
unsigned int qp=0; qp != n_qpoints; qp++)
103 for (
unsigned int i=0; i != n_u_dofs; i++)
104 for (
unsigned int j=0; j != n_u_dofs; j++)
112 unsigned int basis_function_index_in) :
114 basis_function_index_in)
120 const unsigned int u_var = 0;
122 FEBase * elem_fe =
nullptr;
126 const unsigned int eim_var = 0;
128 const std::vector<Real> & JxW = elem_fe->get_JxW();
130 const std::vector<std::vector<Real>> & phi = elem_fe->get_phi();
135 std::vector<Number> eim_values;
142 for (
unsigned int i=0; i != n_u_dofs; i++)
const DenseVector< Number > & get_elem_residual() const
Const accessor for element residual.
const QBase & get_element_qrule() const
Accessor for element interior quadrature rule for the dimension of the current _elem.
virtual void interior_assembly(FEMContext &c)
Perform the element interior assembly.
const std::vector< dof_id_type > & get_dof_indices() const
Accessor for element dof indices.
unsigned int n_points() const
RealVectorValue RealGradient
virtual void interior_assembly(FEMContext &c)
Perform the element interior assembly.
const Elem & get_elem() const
Accessor for current Elem object.
This class is part of the rbOOmit framework.
virtual Number evaluate(const RBParameters &mu, const Point &p, const Elem &)
Evaluate this parametrized function for the parameter value mu at the point p.
EimTestRBThetaExpansion()
Constructor.
This class provides functionality required to define an assembly object that arises from an "Empirica...
EimTestRBAssemblyExpansion()
Constructor.
virtual void interior_assembly(FEMContext &c)
Perform the element interior assembly.
This class stores the set of ElemAssembly functor objects that define the "parameter-independent expa...
FEGenericBase< Real > FEBase
const std::vector< Point > & get_points() const
A Point defines a location in LIBMESH_DIM dimensional Real space.
A simple functor class that provides a RBParameter-dependent function.
void attach_A_assembly(ElemAssembly *Aq_assembly)
Attach ElemAssembly object for the left-hand side (both interior and boundary assembly).
double pow(double a, int b)
virtual Number evaluate(const RBParameters &)
Evaluate the functor object for the given parameter.
virtual void evaluate_basis_function(unsigned int var, const Elem &element, const std::vector< Point > &points, std::vector< Number > &values)
Evaluate variable var_number of this object's EIM basis function at the points points,...
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.
ElemAssembly provides a per-element (interior and boundary) assembly functionality.
const DenseMatrix< Number > & get_elem_jacobian() const
Const accessor for element Jacobian.
This class is part of the rbOOmit framework.
This is the base class from which all geometric element types are derived.
virtual void attach_A_theta(RBTheta *theta_q_a)
Attach a pointer to a functor object that defines one of the theta_q_a terms.
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" ...
This class is part of the rbOOmit framework.
Real get_value(const std::string ¶m_name) const
Get the value of the specific parameter.
EIM_F(RBEIMConstruction &rb_eim_con_in, unsigned int basis_function_index_in)
This class provides all data required for a physics package (e.g.