LinearImplicitEuler (SmartPtr< IDomainDiscretization< algebra_type > > spDD)
CTOR.
LinearImplicitEuler (SmartPtr< IDomainDiscretization< algebra_type > > spDefectDisc, SmartPtr< IDomainDiscretization< algebra_type > > spMatrixJDisc)
CTOR.
LinearImplicitEuler (SmartPtr< IDomainDiscretization< algebra_type > > spDefectDisc, SmartPtr< IDomainDiscretization< algebra_type > > spMatrixJDisc, SmartPtr< IDomainDiscretization< algebra_type > > spGammaDisc)
CTOR.
virtual ~LinearImplicitEuler ()
DTOR.
virtual size_t num_prev_steps () const
virtual void prepare_step (SmartPtr< VectorTimeSeries< vector_type > > prevSol, number dt)
virtual void prepare_step_elem (SmartPtr< VectorTimeSeries< vector_type > > prevSol, number dt, const GridLevel &gl)
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
void assemble_jacobian (matrix_type &J, const vector_type &u, const GridLevel &gl)
Meant to assemble J(u) c = d(u), but abused here... (u not used!)
void assemble_defect (vector_type &d, const vector_type &u, const GridLevel &gl)
Meant to assemble d(u), but abused here... (u not used!)
void assemble_linear (matrix_type &A, vector_type &b, const GridLevel &gl)
Should return (M+tau A) delta = tau f.
void assemble_rhs (vector_type &b, const vector_type &u, const GridLevel &gl)
void assemble_rhs (vector_type &b, const GridLevel &gl)
void adjust_solution (vector_type &u, const GridLevel &gl)
virtual size_t num_stages () const
virtual void set_stage (size_t stage)
void enable_linear_mode ()
Some simplifications for linear systems. (In this case, the mass matrix is not re-assembled.)
void disable_linear_mode ()
bool use_linear_mode () const
void enable_matrix_cache ()
void disable_matrix_cache ()
void set_matrix_cache (bool useCache)
void invalidate ()
Invalidate all cached operators.
void invalidate_gamma ()
Invalidate Gamma operator.
void set_gamma_disc (SmartPtr< IDomainDiscretization< algebra_type > > spGammaDisc)
template<class TAlgebra>
class ug::LinearImplicitEuler< TAlgebra >
This time stepping scheme discretizes equations of the form
as
Thus, for this is the Backward-Euler time stepping.