ug4
ug::TruncatedMonotoneTransfer< TDomain, TAlgebra > Class Template Reference

#include <truncated_monotone_transfer.h>

+ Inheritance diagram for ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >:

Public Types

typedef TAlgebra algebra_type
 Type of algebra. More...
 
typedef StdTransfer< TDomain, TAlgebra > base_type
 base type More...
 
typedef TDomain domain_type
 Type of Domain. More...
 
typedef TAlgebra::matrix_type matrix_type
 Type of Matrix. More...
 
typedef TruncatedMonotoneTransfer< TDomain, TAlgebra > this_type
 This type. More...
 
typedef TAlgebra::vector_type vector_type
 Type of Vector. More...
 
- Public Types inherited from ug::StdTransfer< TDomain, TAlgebra >
typedef TAlgebra algebra_type
 Type of Algebra. More...
 
typedef ITransferOperator< TDomain, TAlgebra > base_type
 Type of base class. More...
 
typedef TDomain domain_type
 Type of Domain. More...
 
typedef GridFunction< TDomain, TAlgebra > GF
 Type of GridFunction. More...
 
typedef TAlgebra::matrix_type matrix_type
 Type of Matrix. More...
 
typedef TAlgebra::vector_type vector_type
 Type of Vector. More...
 
- Public Types inherited from ug::ITransferOperator< TDomain, TAlgebra >
typedef TDomain domain_type
 Domain type. More...
 
typedef TAlgebra::matrix_type matrix_type
 Matrix type. More...
 
typedef TAlgebra::vector_type vector_type
 Vector type. More...
 

Public Member Functions

SmartPtr< ITransferOperator< TDomain, TAlgebra > > clone ()
 Clone. More...
 
void init ()
 initialize the operator More...
 
SmartPtr< matrix_typeprolongation (const GridLevel &fineGL, const GridLevel &coarseGL, ConstSmartPtr< ApproximationSpace< TDomain > > spApproxSpace)
 returns prolongation as a matrix More...
 
SmartPtr< matrix_typerestriction (const GridLevel &coarseGL, const GridLevel &fineGL, ConstSmartPtr< ApproximationSpace< TDomain > > spApproxSpace)
 returns restriction as a matrix More...
 
void set_levels (GridLevel coarseLevel, GridLevel fineLevel)
 Set Levels for Prolongation coarse -> fine. More...
 
 TruncatedMonotoneTransfer ()
 Constructor. More...
 
- Public Member Functions inherited from ug::StdTransfer< TDomain, TAlgebra >
void do_restrict (GF &uCoarse, const GF &uFine)
 apply operator to a grid function More...
 
virtual void do_restrict (vector_type &uCoarse, const vector_type &uFine)
 apply transposed Operator, restrict function More...
 
void enable_p1_lagrange_optimization (bool enable)
 enables/disables an assembling optimization for p1-lagrange elements More...
 
bool p1_lagrange_optimization_enabled () const
 
void prolongate (GF &uFine, const GF &uCoarse)
 apply operator to a grid function More...
 
virtual void prolongate (vector_type &uFine, const vector_type &uCoarse)
 apply Operator, interpolate function More...
 
void set_debug (SmartPtr< IDebugWriter< TAlgebra > > spDebugWriter)
 set debug writer More...
 
void set_prolongation_damping (number damp)
 set prolongation damping (only applied on vector operation, not (!!) in assembled matrices) More...
 
void set_restriction_damping (number damp)
 set restriction damping (only applied on vector operation, not (!!) in assembled matrices) More...
 
void set_use_transposed (bool bTransposed)
 sets if restriction and prolongation are transposed More...
 
 StdTransfer ()
 Default constructor. More...
 
virtual ~StdTransfer ()
 virtual destructor More...
 
- Public Member Functions inherited from ug::ITransferOperator< TDomain, TAlgebra >
virtual void add_constraint (SmartPtr< IConstraint< TAlgebra > > pp)
 adds a dirichlet post process (not added if already registered) More...
 
virtual void clear_constraints ()
 clears dirichlet post processes More...
 
 ITransferOperator ()
 constructor More...
 
virtual void remove_constraint (SmartPtr< IConstraint< TAlgebra > > pp)
 removes a post process More...
 
virtual ~ITransferOperator ()
 virtual destructor More...
 

Private Attributes

bool m_bInit
 init flag More...
 
GridLevel m_coarseLevel
 coarse and fine Gridlevel More...
 
GridLevel m_fineLevel
 
std::vector< SmartPtr< IConstraint< TAlgebra > > > m_vConstraint
 list of post processes More...
 

Additional Inherited Members

- Protected Types inherited from ug::StdTransfer< TDomain, TAlgebra >
typedef std::map< TransferKey, SmartPtr< matrix_type > > TransferMap
 
- Protected Member Functions inherited from ug::StdTransfer< TDomain, TAlgebra >
template<typename TChild >
void assemble_prolongation (matrix_type &mat, const DoFDistribution &fineDD, const DoFDistribution &coarseDD, ConstSmartPtr< TDomain > spDomain)
 
