ug4
|
#include <truncated_monotone_transfer.h>
Public Types | |
typedef TAlgebra | algebra_type |
Type of algebra. | |
typedef StdTransfer< TDomain, TAlgebra > | base_type |
base type | |
typedef TDomain | domain_type |
Type of Domain. | |
typedef TAlgebra::matrix_type | matrix_type |
Type of Matrix. | |
typedef TruncatedMonotoneTransfer< TDomain, TAlgebra > | this_type |
This type. | |
typedef TAlgebra::vector_type | vector_type |
Type of Vector. | |
![]() | |
typedef TAlgebra | algebra_type |
Type of Algebra. | |
typedef ITransferOperator< TDomain, TAlgebra > | base_type |
Type of base class. | |
typedef TDomain | domain_type |
Type of Domain. | |
typedef GridFunction< TDomain, TAlgebra > | GF |
Type of GridFunction. | |
typedef TAlgebra::matrix_type | matrix_type |
Type of Matrix. | |
typedef TAlgebra::vector_type | vector_type |
Type of Vector. | |
![]() | |
typedef TDomain | domain_type |
Domain type. | |
typedef TAlgebra::matrix_type | matrix_type |
Matrix type. | |
typedef TAlgebra::vector_type | vector_type |
Vector type. | |
Public Member Functions | |
SmartPtr< ITransferOperator< TDomain, TAlgebra > > | clone () |
Clone. | |
void | init () |
initialize the operator | |
SmartPtr< matrix_type > | prolongation (const GridLevel &fineGL, const GridLevel &coarseGL, ConstSmartPtr< ApproximationSpace< TDomain > > spApproxSpace) |
returns prolongation as a matrix | |
SmartPtr< matrix_type > | restriction (const GridLevel &coarseGL, const GridLevel &fineGL, ConstSmartPtr< ApproximationSpace< TDomain > > spApproxSpace) |
returns restriction as a matrix | |
void | set_levels (GridLevel coarseLevel, GridLevel fineLevel) |
Set Levels for Prolongation coarse -> fine. | |
TruncatedMonotoneTransfer () | |
Constructor. | |
![]() | |
void | do_restrict (GF &uCoarse, const GF &uFine) |
apply operator to a grid function | |
virtual void | do_restrict (vector_type &uCoarse, const vector_type &uFine) |
apply transposed Operator, restrict function | |
void | enable_p1_lagrange_optimization (bool enable) |
enables/disables an assembling optimization for p1-lagrange elements | |
bool | p1_lagrange_optimization_enabled () const |
void | prolongate (GF &uFine, const GF &uCoarse) |
apply operator to a grid function | |
virtual void | prolongate (vector_type &uFine, const vector_type &uCoarse) |
apply Operator, interpolate function | |
void | set_debug (SmartPtr< IDebugWriter< TAlgebra > > spDebugWriter) |
set debug writer | |
void | set_prolongation_damping (number damp) |
set prolongation damping (only applied on vector operation, not (!!) in assembled matrices) | |
void | set_restriction_damping (number damp) |
set restriction damping (only applied on vector operation, not (!!) in assembled matrices) | |
void | set_use_transposed (bool bTransposed) |
sets if restriction and prolongation are transposed | |
StdTransfer () | |
Default constructor. | |
virtual | ~StdTransfer () |
virtual destructor | |
![]() | |
virtual void | add_constraint (SmartPtr< IConstraint< TAlgebra > > pp) |
adds a dirichlet post process (not added if already registered) | |
virtual void | clear_constraints () |
clears dirichlet post processes | |
ITransferOperator () | |
constructor | |
virtual void | remove_constraint (SmartPtr< IConstraint< TAlgebra > > pp) |
removes a post process | |
virtual | ~ITransferOperator () |
virtual destructor | |
Private Attributes | |
bool | m_bInit |
init flag | |
GridLevel | m_coarseLevel |
coarse and fine Gridlevel | |
GridLevel | m_fineLevel |
std::vector< SmartPtr< IConstraint< TAlgebra > > > | m_vConstraint |
list of post processes | |
Additional Inherited Members | |
![]() | |
typedef std::map< TransferKey, SmartPtr< matrix_type > > | TransferMap |
![]() | |
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 | |
![]() | |
bool | bCached |
flag if cached (matrix) transfer used | |
bool | m_bUseTransposed |
flag if transposed is used | |
number | m_dampProl |
number | m_dampRes |
damping parameter | |
TransferMap | m_mProlongation |
TransferMap | m_mRestriction |
bool | m_p1LagrangeOptimizationEnabled |
flag for p1-lagrange-optimization | |
SmartPtr< IDebugWriter< TAlgebra > > | m_spDebugWriter |
debug writer | |
std::vector< SmartPtr< IConstraint< TAlgebra > > > | m_vConstraint |
list of post processes | |
![]() | |
std::vector< SmartPtr< IConstraint< TAlgebra > > > | m_vConstraint |
list of post processes | |
typedef TAlgebra ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::algebra_type |
Type of algebra.
typedef StdTransfer<TDomain, TAlgebra> ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::base_type |
base type
typedef TDomain ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::domain_type |
Type of Domain.
typedef TAlgebra::matrix_type ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::matrix_type |
Type of Matrix.
typedef TruncatedMonotoneTransfer<TDomain, TAlgebra> ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::this_type |
This type.
typedef TAlgebra::vector_type ug::TruncatedMonotoneTransfer< TDomain, TAlgebra >::vector_type |
Type of Vector.
|
inline |
Constructor.
|
virtual |
Clone.
Reimplemented from ug::StdTransfer< TDomain, TAlgebra >.
|
virtual |
initialize the operator
Reimplemented from ug::StdTransfer< TDomain, TAlgebra >.
|
virtual |
returns prolongation as a matrix
Reimplemented from ug::StdTransfer< TDomain, TAlgebra >.
|
virtual |
returns restriction as a matrix
Reimplemented from ug::StdTransfer< TDomain, TAlgebra >.
References ug::CT_CONSTRAINTS, ug::GridLevel::level(), ug::PST_CONSISTENT, and UG_LOG.
|
virtual |
Set Levels for Prolongation coarse -> fine.
Reimplemented from ug::StdTransfer< TDomain, TAlgebra >.
References UG_THROW.
|
private |
init flag
|
private |
coarse and fine Gridlevel
|
private |
|
private |
list of post processes