|
| DomainDiscretization (SmartPtr< approx_space_type > pApproxSpace) |
| default Constructor More...
|
|
virtual | ~DomainDiscretization () |
| virtual destructor More...
|
|
Public Member Functions inherited from ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > > |
void | add (SmartPtr< IDiscretizationItem< TDomain, TAlgebra > > di) |
| adds a disc item to the assembling process More...
|
|
void | add (SmartPtr< IDomainConstraint< TDomain, TAlgebra > > pp) |
| adds a constraint to the assembling process More...
|
|
void | add (SmartPtr< IElemDisc< TDomain > > elem) |
| adds an element discretization to the assembling process More...
|
|
void | add_elem_error_indicator (SmartPtr< IElemError< TDomain > > elem) |
| adds an element error indicator to the assembling process More...
|
|
virtual void | adjust_solution (vector_type &u, const GridLevel &gl) |
| sets dirichlet values in solution vector More...
|
|
virtual void | adjust_solution (vector_type &u, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | adjust_solution (vector_type &u, number time, const GridLevel &gl) |
| sets dirichlet values in solution vector More...
|
|
virtual void | adjust_solution (vector_type &u, number time, ConstSmartPtr< DoFDistribution > dd) |
|
SmartPtr< approx_space_type > | approximation_space () |
|
ConstSmartPtr< approx_space_type > | approximation_space () const |
|
virtual void | assemble_defect (vector_type &d, const vector_type &u, const GridLevel &gl) |
| assembles Defect More...
|
|
virtual void | assemble_defect (vector_type &d, const vector_type &u, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | assemble_defect (vector_type &d, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, const GridLevel &gl) |
| assembles Defect More...
|
|
virtual void | assemble_defect (vector_type &d, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | assemble_jacobian (matrix_type &J, const vector_type &u, const GridLevel &gl) |
| assembles Jacobian (or Approximation of Jacobian) More...
|
|
virtual void | assemble_jacobian (matrix_type &J, const vector_type &u, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | assemble_jacobian (matrix_type &J, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const number s_a, const GridLevel &gl) |
| assembles Jacobian (or Approximation of Jacobian) More...
|
|
virtual void | assemble_jacobian (matrix_type &J, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const number s_a0, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | assemble_linear (matrix_type &A, vector_type &b, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | assemble_linear (matrix_type &A, vector_type &b, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, const GridLevel &gl) |
| Assembles matrix_type and Right-Hand-Side for a linear problem. More...
|
|
virtual void | assemble_linear (matrix_type &A, vector_type &b, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | assemble_linear (matrix_type &mat, vector_type &rhs, const GridLevel &gl) |
| Assembles Matrix and Right-Hand-Side for a linear problem. More...
|
|
virtual void | assemble_mass_matrix (matrix_type &M, const vector_type &u, const GridLevel &gl) |
| assembles the mass matrix More...
|
|
virtual void | assemble_mass_matrix (matrix_type &M, const vector_type &u, ConstSmartPtr< DoFDistribution > dd) |
| assembles the mass matrix More...
|
|
virtual void | assemble_rhs (vector_type &b, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, const GridLevel &gl) |
| Assembles Right-Hand-Side for a linear problem. More...
|
|
virtual void | assemble_rhs (vector_type &b, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | assemble_rhs (vector_type &rhs, const GridLevel &gl) |
| assembles the rhs More...
|
|
virtual void | assemble_rhs (vector_type &rhs, const vector_type &u, const GridLevel &gl) |
| assembles the rhs More...
|
|
virtual void | assemble_rhs (vector_type &rhs, const vector_type &u, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | assemble_rhs (vector_type &rhs, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | assemble_stiffness_matrix (matrix_type &A, const vector_type &u, const GridLevel &gl) |
| assembles the stiffness matrix More...
|
|
virtual void | assemble_stiffness_matrix (matrix_type &A, const vector_type &u, ConstSmartPtr< DoFDistribution > dd) |
| assembles the stiffness matrix More...
|
|
virtual void | calc_error (const GridFunction< TDomain, TAlgebra > &u) |
|
virtual void | calc_error (const GridFunction< TDomain, TAlgebra > &u, error_vector_type *u_vtk) |
|
virtual void | calc_error (const vector_type &u, const GridLevel &gl, error_vector_type *u_vtk=NULL) |
|
virtual void | calc_error (const vector_type &u, ConstSmartPtr< DoFDistribution > dd, error_vector_type *u_vtk=NULL) |
|
virtual void | calc_error (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, const GridLevel &gl, error_vector_type *u_vtk) |
| Transient version. More...
|
|
virtual void | calc_error (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< DoFDistribution > dd, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, error_vector_type *u_vtk) |
| Transient version. More...
|
|
virtual SmartPtr< IConstraint< TAlgebra > > | constraint (size_t i) |
| returns the i'th constraint More...
|
|
| DomainDiscretizationBase (SmartPtr< approx_space_type > pApproxSpace) |
| default Constructor More...
|
|
virtual void | finish_timestep (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const GridLevel &gl) |
|
virtual void | finish_timestep (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | finish_timestep_elem (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const GridLevel &gl) |
| finishes timestep More...
|
|
virtual void | finish_timestep_elem (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | invalidate_error () |
|
virtual bool | is_error_valid () |
| returns whether current error values are valid More...
|
|
virtual void | mark_with_strategy (IRefiner &refiner, SmartPtr< IElementMarkingStrategy< TDomain > > strategy) |
|
virtual size_t | num_constraints () const |
| returns number of registered constraints More...
|
|
virtual void | prepare_timestep (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, number future_time, const GridLevel &gl) |
|
virtual void | prepare_timestep (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, number future_time, ConstSmartPtr< DoFDistribution > dd) |
|
virtual void | prepare_timestep_elem (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const GridLevel &gl) |
|
virtual void | prepare_timestep_elem (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< DoFDistribution > dd) |
|
void | remove (SmartPtr< IDomainConstraint< TDomain, TAlgebra > > pp) |
| removes a constraint from the assembling process More...
|
|
void | remove (SmartPtr< IElemDisc< TDomain > > elem) |
| removes a element discretization from the assembling process More...
|
|
void | remove_elem_error_indicator (SmartPtr< IElemError< TDomain > > elem) |
| removes a element discretization from the assembling process More...
|
|
virtual | ~DomainDiscretizationBase () |
| virtual destructor More...
|
|
void | assemble_jacobian (matrix_type &J, GridFunction< TDomain, TAlgebra > &u) |
|
void | assemble_defect (vector_type &d, GridFunction< TDomain, TAlgebra > &u) |
|
void | assemble_linear (matrix_type &A, GridFunction< TDomain, TAlgebra > &rhs) |
|
void | assemble_rhs (vector_type &rhs, GridFunction< TDomain, TAlgebra > &u) |
|
void | assemble_rhs (GridFunction< TDomain, TAlgebra > &b) |
|
void | adjust_solution (GridFunction< TDomain, TAlgebra > &u) |
|
virtual SmartPtr< AssemblingTuner< TAlgebra > > | ass_tuner () |
|
virtual ConstSmartPtr< AssemblingTuner< TAlgebra > > | ass_tuner () const |
|
Public Member Functions inherited from ug::IDomainDiscretization< TAlgebra > |
void | adjust_solution (vector_type &u, number time) |
| adjust solution on surface level More...
|
|
void | assemble_defect (vector_type &d, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff) |
| assembles defect on surface level More...
|
|
void | assemble_jacobian (matrix_type &J, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const number s_a) |
| assembles jacobian on surface level More...
|
|
void | assemble_linear (matrix_type &A, vector_type &b, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff) |
| assembles linear on surface level More...
|
|
void | assemble_rhs (vector_type &b, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff) |
| assembles rhs on surface level More...
|
|
virtual void | finish_timestep (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol) |
|
void | finish_timestep_elem (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol) |
| finishes timestep on surface level More...
|
|
virtual void | prepare_timestep (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, number future_time) |
|
void | prepare_timestep_elem (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol) |
| prepares timestep on surface level More...
|
|
virtual | ~IDomainDiscretization () |
|
void | adjust_solution (vector_type &u) |
|
void | assemble_defect (vector_type &d, const vector_type &u) |
|
void | assemble_jacobian (matrix_type &J, const vector_type &u) |
|
void | assemble_linear (matrix_type &A, vector_type &b) |
|
void | assemble_mass_matrix (matrix_type &M, const vector_type &u) |
|
void | assemble_rhs (vector_type &b) |
|
virtual void | assemble_rhs (vector_type &rhs, const vector_type &u) |
|
void | assemble_stiffness_matrix (matrix_type &A, const vector_type &u) |
|
virtual | ~IAssemble () |
| Virtual Destructor. More...
|
|
Public Member Functions inherited from ug::IDomainErrorIndicator< TAlgebra > |
virtual | ~IDomainErrorIndicator () |
|
Public Member Functions inherited from ug::IDomainMarker< TDomain > |
virtual | ~IDomainMarker () |
|
|
Protected Member Functions inherited from ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > > |
ConstSmartPtr< DoFDistribution > | dd (const GridLevel &gl) const |
| returns the level dof distribution More...
|
|
void | update_constraints () |
|
void | update_disc_items () |
|
void | update_elem_discs () |
| set the approximation space in the elem discs and extract IElemDiscs More...
|
|
void | update_elem_errors () |
|
void | update_error_items () |
|
template<typename TElem , typename TIterator > |
static void | AssembleDefect (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, vector_type &d, const vector_type &u, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
template<typename TElem , typename TIterator > |
static void | AssembleDefect (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, vector_type &d, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
template<typename TElem , typename TIterator > |
static void | AssembleErrorEstimator (const std::vector< IElemError< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol) |
|
template<typename TElem , typename TIterator > |
static void | AssembleErrorEstimator (const std::vector< IElemError< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, const vector_type &u) |
|
template<typename TElem , typename TIterator > |
static void | AssembleJacobian (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, matrix_type &J, const vector_type &u, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
template<typename TElem , typename TIterator > |
static void | AssembleJacobian (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, matrix_type &J, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, number s_a0, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
template<typename TElem , typename TIterator > |
static void | AssembleLinear (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, matrix_type &A, vector_type &rhs, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
template<typename TElem , typename TIterator > |
static void | AssembleLinear (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, matrix_type &A, vector_type &rhs, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
template<typename TElem , typename TIterator > |
static void | AssembleMassMatrix (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, matrix_type &M, const vector_type &u, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
template<typename TElem , typename TIterator > |
static void | AssembleRhs (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, vector_type &rhs, const vector_type &u, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
template<typename TElem , typename TIterator > |
static void | AssembleRhs (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, vector_type &rhs, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
template<typename TElem , typename TIterator > |
static void | AssembleStiffnessMatrix (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, matrix_type &A, const vector_type &u, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
static void | FinishTimestep (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< DoFDistribution > dd, bool bNonRegularGrid, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
template<typename TElem , typename TIterator > |
static void | FinishTimestepElem (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
static void | PrepareTimestep (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< DoFDistribution > dd, bool bNonRegularGrid, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, number future_time, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
template<typename TElem , typename TIterator > |
static void | PrepareTimestepElem (const std::vector< IElemDisc< domain_type > * > &vElemDisc, ConstSmartPtr< domain_type > spDomain, ConstSmartPtr< DoFDistribution > dd, TIterator iterBegin, TIterator iterEnd, int si, bool bNonRegularGrid, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< AssemblingTuner< TAlgebra > > spAssTuner) |
|
Protected Attributes inherited from ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > > |
bool | m_bErrorCalculated |
|
IMultigridElementIndicators< TDomain > | m_mgElemErrors |
|
SmartPtr< approx_space_type > | m_spApproxSpace |
| current approximation space More...
|
|
SmartPtr< AssemblingTuner< TAlgebra > > | m_spAssTuner |
| this object provides tools to adapt the assemble routine More...
|
|
std::vector< SmartPtr< IDomainConstraint< TDomain, TAlgebra > > > | m_vConstraint |
| vector holding all registered constraints More...
|
|
std::vector< SmartPtr< IElemDisc< TDomain > > > | m_vDomainElemDisc |
| vector holding all registered elem discs More...
|
|
std::vector< SmartPtr< IElemError< TDomain > > > | m_vDomainElemError |
| vector holding all registered elem discs More...
|
|
std::vector< IElemDisc< TDomain > * > | m_vElemDisc |
| vector holding all registered elem discs More...
|
|
std::vector< IElemError< TDomain > * > | m_vElemError |
| vector holding all registered elem discs More...
|
|
template<typename TDomain, typename TAlgebra>
class ug::DomainDiscretization< TDomain, TAlgebra >
domain discretization implementing the interface
This class template is an implementation of the IDomainDiscretization interface based on the simple groupping of several local (element) discretizations and constraints.
This is the "usual" and "trivial" global discretizations: all the local (element) discretizations are perfomed once for every element, and their contributions are algebraically added to the global data.
- Template Parameters
-
TDomain | domain type |
TAlgebra | algebra type |