36#ifndef __H__UG__PLUGINS__LEVEL_SET_LS_INTEGRAL_H__
37#define __H__UG__PLUGINS__LEVEL_SET_LS_INTEGRAL_H__
67template <
typename TGr
idFunction>
75 static const int dim = gf_type::dim;
111 const char * ss_names
122 const char * fct_name
128 const char * ss_names
140 template <
typename TElem>
158 m_pThis->template add_integrals_of_all<TElem> ();
182template <
typename TGr
idFunction>
190 static const int dim = gf_type::dim;
226 const char * ss_names
237 const char * fct_name,
244 const char * ss_names
250 const char * ss_names
268 template <
typename TElem>
286 m_pThis->template add_integrals_of_all<TElem> ();
311template <
typename TGr
idFunction>
319 static const int dim = gf_type::dim;
355 const char * ss_names
366 const char * fct_name
372 const char * ss_names
384 template <
typename TElem>
402 m_pThis->template add_integrals_of_all<TElem> ();
Definition ls_integral.h:313
SmartPtr< gf_type > m_sp_gf
the grid function
Definition ls_integral.h:408
FVLSIntegral(SmartPtr< ls_gf_type > sp_lsf)
Constructor.
Definition ls_integral.h:343
CPUAlgebra lsf_algebra_type
algebra type for the LSF
Definition ls_integral.h:334
std::vector< number > m_ss_integral
integrals over the subsets
Definition ls_integral.h:414
size_t m_fct
the function inside of the grid function
Definition ls_integral.h:409
number integral() const
return the integral over the entire negative subdomain
Definition ls_integral.h:376
SubsetGroup m_ssGrp
the subset group (if subsets specified)
Definition ls_integral.h:412
static const int dim
world dimension
Definition ls_integral.h:319
void compute_for(SmartPtr< gf_type > sp_gf, const char *fct_name)
computes the integrals
Definition ls_integral_impl.h:333
number m_integral
the entire integral
Definition ls_integral.h:415
GridFunction< domain_type, lsf_algebra_type > ls_gf_type
grid function type for the LSF
Definition ls_integral.h:337
void add_integrals_of_all()
adds contributions of all elements of a given type
Definition ls_integral_impl.h:389
virtual ~FVLSIntegral()
Destructor.
Definition ls_integral.h:350
domain_type::position_accessor_type position_accessor_type
type of the position accessor
Definition ls_integral.h:328
SmartPtr< ls_gf_type > m_spLSF
the specified LSF
Definition ls_integral.h:411
FVLSIntegral< gf_type > this_type
this type
Definition ls_integral.h:322
gf_type::algebra_type algebra_type
algebra type
Definition ls_integral.h:331
gf_type::domain_type domain_type
domain type
Definition ls_integral.h:325
void on_subsets(const char *ss_names)
sets the subsets to restrict the computation on
Definition ls_integral.h:354
TGridFunction gf_type
type of the grid function
Definition ls_integral.h:316
number integral_over_subsets(const char *ss_names) const
returns the integral over the negative part of subsets
Definition ls_integral_impl.h:371
Definition ls_integral.h:184
GridFunction< domain_type, lsf_algebra_type > ls_gf_type
grid function type for the LSF
Definition ls_integral.h:208
gf_type::domain_type domain_type
domain type
Definition ls_integral.h:196
SmartPtr< ls_gf_type > m_spLSF
the specified LSF
Definition ls_integral.h:296
std::vector< number > m_ss_gevol
integrals over the subsets for gf >= limval
Definition ls_integral.h:299
CPUAlgebra lsf_algebra_type
algebra type for the LSF
Definition ls_integral.h:205
virtual ~LSHeavisideIntegral()
Destructor.
Definition ls_integral.h:221
LSHeavisideIntegral(SmartPtr< ls_gf_type > sp_lsf)
Constructor.
Definition ls_integral.h:214
std::vector< number > m_ss_levol
integrals over the subsets for gf <= limval
Definition ls_integral.h:300
TGridFunction gf_type
type of the grid function
Definition ls_integral.h:187
domain_type::position_accessor_type position_accessor_type
type of the position accessor
Definition ls_integral.h:199
number ge_vol_over_subsets(const char *ss_names) const
returns the volume for gf >= limval over the given subsets
Definition ls_integral_impl.h:242
number m_gevol
Definition ls_integral.h:301
number m_levol
the entire integral for gf >= limval and gf <= limval
Definition ls_integral.h:301
number ge_vol() const
return the integral over the entire negative subdomain where gf <= limval
Definition ls_integral.h:260
number le_vol_over_subsets(const char *ss_names) const
returns the volume for gf <= limval over the given subsets
Definition ls_integral_impl.h:224
SubsetGroup m_ssGrp
the subset group (if subsets specified)
Definition ls_integral.h:297
static const int dim
world dimension
Definition ls_integral.h:190
size_t m_fct
the function inside of the grid function
Definition ls_integral.h:293
gf_type::algebra_type algebra_type
algebra type
Definition ls_integral.h:202
number m_limval
the switch value for the Heaviside function
Definition ls_integral.h:294
number le_vol() const
return the integral over the entire negative subdomain where gf <= limval
Definition ls_integral.h:254
SmartPtr< gf_type > m_sp_gf
the grid function
Definition ls_integral.h:292
LSHeavisideIntegral< gf_type > this_type
this type
Definition ls_integral.h:193
void add_integrals_of_all()
adds contributions of all elements of a given type
Definition ls_integral_impl.h:260
void on_subsets(const char *ss_names)
sets the subsets to restrict the computation on
Definition ls_integral.h:225
void compute_for(SmartPtr< gf_type > sp_gf, const char *fct_name, number limval)
computes the integrals
Definition ls_integral_impl.h:181
Definition ls_integral.h:69
LSIntegral(SmartPtr< ls_gf_type > sp_lsf)
Constructor.
Definition ls_integral.h:99
number integral_over_subsets(const char *ss_names) const
returns the integral over the negative part of subsets
Definition ls_integral_impl.h:93
LSIntegral< gf_type > this_type
this type
Definition ls_integral.h:78
SmartPtr< gf_type > m_sp_gf
the grid function
Definition ls_integral.h:164
GridFunction< domain_type, lsf_algebra_type > ls_gf_type
grid function type for the LSF
Definition ls_integral.h:93
void on_subsets(const char *ss_names)
sets the subsets to restrict the computation on
Definition ls_integral.h:110
domain_type::position_accessor_type position_accessor_type
type of the position accessor
Definition ls_integral.h:84
size_t m_fct
the function inside of the grid function
Definition ls_integral.h:165
TGridFunction gf_type
type of the grid function
Definition ls_integral.h:72
virtual ~LSIntegral()
Destructor.
Definition ls_integral.h:106
number m_integral
the entire integral
Definition ls_integral.h:171
void add_integrals_of_all()
adds contributions of all elements of a given type
Definition ls_integral_impl.h:111
gf_type::domain_type domain_type
domain type
Definition ls_integral.h:81
CPUAlgebra lsf_algebra_type
algebra type for the LSF
Definition ls_integral.h:90
std::vector< number > m_ss_integral
integrals over the subsets
Definition ls_integral.h:170
void compute_for(SmartPtr< gf_type > sp_gf, const char *fct_name)
computes the integrals
Definition ls_integral_impl.h:55
number integral() const
return the integral over the entire negative subdomain
Definition ls_integral.h:132
gf_type::algebra_type algebra_type
algebra type
Definition ls_integral.h:87
SubsetGroup m_ssGrp
the subset group (if subsets specified)
Definition ls_integral.h:168
static const int dim
world dimension
Definition ls_integral.h:75
SmartPtr< ls_gf_type > m_spLSF
the specified LSF
Definition ls_integral.h:167
void add(const char *name)
void set_subset_handler(ConstSmartPtr< ISubsetHandler > sh)
vector< string > TokenizeString(const char *str, const char delimiter=',')
helper class for the computation of the volumes
Definition ls_integral.h:389
void operator()(TElem)
computation of the volume for all elements of the given type
Definition ls_integral.h:400
this_type * m_pThis
Definition ls_integral.h:390
AddIntegrals(this_type *pThis)
constructor
Definition ls_integral.h:394
helper class for the computation of the volumes
Definition ls_integral.h:273
this_type * m_pThis
Definition ls_integral.h:274
AddIntegrals(this_type *pThis)
constructor
Definition ls_integral.h:278
void operator()(TElem)
computation of the volume for all elements of the given type
Definition ls_integral.h:284
helper class for the computation of the volumes
Definition ls_integral.h:145
AddIntegrals(this_type *pThis)
constructor
Definition ls_integral.h:150
this_type * m_pThis
Definition ls_integral.h:146
void operator()(TElem)
computation of the volume for all elements of the given type
Definition ls_integral.h:156