ug4
|
a special constraint that sets functions and matrices in the outer subdomain to given values More...
#include <dom_disc_embb.h>
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_type & | m_rExtrapolation |
Extrapolation in the GF method. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ug::IDomainConstraint< TDomain, TAlgebra > | |
ConstSmartPtr< DoFDistribution > | dd (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... | |
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.
TDomain | domain type |
TAlgebra | algebra type |
TExtrapolation | extrapolation class |
typedef TAlgebra ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::algebra_type |
Algebra type.
typedef TDomain ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::domain_type |
Domain type.
typedef TExtrapolation ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::extrapolation_type |
Extrapolation type.
typedef algebra_type::matrix_type ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::matrix_type |
Matrix type in the algebra.
typedef algebra_type::vector_type ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::vector_type |
Vector type in the algebra.
|
inline |
class constructor
rExtrapolation | the GF extrapolation |
|
inlinevirtual |
virtual destructor
|
inlinevirtual |
sets a zero value in the defect for all conductor indices
Implements ug::IConstraint< TAlgebra >.
References ug::IDomainConstraint< TDomain, TAlgebra >::dd(), and ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::m_rExtrapolation.
|
inlinevirtual |
sets a unity row for all conductor indices
Implements ug::IConstraint< TAlgebra >.
References ug::IDomainConstraint< TDomain, TAlgebra >::dd(), and ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::m_rExtrapolation.
|
inlinevirtual |
sets unity rows in A and dirichlet values in right-hand side b
Implements ug::IConstraint< TAlgebra >.
References ug::IDomainConstraint< TDomain, TAlgebra >::dd(), and ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::m_rExtrapolation.
|
inlinevirtual |
sets the dirichlet value in the right-hand side
Implements ug::IConstraint< TAlgebra >.
References ug::IDomainConstraint< TDomain, TAlgebra >::dd(), and ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::m_rExtrapolation.
|
inlinevirtual |
sets the value in the solution for all conductor indices
Implements ug::IConstraint< TAlgebra >.
References ug::IDomainConstraint< TDomain, TAlgebra >::dd(), and ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::m_rExtrapolation.
|
inlinevirtual |
returns the type of the constraints
Implements ug::IDomainConstraint< TDomain, TAlgebra >.
References ug::CT_DIRICHLET.
|
private |
Extrapolation in the GF method.
Referenced by ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_defect(), ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_jacobian(), ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_linear(), ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_rhs(), and ug::LSGFConstraint< TDomain, TAlgebra, TExtrapolation >::adjust_solution().