ug4
ug::IDomainDiscretization< TAlgebra > Class Template Referenceabstract

Interface for domain discretization. More...

#include <domain_disc_interface.h>

+ Inheritance diagram for ug::IDomainDiscretization< TAlgebra >:

Public Types

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 Types inherited from ug::IAssemble< TAlgebra >
typedef TAlgebra algebra_type
 Algebra type. More...
 
typedef TAlgebra::matrix_type matrix_type
 Type of algebra matrix. More...
 
typedef TAlgebra::vector_type vector_type
 Type of algebra vector. More...
 
- Public Types inherited from ug::IDomainErrorIndicator< TAlgebra >
typedef CPUAlgebra::vector_type error_vector_type
 Type of error vector. More...
 
typedef TAlgebra::vector_type vector_type
 Type of algebra vector. More...
 

Public Member Functions

virtual void adjust_solution (vector_type &u, const GridLevel &gl)=0
 sets dirichlet values in solution vector More...
 
virtual void adjust_solution (vector_type &u, ConstSmartPtr< DoFDistribution > dd)=0
 
void adjust_solution (vector_type &u, number time)
 adjust solution on surface level More...
 
virtual void adjust_solution (vector_type &u, number time, const GridLevel &gl)=0
 sets dirichlet values in solution vector More...
 
virtual void adjust_solution (vector_type &u, number time, ConstSmartPtr< DoFDistribution > dd)=0
 
virtual void assemble_defect (vector_type &d, const vector_type &u, const GridLevel &gl)=0
 assembles Defect More...
 
virtual void assemble_defect (vector_type &d, const vector_type &u, ConstSmartPtr< DoFDistribution > dd)=0
 
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...
 
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)=0
 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)=0
 
virtual void assemble_jacobian (matrix_type &J, const vector_type &u, const GridLevel &gl)=0
 assembles Jacobian (or Approximation of Jacobian) More...
 
virtual void assemble_jacobian (matrix_type &J, const vector_type &u, ConstSmartPtr< DoFDistribution > dd)=0
 
void assemble_jacobian (matrix_type &J, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const number s_a)
 assembles jacobian on surface level More...
 
virtual void assemble_jacobian (matrix_type &J, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const number s_a, const GridLevel &gl)=0
 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)=0
 
virtual void assemble_linear (matrix_type &A, vector_type &b, const GridLevel &gl)=0
 Assembles Matrix and Right-Hand-Side for a linear problem. More...
 
virtual void assemble_linear (matrix_type &A, vector_type &b, ConstSmartPtr< DoFDistribution > dd)=0
 
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...
 
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)=0
 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)=0
 
virtual void assemble_mass_matrix (matrix_type &M, const vector_type &u, const GridLevel &gl)=0
 assembles the mass matrix More...
 
virtual void assemble_mass_matrix (matrix_type &M, const vector_type &u, ConstSmartPtr< DoFDistribution > dd)=0
 
virtual void assemble_rhs (vector_type &b, const GridLevel &gl)=0
 assembles the rhs More...
 
virtual void assemble_rhs (vector_type &b, ConstSmartPtr< DoFDistribution > dd)=0
 
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 assemble_rhs (vector_type &b, ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff, const GridLevel &gl)=0
 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)=0
 
virtual void assemble_rhs (vector_type &rhs, const vector_type &u, const GridLevel &gl)=0
 assembles the rhs More...
 
virtual void assemble_rhs (vector_type &rhs, const vector_type &u, ConstSmartPtr< DoFDistribution > dd)=0
 
virtual void assemble_stiffness_matrix (matrix_type &A, const vector_type &u, const GridLevel &gl)=0
 assembles the stiffness matrix More...
 
virtual void assemble_stiffness_matrix (matrix_type &A, const vector_type &u, ConstSmartPtr< DoFDistribution > dd)=0
 
virtual SmartPtr< IConstraint< TAlgebra > > constraint (size_t i)=0
 returns the i'th post process More...
 
virtual void finish_timestep (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol)
 
virtual void finish_timestep (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const GridLevel &gl)=0
 
virtual void finish_timestep (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< DoFDistribution > dd)=0
 finishes time step More...
 
void finish_timestep_elem (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol)
 finishes timestep on surface level More...
 
virtual void finish_timestep_elem (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const GridLevel &gl)=0
 finishes timestep More...
 
virtual void finish_timestep_elem (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< DoFDistribution > dd)=0
 
