Plugins
|
#include <time_extrapolation.h>
Public Types | |
typedef TVector | vector_type |
vector type of solutions More... | |
Public Member Functions | |
AitkenNevilleTimex (std::vector< size_t > nsteps) | |
AitkenNevilleTimex (std::vector< size_t > nsteps, SmartPtr< ISubDiagErrorEst< vector_type > > error) | |
void | apply () |
apply for all stages More... | |
void | apply (size_t nstages, bool with_error=true) |
best error estimate More... | |
number | get_error_estimate (int k) const |
error estimate on stage k More... | |
const std::vector< number > & | get_error_estimates () const |
number | get_global_stepsize () |
SmartPtr< vector_type > | get_solution (size_t i) |
get solution (on stage i) More... | |
void | set_error_estimate (SmartPtr< ISubDiagErrorEst< vector_type > > subdiag) |
set error estimator More... | |
void | set_global_stepsize (number H) |
void | set_solution (SmartPtr< vector_type > soli, int i) |
set solution (for stage i) More... | |
virtual | ~AitkenNevilleTimex () |
Protected Member Functions | |
number | substep (size_t i) |
Private Attributes | |
std::vector< size_t > | m_num_steps |
std::vector< SmartPtr< vector_type > > | m_solution |
number | m_stepsize |
SmartPtr< ISubDiagErrorEst< vector_type > > | m_subdiag |
std::vector< number > | m_subdiag_error_est |
Static Private Attributes | |
static const int | m_order =1 |
typedef TVector ug::AitkenNevilleTimex< TVector >::vector_type |
vector type of solutions
|
inline |
Aitken Neville scheme with a given number
References make_sp().
|
inline |
|
inlinevirtual |
|
inline |
apply for all stages
References ug::AitkenNevilleTimex< TVector >::m_num_steps.
|
inline |
best error estimate
Triangular Aitken Neville extrapolation:
T_11 T_21 T_22
T_N1 T_NN
for T_ik
References ug::AitkenNevilleTimex< TVector >::m_num_steps, ug::AitkenNevilleTimex< TVector >::m_solution, ug::AitkenNevilleTimex< TVector >::m_subdiag, ug::AitkenNevilleTimex< TVector >::m_subdiag_error_est, UG_ASSERT, UG_LOG, and ug::VecScaleAdd().
Referenced by ug::LimexTimeIntegrator< TDomain, TAlgebra >::apply(), and ug::TimeIntegratorLinearAdaptive< TDomain, TAlgebra >::apply().
|
inline |
error estimate on stage k
References ug::AitkenNevilleTimex< TVector >::m_subdiag_error_est.
|
inline |
|
inline |
References ug::AitkenNevilleTimex< TVector >::m_stepsize.
|
inline |
get solution (on stage i)
References ug::AitkenNevilleTimex< TVector >::m_solution.
Referenced by ug::LimexTimeIntegrator< TDomain, TAlgebra >::apply().
|
inline |
set error estimator
References ug::AitkenNevilleTimex< TVector >::m_subdiag.
Referenced by ug::LimexTimeIntegrator< TDomain, TAlgebra >::apply().
|
inline |
References ug::AitkenNevilleTimex< TVector >::m_stepsize.
|
inline |
set solution (for stage i)
References ug::AitkenNevilleTimex< TVector >::m_solution.
Referenced by ug::LimexTimeIntegrator< TDomain, TAlgebra >::apply(), and ug::TimeIntegratorLinearAdaptive< TDomain, TAlgebra >::apply().
|
inlineprotected |
|
private |
n_i: number of intermediate steps (per stage)
Referenced by ug::AitkenNevilleTimex< TVector >::apply(), and ug::AitkenNevilleTimex< TVector >::substep().
|
staticprivate |
|
private |
vector of solutions (per stage)
Referenced by ug::AitkenNevilleTimex< TVector >::apply(), ug::AitkenNevilleTimex< TVector >::get_solution(), and ug::AitkenNevilleTimex< TVector >::set_solution().
|
private |
|
private |
evaluation on last stage
Referenced by ug::AitkenNevilleTimex< TVector >::apply(), and ug::AitkenNevilleTimex< TVector >::set_error_estimate().
|
private |
sub-diagonal error estimate (per stage)
Referenced by ug::AitkenNevilleTimex< TVector >::apply(), ug::AitkenNevilleTimex< TVector >::get_error_estimate(), and ug::AitkenNevilleTimex< TVector >::get_error_estimates().