ug4
|
combine several time discretizations into one More...
#include <composite_time_disc.h>
Classes | |
class | CompositeAssTuner |
Public Types | |
typedef TAlgebra | algebra_type |
typedef algebra_type::matrix_type | matrix_type |
typedef algebra_type::vector_type | vector_type |
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 Member Functions | |
void | add_time_disc (SmartPtr< ITimeDiscretization< TAlgebra > > tDisc) |
void | adjust_solution (vector_type &u, const GridLevel &gl) |
sets dirichlet values in solution vector More... | |
void | assemble_defect (vector_type &d, const vector_type &u, const GridLevel &gl) |
assembles Defect More... | |
void | assemble_jacobian (matrix_type &J, const vector_type &u, const GridLevel &gl) |
assembles Jacobian (or Approximation of Jacobian) More... | |
void | assemble_linear (matrix_type &A, vector_type &b, const GridLevel &gl) |
Assembles Matrix and Right-Hand-Side for a linear problem. More... | |
void | assemble_rhs (vector_type &b, const GridLevel &gl) |
void | assemble_rhs (vector_type &b, const vector_type &u, const GridLevel &gl) |
virtual SmartPtr< IConstraint< TAlgebra > > | constraint (size_t i) |
returns the i'th constraint More... | |
virtual void | finish_step (SmartPtr< VectorTimeSeries< vector_type > > currSol) |
virtual void | finish_step_elem (SmartPtr< VectorTimeSeries< vector_type > > currSol, const GridLevel &gl) |
virtual number | future_time () const |
returns the future time point (i.e. the one that will be computed) More... | |
virtual size_t | num_constraints () const |
returns the number of constraints More... | |
virtual size_t | num_prev_steps () const |
returns number of previous time steps needed More... | |
virtual size_t | num_stages () const |
returns the number of stages More... | |
virtual void | prepare_step (SmartPtr< VectorTimeSeries< vector_type > > prevSol, number dt) |
prepares the assembling of Defect/Jacobian for a time step More... | |
virtual void | prepare_step_elem (SmartPtr< VectorTimeSeries< vector_type > > prevSol, number dt, const GridLevel &gl) |
prepares the assembling of Defect/Jacobian for a time step More... | |
virtual void | set_stage (size_t stage) |
sets the stage More... | |
virtual SmartPtr< AssemblingTuner< TAlgebra > > | ass_tuner () |
virtual ConstSmartPtr< AssemblingTuner< TAlgebra > > | ass_tuner () const |
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) |
virtual void | assemble_mass_matrix (matrix_type &M, const vector_type &u, const GridLevel &gl) |
assembles mass matrix More... | |
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 void | assemble_stiffness_matrix (matrix_type &A, const vector_type &u, const GridLevel &gl) |
assembles stiffness matrix More... | |
virtual | ~IAssemble () |
Virtual Destructor. More... | |
Protected Attributes | |
std::vector< SmartPtr< ITimeDiscretization< TAlgebra > > > | m_vTimeDisc |
combine several time discretizations into one
typedef TAlgebra ug::CompositeTimeDiscretization< TAlgebra >::algebra_type |
typedef algebra_type::matrix_type ug::CompositeTimeDiscretization< TAlgebra >::matrix_type |
typedef algebra_type::vector_type ug::CompositeTimeDiscretization< TAlgebra >::vector_type |
|
inline |
|
virtual |
sets dirichlet values in solution vector
Sets dirichlet values of the NumericalSolution u when components are dirichlet
[out] | u | Numerical Solution |
[in] | gl | Grid Level |
Implements ug::IAssemble< TAlgebra >.
|
virtual |
Implements ug::IAssemble< TAlgebra >.
References make_sp().
|
virtual |
Implements ug::IAssemble< TAlgebra >.
References UG_THROW.
|
virtual |
assembles Defect
Assembles Defect at a given Solution u.
[out] | d | Defect d(u) to be filled |
[in] | u | Current iterate |
[in] | gl | Grid Level |
Implements ug::IAssemble< TAlgebra >.
References UG_COND_THROW.
|
virtual |
assembles Jacobian (or Approximation of Jacobian)
Assembles Jacobian at a given iterate u.
[out] | J | Jacobian J(u) matrix to be filled |
[in] | u | Current iterate |
[in] | gl | Grid Level |
Implements ug::IAssemble< TAlgebra >.
References UG_COND_THROW.
|
virtual |
Assembles Matrix and Right-Hand-Side for a linear problem.
Assembles matrix_type and Right-Hand-Side for a linear problem
[out] | A | Mass-/Stiffness- Matrix |
[out] | b | Right-Hand-Side |
[in] | gl | Grid Level |
Implements ug::IAssemble< TAlgebra >.
References UG_COND_THROW.
|
virtual |
Implements ug::IAssemble< TAlgebra >.
References UG_COND_THROW.
|
virtual |
Implements ug::IAssemble< TAlgebra >.
References UG_COND_THROW.
|
virtual |
|
virtual |
finishes a time step and allows to adapt data depending on the current solution elemDisc-wise This function is called after the assembling routines at the end of a time step.
[in] | currSol | the solution at the previous time steps |
[in] | dt | size of time step |
|
virtual |
finishes a time step and allows to adapt data depending on the current solution element-wise This function is called after the assembling routines at the end of a time step. Within this function "fsh_timestep_elem" is called which allows modifying data depending on the current solution at element-level.
[in] | currSol | the current solution |
[in] | dd | DoF Distribution |
|
virtual |
returns the future time point (i.e. the one that will be computed)
References UG_THROW.
|
virtual |
returns the number of constraints
Implements ug::IAssemble< TAlgebra >.
|
virtual |
returns number of previous time steps needed
|
virtual |
returns the number of stages
|
virtual |
prepares the assembling of Defect/Jacobian for a time step
This function supplies the TimeDiscretization with previous time steps and step size before the assembling routines can be called.
[in] | prevSol | the solution at the previous time steps |
[in] | dt | size of time step |
|
virtual |
prepares the assembling of Defect/Jacobian for a time step
This function supplies the TimeDiscretization with previous time steps and step size before the assembling routines can be called. A sub-routine at element-level ("prep_timestep_elem") is called within this function.
[in] | prevSol | the solution at the previous time steps |
[in] | dt | size of time step |
[in] | dd | DoF Distribution |
|
virtual |
sets the stage
|
protected |
Referenced by ug::CompositeTimeDiscretization< TAlgebra >::add_time_disc().