ug4
ug::CompositeSpace< TGridFunction > Class Template Reference

Defines a composite space, (i.e., additive composition from other spaces) More...

#include <metric_spaces.h>

+ Inheritance diagram for ug::CompositeSpace< TGridFunction >:

Public Types

typedef IGridFunctionSpace< TGridFunction > base_type
 
typedef IComponentSpace< TGridFunction > obj_type
 
typedef TimeDependentSpace< TGridFunction > time_dependent_obj_type
 
typedef std::pair< SmartPtr< obj_type >, numberweighted_obj_type
 
- Public Types inherited from ug::IGridFunctionSpace< TGridFunction >
typedef TGridFunction grid_function_type
 
typedef TGridFunction::vector_type vector_type
 

Public Member Functions

void add (SmartPtr< obj_type > spSubSpace)
 add space to composite (with weight 1.0) More...
 
void add (SmartPtr< obj_type > spSubSpace, number sigma)
 add space to composite (with variable weight) More...
 
 CompositeSpace ()
 
std::string config_string () const
 print config string
More...
 
double distance (TGridFunction &uFine, TGridFunction &uCoarse)
 
virtual double distance (TGridFunction &x, TGridFunction &y)=0
 distance (for grid functions) More...
 
virtual double distance (vector_type &x, vector_type &y)
 OVERRIDE distance (for vectors) More...
 
double distance2 (TGridFunction &uFine, TGridFunction &uCoarse)
 
const std::vector< weighted_obj_type > & get_subspaces () const
 
bool is_time_dependent () const
 Check, if any object is time-dependent. More...
 
double norm (TGridFunction &uFine)
 norm (for grid functions) More...
 
virtual double norm (TGridFunction &x)=0
 norm (for grid functions) More...
 
virtual double norm (vector_type &x)
 OVERRIDE norm (for vectors) More...
 
double norm2 (TGridFunction &uFine)
 
void update_time_data (number t)
 Forward update to all members. More...
 
- Public Member Functions inherited from ug::IGridFunctionSpace< TGridFunction >
virtual double distance (vector_type &x, vector_type &y)
 OVERRIDE distance (for vectors) More...
 
virtual double norm (vector_type &x)
 OVERRIDE norm (for vectors) More...
 
virtual double scaling () const
 
virtual ~IGridFunctionSpace ()
 DTOR. More...
 
- Public Member Functions inherited from ug::IBanachSpace< TGridFunction::vector_type >
virtual ~IBanachSpace ()
 

Protected Attributes

std::vector< weighted_obj_typem_spWeightedSubspaces
 

Detailed Description

template<typename TGridFunction>
class ug::CompositeSpace< TGridFunction >

Defines a composite space, (i.e., additive composition from other spaces)

Employs a l2-type extension: | u |^2 := \sum_I \sigma_I | u |_I^2 TODO: Merge with ApproximationSpace?

Member Typedef Documentation

◆ base_type

template<typename TGridFunction >
typedef IGridFunctionSpace<TGridFunction> ug::CompositeSpace< TGridFunction >::base_type

◆ obj_type

template<typename TGridFunction >
typedef IComponentSpace<TGridFunction> ug::CompositeSpace< TGridFunction >::obj_type

◆ time_dependent_obj_type

template<typename TGridFunction >
typedef TimeDependentSpace<TGridFunction> ug::CompositeSpace< TGridFunction >::time_dependent_obj_type

◆ weighted_obj_type

template<typename TGridFunction >
typedef std::pair<SmartPtr<obj_type>, number> ug::CompositeSpace< TGridFunction >::weighted_obj_type

Constructor & Destructor Documentation

◆ CompositeSpace()

template<typename TGridFunction >
ug::CompositeSpace< TGridFunction >::CompositeSpace ( )
inline

Member Function Documentation

◆ add() [1/2]

template<typename TGridFunction >
void ug::CompositeSpace< TGridFunction >::add ( SmartPtr< obj_type spSubSpace)
inline

add space to composite (with weight 1.0)

References ug::CompositeSpace< TGridFunction >::m_spWeightedSubspaces.

◆ add() [2/2]

template<typename TGridFunction >
void ug::CompositeSpace< TGridFunction >::add ( SmartPtr< obj_type spSubSpace,
number  sigma 
)
inline

add space to composite (with variable weight)

References ug::CompositeSpace< TGridFunction >::m_spWeightedSubspaces.

◆ config_string()

template<typename TGridFunction >
std::string ug::CompositeSpace< TGridFunction >::config_string ( ) const
inlinevirtual

◆ distance() [1/3]

template<typename TGridFunction >
double ug::CompositeSpace< TGridFunction >::distance ( TGridFunction &  uFine,
TGridFunction &  uCoarse 
)
inlinevirtual

◆ distance() [2/3]

template<typename TGridFunction >
virtual double ug::IGridFunctionSpace< TGridFunction >::distance

distance (for grid functions)

◆ distance() [3/3]

template<typename TGridFunction >
virtual double ug::IGridFunctionSpace< TGridFunction >::distance
inline

OVERRIDE distance (for vectors)

◆ distance2()

template<typename TGridFunction >
double ug::CompositeSpace< TGridFunction >::distance2 ( TGridFunction &  uFine,
TGridFunction &  uCoarse 
)
inlinevirtual

◆ get_subspaces()

template<typename TGridFunction >
const std::vector<weighted_obj_type>& ug::CompositeSpace< TGridFunction >::get_subspaces ( ) const
inline

◆ is_time_dependent()

template<typename TGridFunction >
bool ug::CompositeSpace< TGridFunction >::is_time_dependent ( ) const
inline

◆ norm() [1/3]

template<typename TGridFunction >
double ug::CompositeSpace< TGridFunction >::norm ( TGridFunction &  uFine)
inlinevirtual

◆ norm() [2/3]

template<typename TGridFunction >
virtual double ug::IGridFunctionSpace< TGridFunction >::norm

norm (for grid functions)

◆ norm() [3/3]

template<typename TGridFunction >
virtual double ug::IGridFunctionSpace< TGridFunction >::norm
inline

OVERRIDE norm (for vectors)

◆ norm2()

template<typename TGridFunction >
double ug::CompositeSpace< TGridFunction >::norm2 ( TGridFunction &  uFine)
inlinevirtual

◆ update_time_data()

template<typename TGridFunction >
void ug::CompositeSpace< TGridFunction >::update_time_data ( number  t)
inline

Member Data Documentation

◆ m_spWeightedSubspaces


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