void assemble_prolongation (matrix_type &mat, const DoFDistribution &fineDD, const DoFDistribution &coarseDD, ConstSmartPtr< TDomain > spDomain)
 
void assemble_prolongation_p1 (matrix_type &mat, const DoFDistribution &fineDD, const DoFDistribution &coarseDD)
 
template<typename TChild >
void assemble_restriction (matrix_type &mat, const DoFDistribution &coarseDD, const DoFDistribution &fineDD, ConstSmartPtr< TDomain > spDomain)
 
void assemble_restriction (matrix_type &mat, const DoFDistribution &coarseDD, const DoFDistribution &fineDD, ConstSmartPtr< TDomain > spDomain)
 
void remove_outdated (TransferMap &map, const RevisionCounter &revCnt)
 
void write_debug (const matrix_type &mat, std::string name, const GridLevel &glTo, const GridLevel &glFrom)
 debug writing of matrix More...
 
- Protected Attributes inherited from ug::StdTransfer< TDomain, TAlgebra >
bool bCached
 flag if cached (matrix) transfer used More...
 
bool m_bUseTransposed
 flag if transposed is used More...
 
number m_dampProl
 
number m_dampRes
 damping parameter More...
 
TransferMap m_mProlongation
 
TransferMap m_mRestriction
 
bool m_p1LagrangeOptimizationEnabled
 flag for p1-lagrange-optimization More...
 
SmartPtr< IDebugWriter< TAlgebra > > m_spDebugWriter
 debug writer More...
 
std::vector< SmartPtr< IConstraint< TAlgebra > > > m_vConstraint
 list of post processes More...
 
- Protected Attributes inherited from ug::ITransferOperator< TDomain, TAlgebra >
std::vector< SmartPtr< IConstraint< TAlgebra > > > m_vConstraint
 list of post processes More...
 

Member Typedef Documentation

◆ algebra_type

template<typename TDomain , typename TAlgebra >
typedef TAlgebra ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::algebra_type

Type of algebra.

◆ base_type

template<typename TDomain , typename TAlgebra >
typedef StdTransfer<TDomain, TAlgebra> ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::base_type

base type

◆ domain_type

template<typename TDomain , typename TAlgebra >
typedef TDomain ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::domain_type

Type of Domain.

◆ matrix_type

template<typename TDomain , typename TAlgebra >
typedef TAlgebra::matrix_type ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::matrix_type

Type of Matrix.

◆ this_type

template<typename TDomain , typename TAlgebra >
typedef TruncatedMonotoneTransfer<TDomain, TAlgebra> ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::this_type

This type.

◆ vector_type

template<typename TDomain , typename TAlgebra >
typedef TAlgebra::vector_type ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::vector_type

Type of Vector.

Constructor & Destructor Documentation

◆ TruncatedMonotoneTransfer()

template<typename TDomain , typename TAlgebra >
ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::TruncatedMonotoneTransfer ( )
inline

Constructor.

Member Function Documentation

◆ clone()

template<typename TDomain , typename TAlgebra >
SmartPtr< ITransferOperator< TDomain, TAlgebra > > ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::clone
virtual

Clone.

Reimplemented from ug::StdTransfer< TDomain, TAlgebra >.

◆ init()

template<typename TDomain , typename TAlgebra >
void ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::init
virtual

initialize the operator

Reimplemented from ug::StdTransfer< TDomain, TAlgebra >.

◆ prolongation()

template<typename TDomain , typename TAlgebra >
SmartPtr< typename TAlgebra::matrix_type > ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::prolongation ( const GridLevel fineGL,
const GridLevel coarseGL,
ConstSmartPtr< ApproximationSpace< TDomain > >  spApproxSpace 
)
virtual

returns prolongation as a matrix

Reimplemented from ug::StdTransfer< TDomain, TAlgebra >.

◆ restriction()

template<typename TDomain , typename TAlgebra >
SmartPtr< typename TAlgebra::matrix_type > ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::restriction ( const GridLevel coarseGL,
const GridLevel fineGL,
ConstSmartPtr< ApproximationSpace< TDomain > >  spApproxSpace 
)
virtual

◆ set_levels()

template<typename TDomain , typename TAlgebra >
void ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::set_levels ( GridLevel  coarseLevel,
GridLevel  fineLevel 
)
virtual

Set Levels for Prolongation coarse -> fine.

Reimplemented from ug::StdTransfer< TDomain, TAlgebra >.

References UG_THROW.

Member Data Documentation

◆ m_bInit

template<typename TDomain , typename TAlgebra >
bool ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::m_bInit
private

init flag

◆ m_coarseLevel

template<typename TDomain , typename TAlgebra >
GridLevel ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::m_coarseLevel
private

coarse and fine Gridlevel

◆ m_fineLevel

template<typename TDomain , typename TAlgebra >
GridLevel ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::m_fineLevel
private

◆ m_vConstraint

template<typename TDomain , typename TAlgebra >
std::vector<SmartPtr<IConstraint<TAlgebra> > > ug::ITransferOperator< TDomain, TAlgebra >::m_vConstraint
private

list of post processes


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