28 class FiniteElementState;
29 class FiniteElementDual;
55 const std::vector<ConstQuadratureFieldPtr>& quad_fields = {})
const = 0;
67 virtual std::unique_ptr<mfem::HypreParMatrix>
jacobian(
69 const std::vector<double>& field_argument_tangents,
70 const std::vector<ConstQuadratureFieldPtr>& quad_fields = {})
const = 0;
85 const std::vector<ConstQuadratureFieldPtr>& quad_fields,
ConstFieldPtr v_shape_disp,
86 const std::vector<ConstFieldPtr>& v_fields,
87 const std::vector<ConstQuadratureFieldPtr>& v_quad_fields,
DualFieldPtr jvp_reaction)
const = 0;
102 const std::vector<ConstQuadratureFieldPtr>& quad_fields,
ConstFieldPtr v_field,
103 DualFieldPtr vjp_shape_disp_sensitivity,
const std::vector<DualFieldPtr>& vjp_sensitivities,
104 const std::vector<QuadratureFieldPtr>& vjp_quadrature_sensivities)
const = 0;
107 std::string
name()
const {
return name_; }
Class for encapsulating the dual vector space of a finite element space (i.e. the space of linear for...
A file defining some enums and structs that are used by the different physics modules.
Defines common types and helper functions for using the residual and scalar_objective classes.
Accelerator functionality.
const double * ConstQuadratureFieldPtr
This is a placeholder for const quadrature field pointers.
double * QuadratureFieldPtr
This is a placeholder for quadrature field pointers.
double QuadratureField
This is a placeholder for quadrature fields.
FiniteElementState const * ConstFieldPtr
using
struct storing time and timestep information