ug4
ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation > Class Template Reference

a special constraint that sets functions and matrices in the outer subdomain to given values More...

#include <dom_disc_embb.h>

+ Inheritance diagram for ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >:

Public Types

typedef TAlgebra algebra_type
 Algebra type. More...
 
typedef TDomain domain_type
 Domain type. More...
 
typedef TExtrapolation extrapolation_type
 Extrapolation type. More...
 
typedef algebra_type::matrix_type matrix_type
 Matrix type in the algebra. More...
 
typedef algebra_type::vector_type vector_type
 Vector type in the algebra. More...
 
- Public Types inherited from ug::IDomainConstraint< TDomain, TAlgebra >
typedef TAlgebra algebra_type
 Algebra type. More...
 
typedef TDomain domain_type
 Domain Type. More...
 
typedef algebra_type::matrix_type matrix_type
 Type of algebra matrix. More...
 
typedef algebra_type::vector_type vector_type
 Type of algebra vector. More...
 
- Public Types inherited from ug::IConstraint< TAlgebra >
typedef TAlgebra algebra_type
 Algebra type. More...
 
typedef algebra_type::matrix_type matrix_type
 Type of algebra matrix. More...
 
typedef algebra_type::vector_type vector_type
 Type of algebra vector. More...
 

Public Member Functions

void adjust_defect (vector_type &d, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol=SPNULL, const std::vector< number > *vScaleMass=NULL, const std::vector< number > *vScaleStiff=NULL)
 sets a zero value in the defect for all conductor indices More...
 
void adjust_jacobian (matrix_type &J, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol=SPNULL, const number s_a0=1.0)
 sets a unity row for all conductor indices More...
 
void adjust_linear (matrix_type &A, vector_type &b, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)
 sets unity rows in A and dirichlet values in right-hand side b More...
 
void adjust_rhs (vector_type &b, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)
 sets the dirichlet value in the right-hand side More...
 
void adjust_solution (vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)
 sets the value in the solution for all conductor indices More...
 
 LSGFConstraint (extrapolation_type &rExtrapolation)
 class constructor More...
 
int type () const
 returns the type of the constraints More...
 
virtual ~LSGFConstraint ()
 virtual destructor More...
 
- Public Member Functions inherited from ug::IDomainConstraint< TDomain, TAlgebra >
SmartPtr< ApproximationSpace< TDomain > > approximation_space ()
 returns approximation space More...
 
ConstSmartPtr< ApproximationSpace< TDomain > > approximation_space () const
 returns approximation space More...
 
virtual SmartPtr< IErrEstData< TDomain > > err_est_data ()
 returns the pointer to the error estimator data object (or NULL) More...
 
bool err_est_enabled () const
 find out whether or not a posteriori error estimation is to be performed for this disc More...
 
 IDomainConstraint ()
 constructor More...
 
virtual void set_approximation_space (SmartPtr< ApproximationSpace< TDomain > > approxSpace)
 sets the approximation space More...
 
void set_ass_tuner (ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssemblingTuner=NULL)
 sets the assemble adapter for the constraints More...
 
void set_error_estimator (SmartPtr< IErrEstData< TDomain > > ee)
 sets the pointer to an error estimator data object (or NULL) More...
 
- Public Member Functions inherited from ug::IConstraint< TAlgebra >
virtual void adjust_correction (vector_type &c, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)
 
virtual void adjust_error (const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol=SPNULL, const std::vector< number > *vScaleMass=NULL, const std::vector< number > *vScaleStiff=NULL)
 adjusts the assembled error estimator values in the attachments according to the constraint More...
 
virtual void adjust_linear_residual (vector_type &d, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0)
 adjust linear residual More...
 
virtual void adjust_prolongation (matrix_type &P, ConstSmartPtr< DoFDistribution > ddFine, ConstSmartPtr< DoFDistribution > ddCoarse, int type, number time=0.0)
 sets constraints in prolongation More...
 
virtual void adjust_prolongation (vector_type &uFine, GridLevel fineLvl, const vector_type &uCoarse, GridLevel coarseLvl, int type)
 sets the constraints in a solution vector More...
 
virtual void adjust_restriction (matrix_type &R, ConstSmartPtr< DoFDistribution > ddCoarse, ConstSmartPtr< DoFDistribution > ddFine, int type, number time=0.0)
 sets constraints in restriction More...
 
