|
Plugins
|
#include <ls_volume.h>
Classes | |
| struct | AddVolumes |
| helper class for the computation of the volumes More... | |
| struct | AddWeightedVolumes |
| helper class for the computation of the weighted volumes More... | |
Public Types | |
| typedef grid_func_type::algebra_type | algebra_type |
| algebra type | |
| typedef grid_func_type::domain_type | domain_type |
| domain type | |
| typedef TGridFunc | grid_func_type |
| grid function type | |
| typedef domain_type::position_accessor_type | position_accessor_type |
| type of the position accessor | |
| typedef LSVolume< TGridFunc > | this_type |
| 'this' type | |
Public Member Functions | |
| void | check_positivity (bool v) |
| set the check-positivity flag | |
| void | compute () |
| computes the volumes | |
| void | compute (SmartPtr< UserData< number, dim > > spDensity) |
| computes the weights (weighted volumes) without the time argument | |
| void | compute (SmartPtr< UserData< number, dim > > spDensity, number time) |
| computes the weights (weighted volumes) | |
| LSVolume (SmartPtr< grid_func_type > spLSF) | |
| class constructor | |
| void | on_subsets (const char *ss_names) |
| sets the subsets to restrict the computation on | |
| void | print_details () const |
| prints the details | |
| void | volume_in_subsets (const char *ss_names, number &vol_plus, number &vol_minus) const |
| extracts the volumes enclosed in given subsets | |
| number | volume_minus () const |
| returns the volume of the negative part | |
| number | volume_minus_in_subsets (const char *ss_names) const |
| returns the volume in the negative part of subsets | |
| number | volume_plus () const |
| returns the volume in the positive part | |
| number | volume_plus_in_subsets (const char *ss_names) const |
| returns the volume in the positive part of subsets | |
Static Public Attributes | |
| static const int | dim = domain_type::dim |
| world dimension | |
Private Member Functions | |
| template<typename TElem > | |
| void | add_volumes_of_all () |
| adds contributions of all elements of a given type | |
| template<typename TElem > | |
| void | add_volumes_of_all (UserData< number, dim > *pDensity, number time) |
| adds weighted contributions of all elements of a given type | |
| void | allreduce_volumes () |
Private Attributes | |
| bool | m_check_positivity |
| if to check the positivity of the volumes in the elements | |
| SmartPtr< TGridFunc > | m_spLSF |
| the specified LSF | |
| std::vector< number > | m_ss_vol_minus |
| volume in the 'negative' subsets | |
| std::vector< number > | m_ss_vol_plus |
| volume in the 'positive' subsets | |
| SubsetGroup | m_ssGrp |
| the subset group (if subsets specified) | |
| number | m_volume_minus |
| computed volume in the "negative part" of the domain | |
| number | m_volume_plus |
| computed volume in the "positive part" of the domain | |
A class for computation of the volume of the parts of the domain separated by the level set.
| TGridFunc | type of the grid function for the LSF |
| typedef grid_func_type::algebra_type ug::LevelSet::LSVolume< TGridFunc >::algebra_type |
algebra type
| typedef grid_func_type::domain_type ug::LevelSet::LSVolume< TGridFunc >::domain_type |
domain type
| typedef TGridFunc ug::LevelSet::LSVolume< TGridFunc >::grid_func_type |
grid function type
| typedef domain_type::position_accessor_type ug::LevelSet::LSVolume< TGridFunc >::position_accessor_type |
type of the position accessor
| typedef LSVolume<TGridFunc> ug::LevelSet::LSVolume< TGridFunc >::this_type |
'this' type
|
inline |
class constructor
| spLSF | the grid function with the LSF |
|
private |
adds contributions of all elements of a given type
Sums up the (partial) volumes of all the elements of one type.
References ug::LevelSet::LSElementSize< TRefElem, WDim >::compute(), ug::DoFRef(), UG_LOG, and UG_THROW.
|
private |
adds weighted contributions of all elements of a given type
Sums up the (partial) volumes of all the elements of one type with weights.
| pDensity | the weight (density) function |
| time | the time argument for the density |
References ug::LevelSet::LSElementSize< TRefElem, WDim >::compute(), ug::DoFRef(), UG_LOG, and UG_THROW.
|
private |
Sum up the volumes from different processes
References pcl::ProcessCommunicator::allreduce(), and PCL_RO_SUM.
|
inline |
set the check-positivity flag
References ug::LevelSet::LSVolume< TGridFunc >::m_check_positivity.
| void ug::LevelSet::LSVolume< TGridFunc >::compute | ( | ) |
computes the volumes
Sums up the (partial) volumes of all the elements of all the types.
Referenced by ug::LevelSet::LSVolume< TGridFunc >::compute().
|
inline |
computes the weights (weighted volumes) without the time argument
| spDensity | the weight (density) function |
References ug::LevelSet::LSVolume< TGridFunc >::compute().
| void ug::LevelSet::LSVolume< TGridFunc >::compute | ( | SmartPtr< UserData< number, dim > > | spDensity, |
| number | time | ||
| ) |
computes the weights (weighted volumes)
Sums up the (partial) weights (weighted volumes) of all the elements of all the types.
| spDensity | the weight (density) function |
| time | the time argument for the density |
| void ug::LevelSet::LSVolume< TGridFunc >::on_subsets | ( | const char * | ss_names | ) |
sets the subsets to restrict the computation on
Initializes the subsets group to restrict the computation to the specified subsets.
| ss_names | names of the subsets |
References ug::TokenizeString().
| void ug::LevelSet::LSVolume< TGridFunc >::print_details | ( | ) | const |
| void ug::LevelSet::LSVolume< TGridFunc >::volume_in_subsets | ( | const char * | ss_names, |
| number & | vol_plus, | ||
| number & | vol_minus | ||
| ) | const |
extracts the volumes enclosed in given subsets
Extracts the volumes enclosed in given subsets
| ss_names | name of the subset |
| vol_plus | the "positive" volume |
| vol_minus | the "negative" volume |
References ug::SubsetGroup::add(), ug::SubsetGroup::size(), and ug::TokenizeString().
Referenced by ug::LevelSet::LSVolume< TGridFunc >::volume_minus_in_subsets(), and ug::LevelSet::LSVolume< TGridFunc >::volume_plus_in_subsets().
|
inline |
returns the volume of the negative part
References ug::LevelSet::LSVolume< TGridFunc >::m_volume_minus.
|
inline |
returns the volume in the negative part of subsets
| ss_names | name of the subset |
References ug::LevelSet::LSVolume< TGridFunc >::volume_in_subsets().
|
inline |
returns the volume in the positive part
References ug::LevelSet::LSVolume< TGridFunc >::m_volume_plus.
|
inline |
returns the volume in the positive part of subsets
| ss_names | name of the subset |
References ug::LevelSet::LSVolume< TGridFunc >::volume_in_subsets().
|
static |
world dimension
|
private |
if to check the positivity of the volumes in the elements
Referenced by ug::LevelSet::LSVolume< TGridFunc >::check_positivity().
|
private |
the specified LSF
|
private |
volume in the 'negative' subsets
|
private |
volume in the 'positive' subsets
|
private |
the subset group (if subsets specified)
|
private |
computed volume in the "negative part" of the domain
Referenced by ug::LevelSet::LSVolume< TGridFunc >::volume_minus().
|
private |
computed volume in the "positive part" of the domain
Referenced by ug::LevelSet::LSVolume< TGridFunc >::volume_plus().