MAST
MAST::FilterBase Class Reference

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 $ \tilde{\phi}_i = B_{ij} \phi_j $. More...
 

Detailed Description

Creates a geometric filter for the level-set design variables.

Definition at line 39 of file filter_base.h.

Constructor & Destructor Documentation

MAST::FilterBase::FilterBase ( libMesh::System &  sys,
const Real  radius,
const std::set< unsigned int > &  dv_dof_ids 
)

Definition at line 33 of file filter_base.cpp.

Here is the call graph for this function:

MAST::FilterBase::~FilterBase ( )
virtual

Definition at line 47 of file filter_base.cpp.

Member Function Documentation

void MAST::FilterBase::_init ( )
protected

initializes the algebraic data structures

Definition at line 152 of file filter_base.cpp.

Here is the caller graph for this function:

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.

void MAST::FilterBase::compute_filtered_values ( const std::vector< Real > &  input,
std::vector< Real > &  output 
) const

Definition at line 93 of file filter_base.cpp.

Here is the call graph for this function:

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.

Here is the caller graph for this function:

void MAST::FilterBase::print ( std::ostream &  o) const
virtual

prints the filter data.

Definition at line 229 of file filter_base.cpp.

Member Data Documentation

const std::set<unsigned int>& MAST::FilterBase::_dv_dof_ids
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.

std::map<unsigned int, std::vector<std::pair<unsigned int, Real> > > MAST::FilterBase::_filter_map
protected

Algebraic relation between filtered level set values and the design variables $ \tilde{\phi}_i = B_{ij} \phi_j $.

Definition at line 111 of file filter_base.h.

Real MAST::FilterBase::_level_set_fe_size
protected

largest element size in the level set mesh

Definition at line 99 of file filter_base.h.

libMesh::System& MAST::FilterBase::_level_set_system
protected

system on which the level set discrete function is defined

Definition at line 88 of file filter_base.h.

Real MAST::FilterBase::_radius
protected

radius of the filter.

Definition at line 93 of file filter_base.h.


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