virtual void adjust_restriction (vector_type &uCoarse, GridLevel coarseLvl, const vector_type &uFine, GridLevel fineLvl, int type)
 sets the constraints in a solution vector More...
 
virtual void modify_solution (SmartPtr< VectorTimeSeries< vector_type > > vSolMod, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< DoFDistribution > dd, int type)
 modify_solution for instationary case More...
 
virtual void modify_solution (vector_type &uMod, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type)
 modifies solution vector before calling the assembling routine More...
 
virtual ~IConstraint ()
 virtual destructor More...
 

Private Attributes

extrapolation_typem_rExtrapolation
 Extrapolation in the GF method. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ug::IDomainConstraint< TDomain, TAlgebra >
ConstSmartPtr< DoFDistributiondd (const GridLevel &gl) const
 returns the level dof distribution More...
 
- Protected Attributes inherited from ug::IDomainConstraint< TDomain, TAlgebra >
SmartPtr< ApproximationSpace< TDomain > > m_spApproxSpace
 Approximation Space. More...
 
ConstSmartPtr< AssemblingTuner< TAlgebra > > m_spAssTuner
 Assemble adapter. More...
 
SmartPtr< IErrEstData< TDomain > > m_spErrEstData
 error estimation object associated to the element discretization More...
 

Detailed Description

template<typename TDomain, typename TAlgebra, typename TExtrapolation>
class ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >

a special constraint that sets functions and matrices in the outer subdomain to given values

This class implements a constraint for the LSF based ghost-fluid method to set grid functions and matrices in the outer subdomain to given values.

Template Parameters
TDomaindomain type
TAlgebraalgebra type
TExtrapolationextrapolation class

Member Typedef Documentation

◆ algebra_type

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
typedef TAlgebra ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::algebra_type

Algebra type.

◆ domain_type

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
typedef TDomain ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::domain_type

Domain type.

◆ extrapolation_type

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
typedef TExtrapolation ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::extrapolation_type

Extrapolation type.

◆ matrix_type

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
typedef algebra_type::matrix_type ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::matrix_type

Matrix type in the algebra.

◆ vector_type

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
typedef algebra_type::vector_type ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::vector_type

Vector type in the algebra.

Constructor & Destructor Documentation

◆ LSGFConstraint()

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::LSGFConstraint ( extrapolation_type rExtrapolation)
inline

class constructor

Parameters
rExtrapolationthe GF extrapolation

◆ ~LSGFConstraint()

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
virtual ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::~LSGFConstraint ( )
inlinevirtual

virtual destructor

Member Function Documentation

◆ adjust_defect()

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
void ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_defect ( vector_type d,
const vector_type u,
ConstSmartPtr< DoFDistribution dd,
int  type,
number  time = 0.0,
ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol = SPNULL,
const std::vector< number > *  vScaleMass = NULL,
const std::vector< number > *  vScaleStiff = NULL 
)
inlinevirtual

◆ adjust_jacobian()

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
void ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_jacobian ( matrix_type J,
const vector_type u,
ConstSmartPtr< DoFDistribution dd,
int  type,
number  time = 0.0,
ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol = SPNULL,
const number  s_a0 = 1.0 
)
inlinevirtual

◆ adjust_linear()

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
void ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_linear ( matrix_type A,
vector_type b,
ConstSmartPtr< DoFDistribution dd,
int  type,
number  time = 0.0 
)
inlinevirtual

◆ adjust_rhs()

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
void ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_rhs ( vector_type b,
const vector_type u,
ConstSmartPtr< DoFDistribution dd,
int  type,
number  time = 0.0 
)
inlinevirtual

◆ adjust_solution()

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
void ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_solution ( vector_type u,
ConstSmartPtr< DoFDistribution dd,
int  type,
number  time = 0.0 
)
inlinevirtual

◆ type()

template<typename TDomain , typename TAlgebra , typename TExtrapolation >
int ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::type ( ) const
inlinevirtual

returns the type of the constraints

Implements ug::IDomainConstraint< TDomain, TAlgebra >.

References ug::CT_DIRICHLET.

Member Data Documentation

◆ m_rExtrapolation


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