virtual size_t num_constraints () const =0
 returns the number of post processes More...
 
virtual void prepare_timestep (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, number future_time)
 
virtual void prepare_timestep (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, number future_time, const GridLevel &gl)=0
 
virtual void prepare_timestep (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, number future_time, ConstSmartPtr< DoFDistribution > dd)=0
 prepares time step More...
 
void prepare_timestep_elem (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol)
 prepares timestep on surface level More...
 
virtual void prepare_timestep_elem (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, const GridLevel &gl)=0
 
virtual void prepare_timestep_elem (ConstSmartPtr< VectorTimeSeries< vector_type > > vSol, ConstSmartPtr< DoFDistribution > dd)=0
 prepares time step element-wise More...
 
virtual ~IDomainDiscretization ()
 
- Public Member Functions inherited from ug::IAssemble< TAlgebra >
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...
 
virtual SmartPtr< AssemblingTuner< TAlgebra > > ass_tuner ()=0
 
virtual ConstSmartPtr< AssemblingTuner< TAlgebra > > ass_tuner () const =0
 
- Public Member Functions inherited from ug::IDomainErrorIndicator< TAlgebra >
virtual void calc_error (const vector_type &u, const GridLevel &gl, error_vector_type *u_vtk=NULL)=0
 
virtual void calc_error (const vector_type &u, ConstSmartPtr< DoFDistribution > dd, error_vector_type *u_vtk=NULL)=0
 
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)=0
 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)=0
 Transient version. More...
 
virtual void invalidate_error ()=0
 marks error indicators as invalid More...
 
virtual bool is_error_valid ()=0
 returns whether current error values are valid More...
 
virtual ~IDomainErrorIndicator ()
 

Detailed Description

template<typename TAlgebra>
class ug::IDomainDiscretization< TAlgebra >

Interface for domain discretization.

This class is the interface for spatial discretizations. It can be used in the stationary case as well as for the domain dependent part of an instationary problem (i.e. inside ITimeDiscretization).

By its structure it is convenient to implement element-wise Mass-Matrix and Stiffness-Matrix. Then the time-independent member functions can call only the Stiffness-Matrix assembling, while the time-dependent part can call Mass- and Stiffness-Matrix assembling.

Template Parameters
TAlgebraAlgebra Type

Member Typedef Documentation

◆ algebra_type

template<typename TAlgebra >
typedef TAlgebra ug::IDomainDiscretization< TAlgebra >::algebra_type

Algebra type.

◆ matrix_type

template<typename TAlgebra >
typedef algebra_type::matrix_type ug::IDomainDiscretization< TAlgebra >::matrix_type

Type of algebra matrix.

◆ vector_type

template<typename TAlgebra >
typedef algebra_type::vector_type ug::IDomainDiscretization< TAlgebra >::vector_type

Type of algebra vector.

Constructor & Destructor Documentation

◆ ~IDomainDiscretization()

template<typename TAlgebra >
virtual ug::IDomainDiscretization< TAlgebra >::~IDomainDiscretization ( )
inlinevirtual

Member Function Documentation

◆ adjust_solution() [1/5]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::adjust_solution ( vector_type u,
const GridLevel gl 
)
pure virtual

sets dirichlet values in solution vector

Sets dirichlet values of the NumericalSolution u when components are dirichlet

Parameters
[out]uNumerical Solution
[in]ddDoF Distribution

Implements ug::IAssemble< TAlgebra >.

Implemented in ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >, ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >, and ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > >.

Referenced by ug::IDomainDiscretization< TAlgebra >::adjust_solution().

◆ adjust_solution() [2/5]

◆ adjust_solution() [3/5]

template<typename TAlgebra >
void ug::IDomainDiscretization< TAlgebra >::adjust_solution ( vector_type u,
number  time 
)
inline

adjust solution on surface level

References ug::IDomainDiscretization< TAlgebra >::adjust_solution().

◆ adjust_solution() [4/5]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::adjust_solution ( vector_type u,
number  time,
const GridLevel gl 
)
pure virtual

sets dirichlet values in solution vector

Sets dirichlet values of the Solution u when components are dirichlet

Parameters
[in]uSolution to set values at
[in]timetime of next (to be computed) timestep
[in]ddDoF Distribution

Implemented in ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >, ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >, and ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > >.

◆ adjust_solution() [5/5]

◆ assemble_defect() [1/5]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::assemble_defect ( vector_type d,
const vector_type u,
const GridLevel gl 
)
pure virtual

