4#include "libmesh/sparse_matrix.h"
5#include "libmesh/numeric_vector.h"
6#include "libmesh/dense_matrix.h"
7#include "libmesh/dense_vector.h"
9#include "libmesh/fe_interface.h"
10#include "libmesh/fe_base.h"
11#include "libmesh/elem_assembly.h"
12#include "libmesh/quadrature_gauss.h"
15#include "libmesh/transient_rb_theta_expansion.h"
16#include "libmesh/transient_rb_assembly_expansion.h"
45 const unsigned int u_var = 0;
47 FEBase * elem_fe =
nullptr;
50 const std::vector<Real> & JxW = elem_fe->get_JxW();
52 const std::vector<std::vector<Real>> & phi = elem_fe->get_phi();
60 for (
unsigned int qp=0; qp != n_qpoints; qp++)
61 for (
unsigned int i=0; i != n_u_dofs; i++)
62 for (
unsigned int j=0; j != n_u_dofs; j++)
72 const unsigned int u_var = 0;
74 FEBase * elem_fe =
nullptr;
77 const std::vector<Real> & JxW = elem_fe->get_JxW();
81 const std::vector<std::vector<RealGradient>> & dphi = elem_fe->get_dphi();
89 for (
unsigned int qp=0; qp != n_qpoints; qp++)
90 for (
unsigned int i=0; i != n_u_dofs; i++)
91 for (
unsigned int j=0; j != n_u_dofs; j++)
102 const unsigned int u_var = 0;
104 FEBase * elem_fe =
nullptr;
107 const std::vector<Real> & JxW = elem_fe->get_JxW();
109 const std::vector<std::vector<Real>> & phi = elem_fe->get_phi();
111 const std::vector<std::vector<RealGradient>> & dphi = elem_fe->get_dphi();
119 for (
unsigned int qp=0; qp != n_qpoints; qp++)
120 for (
unsigned int i=0; i != n_u_dofs; i++)
121 for (
unsigned int j=0; j != n_u_dofs; j++)
131 const unsigned int u_var = 0;
133 FEBase * elem_fe =
nullptr;
136 const std::vector<Real> & JxW = elem_fe->get_JxW();
138 const std::vector<std::vector<Real>> & phi = elem_fe->get_phi();
140 const std::vector<std::vector<RealGradient>> & dphi = elem_fe->get_dphi();
148 for (
unsigned int qp=0; qp != n_qpoints; qp++)
149 for (
unsigned int i=0; i != n_u_dofs; i++)
150 for (
unsigned int j=0; j != n_u_dofs; j++)
160 const unsigned int u_var = 0;
162 FEBase * elem_fe =
nullptr;
165 const std::vector<Real> & JxW = elem_fe->get_JxW();
167 const std::vector<std::vector<Real>> & phi = elem_fe->get_phi();
175 for (
unsigned int qp=0; qp != n_qpoints; qp++)
176 for (
unsigned int i=0; i != n_u_dofs; i++)
184 Real min_y_in, Real max_y_in)
195 const unsigned int u_var = 0;
197 FEBase * elem_fe =
nullptr;
200 const std::vector<Real> & JxW = elem_fe->get_JxW();
202 const std::vector<std::vector<Real>> & phi = elem_fe->get_phi();
215 for (
unsigned int qp=0; qp != n_qpoints; qp++)
216 for (
unsigned int i=0; i != n_u_dofs; i++)
264 L0(0.72, 0.88, 0.72, 0.88),
265 L1(0.12, 0.28, 0.72, 0.88),
266 L2(0.12, 0.28, 0.12, 0.28),
267 L3(0.72, 0.88, 0.12, 0.28)
const std::vector< dof_id_type > & get_dof_indices() const
Accessor for element dof indices.
const DenseVector< Number > & get_elem_residual() const
Const accessor for element residual.
const DenseMatrix< Number > & get_elem_jacobian() const
Const accessor for element Jacobian.
This class allows one to associate Dirichlet boundary values with a given set of mesh boundary ids an...
ElemAssembly provides a per-element (interior and boundary) assembly functionality.
Point vertex_average() const
This class forms the foundation from which generic finite elements may be derived.
This class provides an encapsulated access to all static public member functions of finite element cl...
This class provides all data required for a physics package (e.g.
const QBase & get_element_qrule() const
Accessor for element interior quadrature rule for the dimension of the current _elem.
const Elem & get_elem() const
Accessor for current Elem object.
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.
A Point defines a location in LIBMESH_DIM dimensional Real space.
unsigned int n_points() const
virtual void attach_output_assembly(std::vector< std::unique_ptr< ElemAssembly > > &output_assembly)
Attach ElemAssembly object for an output (both interior and boundary assembly).
void attach_A_assembly(ElemAssembly *Aq_assembly)
Attach ElemAssembly object for the left-hand side (both interior and boundary assembly).
void attach_F_assembly(ElemAssembly *Fq_assembly)
Attach ElemAssembly object for the right-hand side (both interior and boundary assembly).
This class is part of the rbOOmit framework.
Real get_value(const std::string ¶m_name) const
Get the value of the specified parameter, throw an error if it does not exist.
virtual void attach_F_theta(RBTheta *theta_q_f)
Attach a pointer to a functor object that defines one of the theta_q_a terms.
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.
virtual void attach_output_theta(std::vector< std::unique_ptr< RBTheta > > &theta_q_l)
Attach a vector of pointers to functor objects that define one of the outputs.
This class is part of the rbOOmit framework.
This extends RBAssemblyExpansion to provide an assembly expansion for the case of time-dependent PDEs...
void attach_M_assembly(ElemAssembly *A_q_assembly)
Attach ElemAssembly object for the time-derivative (both interior and boundary assembly).
This class stores the set of RBTheta functor objects that define the "parameter-dependent expansion" ...
virtual void attach_M_theta(RBTheta *theta_q_m)
Attach a pointer to a functor object that defines one of the theta_q_m terms.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void interior_assembly(FEMContext &c)
Perform the element interior assembly.
virtual void interior_assembly(FEMContext &c)
Perform the element interior assembly.
virtual void interior_assembly(FEMContext &c)
Perform the element interior assembly.
CDRBAssemblyExpansion()
Constructor.
CDRBThetaExpansion()
Constructor.
virtual void interior_assembly(FEMContext &c)
Perform the element interior assembly.
virtual void interior_assembly(FEMContext &c)
Perform the element interior assembly.
Output assembly object which computes the average value of the solution variable inside a user-provid...
virtual void interior_assembly(FEMContext &c)
Perform the element interior assembly.
OutputAssembly(Real min_x_in, Real max_x_in, Real min_y_in, Real max_y_in)
virtual Number evaluate(const RBParameters &)
Evaluate the functor object for the given parameter.
virtual Number evaluate(const RBParameters &mu)
Evaluate the functor object for the given parameter.
virtual Number evaluate(const RBParameters &mu)
Evaluate the functor object for the given parameter.