MAST
Multidisciplinary-design Adaptation and Sensitivity Toolkit (MAST)
MAST::HeavisideElemHomogenizedDensityFunction Class Reference

Detailed Description

Definition at line 29 of file heaviside_elem_homogenization_function.h.

#include <heaviside_elem_homogenization_function.h>

Inheritance diagram for MAST::HeavisideElemHomogenizedDensityFunction:
Collaboration diagram for MAST::HeavisideElemHomogenizedDensityFunction:

Public Member Functions

 HeavisideElemHomogenizedDensityFunction (const std::string &nm)
 
virtual ~HeavisideElemHomogenizedDensityFunction ()
 
virtual void initialize_element_volume_fraction_sensitivity (const MAST::FunctionBase &f)
 
virtual void initialize_element_volume_fractions ()
 
void set_smoothing_width (Real w)
 width over which the approximate Heaviside function is smoothed. More...
 
- Public Member Functions inherited from MAST::HomogenizedDensityFunctionBase
 HomogenizedDensityFunctionBase (const std::string &nm)
 
virtual ~HomogenizedDensityFunctionBase ()
 
virtual void clear_element_volume_fraction_sensitivity ()
 
virtual void clear_element_volume_fractions ()
 
virtual bool depends_on (const MAST::FunctionBase &f) const
 returns true if the function depends on the provided value More...
 
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 point, p, and time, t, and returns it in v. More...
 
Real get_elem_volume_fraction (const libMesh::Elem &e) const
 
const std::map< const libMesh::Elem *, Real > & get_elem_volume_fraction_map () const
 
Real get_elem_volume_fraction_sensitivity (const MAST::FunctionBase &f, const libMesh::Elem &e) const
 
const std::map< const libMesh::Elem *, Real > * get_elem_volume_fraction_sensitivity_map (const MAST::FunctionBase &f) const
 
virtual void init (MAST::SystemInitialization &level_set_sys, libMesh::MeshBase &analysis_mesh, MAST::FieldFunction< Real > &level_set, MAST::FilterBase &filter)
 
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. More...
 
- Public Member Functions inherited from MAST::FieldFunction< Real >
 FieldFunction (const std::string &nm)
 
virtual void derivative (const MAST::FunctionBase &f, Real &v) const
 calculates the value of the function derivative and returns it in v. More...
 
virtual void operator() (Real &v) const
 calculates the value of the function and returns it in v. More...
 
virtual void perturbation (Real &v) const
 calculates the perturbation and returns it in v. More...
 
virtual void perturbation (const libMesh::Point &p, const Real t, Real &v) const
 calculates the value of a perturbation in function at the specified point, p, and time, t, and returns it in v. More...
 
- Public Member Functions inherited from MAST::FunctionBase
 FunctionBase (const std::string &nm, const bool is_field_func)
 initializes the parameter to the given name More...
 
 FunctionBase (const MAST::FunctionBase &f)
 Copy constructor. More...
 
virtual ~FunctionBase ()
 virtual destructor More...
 
virtual bool is_shape_parameter () const
 
virtual bool is_topology_parameter () const
 
const std::string & name () const
 returns the name of this function More...
 
virtual void set_as_shape_parameter (bool f)
 
virtual void set_as_topology_parameter (bool f)
 

Protected Attributes

Real _width
 
- Protected Attributes inherited from MAST::HomogenizedDensityFunctionBase
libMesh::MeshBase * _analysis_mesh
 
std::map< const libMesh::Elem *, Real_elem_volume_fraction
 
std::map< const MAST::FunctionBase *, std::map< const libMesh::Elem *, Real > > _elem_volume_fraction_sensitivity
 
MAST::FilterBase_filter
 
MAST::FieldFunction< Real > * _level_set
 
MAST::SystemInitialization_level_set_sys
 
std::unique_ptr< libMesh::PointLocatorBase > _sub_point_locator
 
- Protected Attributes inherited from MAST::FunctionBase
std::set< const MAST::FunctionBase * > _functions
 set of functions that this function depends on More...
 
bool _is_field_func
 flag to store the nature of field function More...
 
bool _is_shape_parameter
 
bool _is_topology_parameter
 
std::string _name
 name of this parameter More...
 

Constructor & Destructor Documentation

◆ HeavisideElemHomogenizedDensityFunction()

MAST::HeavisideElemHomogenizedDensityFunction::HeavisideElemHomogenizedDensityFunction ( const std::string &  nm)

Definition at line 34 of file heaviside_elem_homogenization_function.cpp.

◆ ~HeavisideElemHomogenizedDensityFunction()

MAST::HeavisideElemHomogenizedDensityFunction::~HeavisideElemHomogenizedDensityFunction ( )
virtual

Definition at line 43 of file heaviside_elem_homogenization_function.cpp.

Member Function Documentation

◆ initialize_element_volume_fraction_sensitivity()

void MAST::HeavisideElemHomogenizedDensityFunction::initialize_element_volume_fraction_sensitivity ( const MAST::FunctionBase f)
virtual

◆ initialize_element_volume_fractions()

void MAST::HeavisideElemHomogenizedDensityFunction::initialize_element_volume_fractions ( )
virtual

◆ set_smoothing_width()

void MAST::HeavisideElemHomogenizedDensityFunction::set_smoothing_width ( Real  w)
inline

width over which the approximate Heaviside function is smoothed.

Note that this is the width fo the level-set function value, and not necessarily the width of the geometric element. For level-set functions that are initialized to have a unit gradient norm, these two would coincide. The default value is 0.1.

Definition at line 44 of file heaviside_elem_homogenization_function.h.

Member Data Documentation

◆ _width

Real MAST::HeavisideElemHomogenizedDensityFunction::_width
protected

Definition at line 53 of file heaviside_elem_homogenization_function.h.


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