◆ assemble_defect() [2/5]

◆ assemble_defect() [3/5]

template<typename TAlgebra >
void ug::IDomainDiscretization< TAlgebra >::assemble_defect ( vector_type d,
ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol,
const std::vector< number > &  vScaleMass,
const std::vector< number > &  vScaleStiff 
)
inline

assembles defect on surface level

References ug::IDomainDiscretization< TAlgebra >::assemble_defect().

◆ assemble_defect() [4/5]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::assemble_defect ( vector_type d,
ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol,
const std::vector< number > &  vScaleMass,
const std::vector< number > &  vScaleStiff,
const GridLevel gl 
)
pure virtual

assembles Defect

Assembles Defect at a given Solution u.

Parameters
[out]dDefect d(u) to be filled
[in]vSolvector of previous and current (iterated) solution
[in]vScaleMassscaling factors for mass matrix
[in]vScaleStiffscaling factors for stiffness matrix
[in]ddDoF Distribution

Implemented in ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >, ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >, and ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > >.

◆ assemble_defect() [5/5]

◆ assemble_jacobian() [1/5]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::assemble_jacobian ( matrix_type J,
const vector_type u,
const GridLevel gl 
)
pure virtual

assembles Jacobian (or Approximation of Jacobian)

Assembles Jacobian at a given iterate u.

Parameters
[out]JJacobian J(u) matrix to be filled
[in]uCurrent iterate
[in]ddDoF Distribution

Implements ug::IAssemble< TAlgebra >.

Implemented in ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >, ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >, and ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > >.

Referenced by ug::IDomainDiscretization< TAlgebra >::assemble_jacobian().

◆ assemble_jacobian() [2/5]

◆ assemble_jacobian() [3/5]

template<typename TAlgebra >
void ug::IDomainDiscretization< TAlgebra >::assemble_jacobian ( matrix_type J,
ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol,
const number  s_a 
)
inline

assembles jacobian on surface level

References ug::IDomainDiscretization< TAlgebra >::assemble_jacobian().

◆ assemble_jacobian() [4/5]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::assemble_jacobian ( matrix_type J,
ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol,
const number  s_a,
const GridLevel gl 
)
pure virtual

assembles Jacobian (or Approximation of Jacobian)

Assembles Jacobian at a given Solution u.

Parameters
[out]JJacobian J(u) Matrix to be filled
[in]vSolvector of previous and current (iterated) solution
[in]s_ascaling factors for mass matrix
[in]ddDoF Distribution

Implemented in ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >, ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >, and ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > >.

◆ assemble_jacobian() [5/5]

◆ assemble_linear() [1/5]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::assemble_linear ( matrix_type A,
vector_type b,
const GridLevel gl 
)
pure virtual

Assembles Matrix and Right-Hand-Side for a linear problem.

Assembles matrix_type and Right-Hand-Side for a linear problem

Parameters
[out]AMass-/Stiffness- Matrix
[out]bRight-Hand-Side
[in]ddDoF Distribution

Implements ug::IAssemble< TAlgebra >.

Implemented in ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >, ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >, and ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > >.

Referenced by ug::IDomainDiscretization< TAlgebra >::assemble_linear().

◆ assemble_linear() [2/5]

◆ assemble_linear() [3/5]

template<typename TAlgebra >
void ug::IDomainDiscretization< TAlgebra >::assemble_linear ( matrix_type A,
vector_type b,
ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol,
const std::vector< number > &  vScaleMass,
const std::vector< number > &  vScaleStiff 
)
inline

assembles linear on surface level

References ug::IDomainDiscretization< TAlgebra >::assemble_linear().

◆ assemble_linear() [4/5]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::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 
)
pure virtual

Assembles matrix_type and Right-Hand-Side for a linear problem.

Assembles matrix_type and Right-Hand-Side for a linear problem

Parameters
[out]AMass-/Stiffness- matrix_type of the discretization
[out]bRight-Hand-Side of the discretization
[in]vSolvector of previous and current (iterated) solution
[in]vScaleMassscaling factors for mass matrix
[in]vScaleStiffscaling factors for stiffness matrix
[in]ddDoF Distribution

Implemented in ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >, ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >, and ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > >.

◆ assemble_linear() [5/5]

◆ assemble_mass_matrix() [1/2]

◆ assemble_mass_matrix() [2/2]

◆ assemble_rhs() [1/7]

