|
Plugins
|
#include <ls_integral.h>
Classes | |
| struct | AddIntegrals |
| helper class for the computation of the volumes More... | |
Public Types | |
| typedef gf_type::algebra_type | algebra_type |
| algebra type | |
| typedef gf_type::domain_type | domain_type |
| domain type | |
| typedef TGridFunction | gf_type |
| type of the grid function | |
| typedef GridFunction< domain_type, lsf_algebra_type > | ls_gf_type |
| grid function type for the LSF | |
| typedef CPUAlgebra | lsf_algebra_type |
| algebra type for the LSF | |
| typedef domain_type::position_accessor_type | position_accessor_type |
| type of the position accessor | |
| typedef FVLSIntegral< gf_type > | this_type |
| this type | |
Public Member Functions | |
| void | compute_for (SmartPtr< gf_type > sp_gf, const char *fct_name) |
| computes the integrals | |
| FVLSIntegral (SmartPtr< ls_gf_type > sp_lsf) | |
| Constructor. | |
| number | integral () const |
| return the integral over the entire negative subdomain | |
| number | integral_over_subsets (const char *ss_names) const |
| returns the integral over the negative part of subsets | |
| void | on_subsets (const char *ss_names) |
| sets the subsets to restrict the computation on | |
| virtual | ~FVLSIntegral () |
| Destructor. | |
Static Public Attributes | |
| static const int | dim = gf_type::dim |
| world dimension | |
Private Member Functions | |
| template<typename TElem > | |
| void | add_integrals_of_all () |
| adds contributions of all elements of a given type | |
Private Attributes | |
| size_t | m_fct |
| the function inside of the grid function | |
| number | m_integral |
| the entire integral | |
| SmartPtr< gf_type > | m_sp_gf |
| the grid function | |
| SmartPtr< ls_gf_type > | m_spLSF |
| the specified LSF | |
| std::vector< number > | m_ss_integral |
| integrals over the subsets | |
| SubsetGroup | m_ssGrp |
| the subset group (if subsets specified) | |
Class for integration of a grid function in the finite volumes (of the Donald diagrams).
This class computes the integral of a given grid function over the given full-dim. subsets.
| TGridFunc | type of the grid function with the values to integrade |
| typedef gf_type::algebra_type ug::LevelSet::FVLSIntegral< TGridFunction >::algebra_type |
algebra type
| typedef gf_type::domain_type ug::LevelSet::FVLSIntegral< TGridFunction >::domain_type |
domain type
| typedef TGridFunction ug::LevelSet::FVLSIntegral< TGridFunction >::gf_type |
type of the grid function
| typedef GridFunction<domain_type, lsf_algebra_type> ug::LevelSet::FVLSIntegral< TGridFunction >::ls_gf_type |
grid function type for the LSF
| typedef CPUAlgebra ug::LevelSet::FVLSIntegral< TGridFunction >::lsf_algebra_type |
algebra type for the LSF
| typedef domain_type::position_accessor_type ug::LevelSet::FVLSIntegral< TGridFunction >::position_accessor_type |
type of the position accessor
| typedef FVLSIntegral<gf_type> ug::LevelSet::FVLSIntegral< TGridFunction >::this_type |
this type
|
inline |
Constructor.
| sp_lsf | the leve-set function (if any) |
|
inlinevirtual |
Destructor.
|
private |
adds contributions of all elements of a given type
Sums up the (partial) integrals of all the elements of one type.
References ug::DoFRef(), ug::GridFunction< typename TDomain, typename TAlgebra >::domain(), ug::GeomProvider< typename TGeom >::get(), ug::GridFunction< typename TDomain, typename TAlgebra >::inner_dof_indices(), ug::DoFDistributionInfoProvider::num_subsets(), UG_CATCH_THROW, and UG_THROW.
| void ug::LevelSet::FVLSIntegral< TGridFunc >::compute_for | ( | SmartPtr< gf_type > | sp_gf, |
| const char * | fct_name | ||
| ) |
computes the integrals
Sums up the (partial) integrals of all the elements of all the types.
| sp_gf | the grid function |
| fct_name | 'function' to take the data from |
References pcl::ProcessCommunicator::allreduce(), ug::LFEID::LAGRANGE, PCL_RO_SUM, and UG_THROW.
|
inline |
return the integral over the entire negative subdomain
References ug::LevelSet::FVLSIntegral< TGridFunction >::m_integral.
| number ug::LevelSet::FVLSIntegral< TGridFunc >::integral_over_subsets | ( | const char * | ss_names | ) | const |
returns the integral over the negative part of subsets
Extracts the integral over the given subsets
| ss_names | name of the subset |
References ug::SubsetGroup::add(), ug::SubsetGroup::size(), and ug::TokenizeString().
|
inline |
sets the subsets to restrict the computation on
| ss_names | names of the subsets |
References ug::SubsetGroup::add(), ug::LevelSet::FVLSIntegral< TGridFunction >::m_sp_gf, ug::LevelSet::FVLSIntegral< TGridFunction >::m_ssGrp, ug::SubsetGroup::set_subset_handler(), and ug::TokenizeString().
|
static |
world dimension
|
private |
the function inside of the grid function
|
private |
the entire integral
Referenced by ug::LevelSet::FVLSIntegral< TGridFunction >::integral().
|
private |
the grid function
Referenced by ug::LevelSet::FVLSIntegral< TGridFunction >::on_subsets().
|
private |
the specified LSF
|
private |
integrals over the subsets
|
private |
the subset group (if subsets specified)
Referenced by ug::LevelSet::FVLSIntegral< TGridFunction >::on_subsets().