|
| void | adjust_solution (vector_type &u, const GridLevel &gl) |
| |
| 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_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_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 GridLevel &gl) |
| |
| void | assemble_rhs (vector_type &b, const vector_type &u, const GridLevel &gl) |
| |
| void | disable_linear_mode () |
| |
| void | disable_matrix_cache () |
| |
| void | enable_linear_mode () |
| | Some simplifications for linear systems. (In this case, the mass matrix is not re-assembled.)
|
| |
| void | enable_matrix_cache () |
| |
| 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 | invalidate () |
| | Invalidate all cached operators.
|
| |
| void | invalidate_gamma () |
| | Invalidate Gamma operator.
|
| |
| | 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 size_t | num_prev_steps () const |
| |
| virtual size_t | num_stages () 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) |
| |
| void | set_gamma_disc (SmartPtr< IDomainDiscretization< algebra_type > > spGammaDisc) |
| |
| void | set_matrix_cache (bool useCache) |
| |
| virtual void | set_stage (size_t stage) |
| |
| bool | use_linear_mode () const |
| |
| virtual | ~LinearImplicitEuler () |
| | DTOR.
|
| |
| virtual SmartPtr< IConstraint< TAlgebra > > | constraint (size_t i) |
| |
| SmartPtr< IDomainDiscretization< TAlgebra > > | domain_disc () const |
| |
| void | finish_step_elem (SmartPtr< VectorTimeSeries< vector_type > > currSol) |
| |
| void | finish_step_elem (SmartPtr< VectorTimeSeries< vector_type > > currSol) |
| |
| | ITimeDiscretization (SmartPtr< IDomainDiscretization< TAlgebra > > spDD) |
| |
| virtual size_t | num_constraints () const |
| |
| void | prepare_step_elem (SmartPtr< VectorTimeSeries< vector_type > > prevSol, number dt) |
| |
| void | prepare_step_elem (SmartPtr< VectorTimeSeries< vector_type > > prevSol, number dt) |
| |
| void | adjust_solution (vector_type &u) |
| |
| virtual void | adjust_solution (vector_type &u, const GridLevel &gl)=0 |
| |
| void | assemble_defect (vector_type &d, const vector_type &u) |
| |
| virtual void | assemble_defect (vector_type &d, const vector_type &u, const GridLevel &gl)=0 |
| |
| void | assemble_jacobian (matrix_type &J, const vector_type &u) |
| |
| virtual void | assemble_jacobian (matrix_type &J, const vector_type &u, const GridLevel &gl)=0 |
| |
| void | assemble_linear (matrix_type &A, vector_type &b) |
| |
| virtual void | assemble_linear (matrix_type &A, vector_type &b, const GridLevel &gl)=0 |
| |
| 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) |
| |
| void | assemble_rhs (vector_type &b) |
| |
| virtual void | assemble_rhs (vector_type &b, const GridLevel &gl)=0 |
| |
| virtual void | assemble_rhs (vector_type &rhs, const vector_type &u) |
| |
| virtual void | assemble_rhs (vector_type &rhs, const vector_type &u, const GridLevel &gl)=0 |
| |
| 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) |
| |
| virtual | ~IAssemble () |
| |
| SmartPtr< IDebugWriter< algebra_type > > | debug_writer () |
| |
| ConstSmartPtr< IDebugWriter< algebra_type > > | debug_writer () const |
| |
| bool | debug_writer_valid () const |
| |
| | DebugWritingObject () |
| |
| | DebugWritingObject (const DebugWritingObject< algebra_type > &parent) |
| |
| | DebugWritingObject (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter) |
| |
| virtual void | set_debug (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter) |
| |
| virtual | ~DebugWritingObject () |
| |
| virtual void | set_debug (SmartPtr< IVectorDebugWriter< vector_type > > spDebugWriter) |
| |
| SmartPtr< IVectorDebugWriter< vector_type > > | vector_debug_writer () |
| |
| ConstSmartPtr< IVectorDebugWriter< vector_type > > | vector_debug_writer () const |
| |
| bool | vector_debug_writer_valid () const |
| |
| | VectorDebugWritingObject () |
| |
| | VectorDebugWritingObject (SmartPtr< IVectorDebugWriter< vector_type > > spDebugWriter) |
| |
| void | write_debug (const vector_type &vec, const char *filename) |
| |
| virtual | ~VectorDebugWritingObject () |
| |
template<class TAlgebra>
class ug::LinearImplicitEuler< TAlgebra >
This time stepping scheme discretizes equations of the form
\[
M \partial_t u(t) = f(t)
\]
as
\[
(M - \Delta t J) \left( u(t^{k+1}) - u(t^k) \right) = \Delta t \cdot f(t^{k})
\]
Thus, for \(\theta = 1 \) this is the Backward-Euler time stepping.