MAST
|
Creates a geometric filter for the level-set design variables. More...
#include <filter_base.h>
Public Member Functions | |
FilterBase (libMesh::System &sys, const Real radius, const std::set< unsigned int > &dv_dof_ids) | |
virtual | ~FilterBase () |
void | compute_filtered_values (const libMesh::NumericVector< Real > &input, libMesh::NumericVector< Real > &output) const |
computes the filtered output from the provided input. More... | |
void | compute_filtered_values (const std::vector< Real > &input, std::vector< Real > &output) const |
bool | if_elem_in_domain_of_influence (const libMesh::Elem &elem, const libMesh::Node &level_set_node) const |
function identifies if the given element is within the domain of influence of this specified level set design variable. More... | |
virtual void | print (std::ostream &o) const |
prints the filter data. More... | |
Protected Member Functions | |
void | _init () |
initializes the algebraic data structures More... | |
Protected Attributes | |
libMesh::System & | _level_set_system |
system on which the level set discrete function is defined More... | |
Real | _radius |
radius of the filter. More... | |
Real | _level_set_fe_size |
largest element size in the level set mesh More... | |
const std::set< unsigned int > & | _dv_dof_ids |
dof ids that are design variables. More... | |
std::map< unsigned int, std::vector< std::pair< unsigned int, Real > > > | _filter_map |
Algebraic relation between filtered level set values and the design variables . More... | |
Creates a geometric filter for the level-set design variables.
Definition at line 39 of file filter_base.h.
MAST::FilterBase::FilterBase | ( | libMesh::System & | sys, |
const Real | radius, | ||
const std::set< unsigned int > & | dv_dof_ids | ||
) |
|
virtual |
Definition at line 47 of file filter_base.cpp.
|
protected |
initializes the algebraic data structures
Definition at line 152 of file filter_base.cpp.
void MAST::FilterBase::compute_filtered_values | ( | const libMesh::NumericVector< Real > & | input, |
libMesh::NumericVector< Real > & | output | ||
) | const |
computes the filtered output from the provided input.
Definition at line 53 of file filter_base.cpp.
bool MAST::FilterBase::if_elem_in_domain_of_influence | ( | const libMesh::Elem & | elem, |
const libMesh::Node & | level_set_node | ||
) | const |
function identifies if the given element is within the domain of influence of this specified level set design variable.
Currently, this is identified based on the filter radius, the distance of element nodes from the specified level set design variable location and the element sizes.
Definition at line 123 of file filter_base.cpp.
|
virtual |
prints the filter data.
Definition at line 229 of file filter_base.cpp.
|
protected |
dof ids that are design variables.
If a id is not in this set, then the dof value assumes its value from the input
Definition at line 105 of file filter_base.h.
|
protected |
Algebraic relation between filtered level set values and the design variables .
Definition at line 111 of file filter_base.h.
|
protected |
largest element size in the level set mesh
Definition at line 99 of file filter_base.h.
|
protected |
system on which the level set discrete function is defined
Definition at line 88 of file filter_base.h.
|
protected |
radius of the filter.
Definition at line 93 of file filter_base.h.