29 _level_set_sys (nullptr),
30 _analysis_mesh (nullptr),
45 libMesh::MeshBase& analysis_mesh,
68 const libMesh::Elem* e = (*_sub_point_locator)(p);
72 std::map<const libMesh::Elem*, Real>::const_iterator
85 const libMesh::Point& p,
const Real t,
Real& v)
const {
92 const libMesh::Elem* e = (*_sub_point_locator)(p);
104 std::map<const libMesh::Elem*, Real>::const_iterator
117 const libMesh::Elem& e)
const {
119 std::map<const MAST::FunctionBase*, std::map<const libMesh::Elem*, Real>>::const_iterator
124 std::map<const libMesh::Elem*, Real>::const_iterator
125 it_e = it_f->second.find(&e);
127 libmesh_assert (it_e != it_f->second.end());
133 const std::map<const libMesh::Elem*, Real>*
137 std::map<const MAST::FunctionBase*, std::map<const libMesh::Elem*, Real>>::const_iterator
141 return &(it->second);
MAST::FilterBase * _filter
const std::map< const libMesh::Elem *, Real > * get_elem_volume_fraction_sensitivity_map(const MAST::FunctionBase &f) const
This creates the base class for functions that have a saptial and temporal dependence, and provide sensitivity operations with respect to the functions and parameters.
Real get_elem_volume_fraction(const libMesh::Elem &e) const
Creates a geometric filter for the level-set design variables.
virtual void init(MAST::SystemInitialization &level_set_sys, libMesh::MeshBase &analysis_mesh, MAST::FieldFunction< Real > &level_set, MAST::FilterBase &filter)
MAST::SystemInitialization * _level_set_sys
std::map< const MAST::FunctionBase *, std::map< const libMesh::Elem *, Real > > _elem_volume_fraction_sensitivity
virtual void derivative(const MAST::FunctionBase &f, const libMesh::Point &p, const Real t, Real &v) const
calculates the value of the derivative of function with respect to the function f at the specified po...
std::map< const libMesh::Elem *, Real > _elem_volume_fraction
std::unique_ptr< libMesh::PointLocatorBase > _sub_point_locator
Real get_elem_volume_fraction_sensitivity(const MAST::FunctionBase &f, const libMesh::Elem &e) const
HomogenizedDensityFunctionBase(const std::string &nm)
virtual void operator()(const libMesh::Point &p, const Real t, Real &v) const
calculates the value of the function at the specified point, p, and time, t, and returns it in v...
libMesh::MeshBase * _analysis_mesh
MAST::FieldFunction< Real > * _level_set
virtual ~HomogenizedDensityFunctionBase()