3 #include "libmesh/system.h" 15 FEMContext & c = cast_ref<FEMContext &>(context);
19 FEBase * elem_fe =
nullptr;
32 FEMContext & c = cast_ref<FEMContext &>(context);
34 FEBase * elem_fe =
nullptr;
38 const std::vector<Real> & JxW = elem_fe->get_JxW();
40 const std::vector<Point> & xyz = elem_fe->get_xyz();
47 for (
unsigned int qp = 0; qp != n_qpoints; qp++)
50 const Real xf = xyz[qp](0);
51 const Real yf = xyz[qp](1);
54 if (std::abs(xf - 0.875) <= 0.125 && std::abs(yf - 0.125) <= 0.125)
60 dQoI_0 += JxW[qp] * T;
73 FEMContext & c = cast_ref<FEMContext &>(context);
77 FEBase * elem_fe =
nullptr;
81 const std::vector<Real> & JxW = elem_fe->get_JxW();
84 const std::vector<std::vector<Real>> & phi = elem_fe->get_phi();
87 const std::vector<Point > & q_point = elem_fe->get_xyz();
99 for (
unsigned int qp=0; qp != n_qpoints; qp++)
101 const Real x = q_point[qp](0);
102 const Real y = q_point[qp](1);
106 if (std::abs(x - 0.875) <= 0.125 && std::abs(y - 0.125) <= 0.125)
107 for (
unsigned int i=0; i != n_T_dofs; i++)
108 Q(i) += JxW[qp]*phi[i][qp];
const std::vector< Number > & get_qois() const
Const accessor for QoI vector.
Number interior_value(unsigned int var, unsigned int qp) const
This class provides all data required for a physics package (e.g.
Data structure for specifying which Quantities of Interest should be calculated in an adjoint or a pa...
unsigned int n_dof_indices() const
Total number of dof indices on the element.
void init_qois(unsigned int n_qois)
Accessors for qoi and qoi_error_estimates vectors.
The libMesh namespace provides an interface to certain functionality in the library.
Defines a dense subvector for use in finite element computations.
virtual void element_qoi(DiffContext &context, const QoISet &qois)
Does any work that needs to be done on elem in a quantity of interest assembly loop, outputting to elem_qoi.
virtual void init_context(DiffContext &context)
Prepares the result of a build_context() call for use.
Manages consistently variables, degrees of freedom, and coefficient vectors.
This class provides all data required for a physics package (e.g.
unsigned int n_points() const
virtual void init_qoi_count(System &sys)
Initialize system qoi.
virtual void element_qoi_derivative(DiffContext &context, const QoISet &qois)
Does any work that needs to be done on elem in a quantity of interest derivative assembly loop...
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...
const std::vector< DenseVector< Number > > & get_qoi_derivatives() const
Const accessor for QoI derivatives.
This class forms the foundation from which generic finite elements may be derived.
const QBase & get_element_qrule() const
Accessor for element interior quadrature rule for the dimension of the current _elem.