Smith  0.1
Smith is an implicit thermal structural mechanics simulation code.
Public Member Functions | List of all members
smith::ScalarObjective Class Referenceabstract

Abstract residual class. More...

#include <scalar_objective.hpp>

Public Member Functions

 ScalarObjective (const std::string &name)
 base constructor takes the name of the physics
 
virtual ~ScalarObjective ()
 destructor
 
virtual double evaluate (double time, double dt, ConstFieldPtr shape_disp, const std::vector< ConstFieldPtr > &fields) const =0
 Virtual interface for computing the scale value for the objective/constrant, given a vector of smith::FiniteElementState*. More...
 
virtual mfem::Vector gradient (double time, double dt, ConstFieldPtr shape_disp, const std::vector< ConstFieldPtr > &fields, int field_ordinal) const =0
 Virtual interface for computing objective gradient from a vector of smith::FiniteElementState*. More...
 
virtual mfem::Vector mesh_coordinate_gradient (double time, double dt, ConstFieldPtr shape_disp, const std::vector< ConstFieldPtr > &fields) const =0
 Virtual interface for computing objective gradient with respect to the mesh coordinates. More...
 
std::string name () const
 name
 

Detailed Description

Abstract residual class.

Definition at line 28 of file scalar_objective.hpp.

Member Function Documentation

◆ evaluate()

virtual double smith::ScalarObjective::evaluate ( double  time,
double  dt,
ConstFieldPtr  shape_disp,
const std::vector< ConstFieldPtr > &  fields 
) const
pure virtual

Virtual interface for computing the scale value for the objective/constrant, given a vector of smith::FiniteElementState*.

Parameters
timetime
dttime step
shape_dispshape displacement
fieldsinputs to residual operator
Returns
double which is the scalar objective value

Implemented in smith::FunctionalObjective< spatial_dim, Parameters< InputSpaces... >, std::integer_sequence< int, parameter_indices... > >.

◆ gradient()

virtual mfem::Vector smith::ScalarObjective::gradient ( double  time,
double  dt,
ConstFieldPtr  shape_disp,
const std::vector< ConstFieldPtr > &  fields,
int  field_ordinal 
) const
pure virtual

Virtual interface for computing objective gradient from a vector of smith::FiniteElementState*.

Parameters
timetime
dttime step
shape_dispshape displacement
fieldsinputs to residual operator
field_ordinalindex for which field to take the gradient with respect to
Returns
mfem::Vector

Implemented in smith::FunctionalObjective< spatial_dim, Parameters< InputSpaces... >, std::integer_sequence< int, parameter_indices... > >.

◆ mesh_coordinate_gradient()

virtual mfem::Vector smith::ScalarObjective::mesh_coordinate_gradient ( double  time,
double  dt,
ConstFieldPtr  shape_disp,
const std::vector< ConstFieldPtr > &  fields 
) const
pure virtual

Virtual interface for computing objective gradient with respect to the mesh coordinates.

Parameters
timetime
dttime step
shape_dispshape displacement
fieldsinputs to residual operator
Returns
mfem::Vector

Implemented in smith::FunctionalObjective< spatial_dim, Parameters< InputSpaces... >, std::integer_sequence< int, parameter_indices... > >.


The documentation for this class was generated from the following file: