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. | |
typedef TDomain | domain_type |
Domain type. | |
typedef TExtrapolation | extrapolation_type |
Extrapolation type. | |
typedef algebra_type::matrix_type | matrix_type |
Matrix type in the algebra. | |
typedef algebra_type::vector_type | vector_type |
Vector type in the algebra. | |
![]() | |
typedef TAlgebra | algebra_type |
Algebra type. | |
typedef TDomain | domain_type |
Domain Type. | |
typedef algebra_type::matrix_type | matrix_type |
Type of algebra matrix. | |
typedef algebra_type::vector_type | vector_type |
Type of algebra vector. | |
![]() | |
typedef TAlgebra | algebra_type |
Algebra type. | |
typedef algebra_type::matrix_type | matrix_type |
Type of algebra matrix. | |
typedef algebra_type::vector_type | vector_type |
Type of algebra vector. | |
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 | |
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 | |
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 | |
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 | |
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 | |
LSGFConstraint (extrapolation_type &rExtrapolation) | |
class constructor | |
int | type () const |
returns the type of the constraints | |
virtual | ~LSGFConstraint () |
virtual destructor | |
![]() | |
SmartPtr< ApproximationSpace< TDomain > > | approximation_space () |
returns approximation space | |
ConstSmartPtr< ApproximationSpace< TDomain > > | approximation_space () const |
returns approximation space | |
virtual SmartPtr< IErrEstData< TDomain > > | err_est_data () |
returns the pointer to the error estimator data object (or NULL) | |
bool | err_est_enabled () const |
find out whether or not a posteriori error estimation is to be performed for this disc | |
IDomainConstraint () | |
constructor | |
virtual void | set_approximation_space (SmartPtr< ApproximationSpace< TDomain > > approxSpace) |
sets the approximation space | |
void | set_ass_tuner (ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssemblingTuner=NULL) |
sets the assemble adapter for the constraints | |
void | set_error_estimator (SmartPtr< IErrEstData< TDomain > > ee) |
sets the pointer to an error estimator data object (or NULL) | |
![]() | |
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 | |
virtual void | adjust_linear_residual (vector_type &d, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type, number time=0.0) |
adjust linear residual | |
virtual void | adjust_prolongation (matrix_type &P, ConstSmartPtr< DoFDistribution > ddFine, ConstSmartPtr< DoFDistribution > ddCoarse, int type, number time=0.0) |
sets constraints in prolongation | |
virtual void | adjust_prolongation (vector_type &uFine, GridLevel fineLvl, const vector_type &uCoarse, GridLevel coarseLvl, int type) |
sets the constraints in a solution vector | |
virtual void | adjust_restriction (matrix_type &R, ConstSmartPtr< DoFDistribution > ddCoarse, ConstSmartPtr< DoFDistribution > ddFine, int type, number time=0.0) |
sets constraints in restriction | |
virtual void | adjust_restriction (vector_type &uCoarse, GridLevel coarseLvl, const vector_type &uFine, GridLevel fineLvl, int type) |
sets the constraints in a solution vector | |
virtual void | modify_solution (SmartPtr< VectorTimeSeries< vector_type > > vSolMod, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< DoFDistribution > dd, int type) |
modify_solution for instationary case | |
virtual void | modify_solution (vector_type &uMod, const vector_type &u, ConstSmartPtr< DoFDistribution > dd, int type) |
modifies solution vector before calling the assembling routine | |
virtual | ~IConstraint () |
virtual destructor | |
Private Attributes | |
extrapolation_type & | m_rExtrapolation |
Extrapolation in the GF method. | |
Additional Inherited Members | |
![]() | |
ConstSmartPtr< DoFDistribution > | dd (const GridLevel &gl) const |
returns the level dof distribution | |
![]() | |
SmartPtr< ApproximationSpace< TDomain > > | m_spApproxSpace |
Approximation Space. | |
ConstSmartPtr< AssemblingTuner< TAlgebra > > | m_spAssTuner |
Assemble adapter. | |
SmartPtr< IErrEstData< TDomain > > | m_spErrEstData |
error estimation object associated to the element discretization | |
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().