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.