◆ assemble_rhs() [2/7]

◆ assemble_rhs() [3/7]

template<typename TAlgebra >
void ug::IDomainDiscretization< TAlgebra >::assemble_rhs ( vector_type b,
ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol,
const std::vector< number > &  vScaleMass,
const std::vector< number > &  vScaleStiff 
)
inline

assembles rhs on surface level

References ug::IDomainDiscretization< TAlgebra >::assemble_rhs().

◆ assemble_rhs() [4/7]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::assemble_rhs ( vector_type b,
ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol,
const std::vector< number > &  vScaleMass,
const std::vector< number > &  vScaleStiff,
const GridLevel gl 
)
pure virtual

Assembles Right-Hand-Side for a linear problem.

Assembles Right-Hand-Side for a linear problem

Parameters
[out]bRight-Hand-Side of the discretization
[in]vSolvector of previous and current (iterated) solution
[in]vScaleMassscaling factors for mass matrix
[in]vScaleStiffscaling factors for stiffness matrix
[in]ddDoF Distribution

Implemented in ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >, ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >, and ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > >.

◆ assemble_rhs() [5/7]

◆ assemble_rhs() [6/7]

◆ assemble_rhs() [7/7]

◆ assemble_stiffness_matrix() [1/2]

◆ assemble_stiffness_matrix() [2/2]

◆ constraint()

◆ finish_timestep() [1/3]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::finish_timestep ( ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol)
inlinevirtual

◆ finish_timestep() [2/3]

◆ finish_timestep() [3/3]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::finish_timestep ( ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol,
ConstSmartPtr< DoFDistribution dd 
)
pure virtual

finishes time step

Finishes time step at a given solution u. This method is called only once after any time step.

Parameters
[in]vSolvector of previous and current (iterated) solution
[in]ddDoF distribution

Implemented in ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >, ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >, and ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > >.

Referenced by ug::IDomainDiscretization< TAlgebra >::finish_timestep().

◆ finish_timestep_elem() [1/3]

template<typename TAlgebra >
void ug::IDomainDiscretization< TAlgebra >::finish_timestep_elem ( ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol)
inline

finishes timestep on surface level

References ug::IDomainDiscretization< TAlgebra >::finish_timestep_elem().

◆ finish_timestep_elem() [2/3]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::finish_timestep_elem ( ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol,
const GridLevel gl 
)
pure virtual

◆ finish_timestep_elem() [3/3]

◆ num_constraints()

◆ prepare_timestep() [1/3]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::prepare_timestep ( ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol,
number  future_time 
)
inlinevirtual

◆ prepare_timestep() [2/3]

◆ prepare_timestep() [3/3]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::prepare_timestep ( ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol,
number  future_time,
ConstSmartPtr< DoFDistribution dd 
)
pure virtual

prepares time step

Prepares time step at a given solution u. This method is called only once before any time step.

Parameters
[in]vSolvector of previous and current (iterated) solution
[in]ddDoF distribution

Implemented in ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >, ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >, and ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > >.

Referenced by ug::IDomainDiscretization< TAlgebra >::prepare_timestep().

◆ prepare_timestep_elem() [1/3]

template<typename TAlgebra >
void ug::IDomainDiscretization< TAlgebra >::prepare_timestep_elem ( ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol)
inline

prepares timestep on surface level

References ug::IDomainDiscretization< TAlgebra >::prepare_timestep_elem().

◆ prepare_timestep_elem() [2/3]

◆ prepare_timestep_elem() [3/3]

template<typename TAlgebra >
virtual void ug::IDomainDiscretization< TAlgebra >::prepare_timestep_elem ( ConstSmartPtr< VectorTimeSeries< vector_type > >  vSol,
ConstSmartPtr< DoFDistribution dd 
)
pure virtual

prepares time step element-wise

prepares time step element-wise at a given solution u.

Parameters
[in]vSolvector of previous and current (iterated) solution
[in]ddDoF Distribution

Implemented in ug::DomainDiscretizationBase< TDomain, TAlgebra, TGlobAssembler >, ug::DomainDiscretizationBase< TDomain, TAlgebra, LSGFGlobAssembler< TDomain, TAlgebra, TExtrapolation > >, and ug::DomainDiscretizationBase< TDomain, TAlgebra, StdGlobAssembler< TDomain, TAlgebra > >.

Referenced by ug::IDomainDiscretization< TAlgebra >::prepare_timestep_elem().


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