26 #ifndef GRINS_INTEGRATED_FUNCTION_H
27 #define GRINS_INTEGRATED_FUNCTION_H
30 #include "libmesh/quadrature.h"
31 #include "libmesh/exact_solution.h"
52 template<
typename Function>
69 IntegratedFunction(
const GetPot & input,
unsigned int p_level, SharedPtr<Function> f,
const std::string & input_qoi_string,
const std::string & qoi_name);
86 const unsigned int qoi_index );
93 const unsigned int qoi_index );
96 virtual void init(
const GetPot & input,
98 unsigned int qoi_num );
113 SharedPtr<Function>
_f;
123 const libMesh::Real JxW,
const unsigned int qoi_index);
130 template<
typename Function>
137 template<
typename Function>
144 #endif //GRINS_INTEGRATED_FUNCTION_H
virtual void reinit(MultiphysicsSystem &system)
Reinitialize the rayfire.
virtual QoIBase * clone() const
Required to provide clone (deep-copy) for adding QoI object to libMesh objects.
libMesh::UniquePtr< RayfireMesh > _rayfire
Pointer to RayfireMesh object.
libMesh::Real qoi_value(Function &f, AssemblyContext &context, const libMesh::Point &xyz)
Compute the value of a QoI at a QP.
unsigned int _p_level
Quadrature order.
virtual bool assemble_on_sides() const
Does the QoI need a domain boundary assembly loop?
virtual void element_qoi(AssemblyContext &context, const unsigned int qoi_index)
Compute the qoi value.
void qoi_derivative(Function &f, AssemblyContext &context, const libMesh::Point &qp_xyz, const libMesh::Real JxW, const unsigned int qoi_index)
Compute derivatiuves at QP.
virtual void init(const GetPot &input, const MultiphysicsSystem &system, unsigned int qoi_num)
Initializes the rayfire with the mesh from system.
Interface with libMesh for solving Multiphysics problems.
virtual bool assemble_on_interior() const
Does the QoI need an element interior assembly loop?
const RayfireMesh & get_rayfire()
virtual void element_qoi_derivative(AssemblyContext &context, const unsigned int qoi_index)
Compute the qoi derivative with respect to the solution.
SharedPtr< Function > _f
Pointer to the template class used for function evaluation.
IntegratedFunction()
User cannot call empty constructor.