SpECTRE  v2024.04.12
TimeSteppers::RungeKutta::ButcherTableau Struct Reference

Public Attributes

std::vector< double > substep_times
 
std::vector< std::vector< double > > substep_coefficients
 
std::vector< double > result_coefficients
 
std::vector< double > error_coefficients
 
std::vector< std::vector< double > > dense_coefficients
 

Member Data Documentation

◆ dense_coefficients

std::vector<std::vector<double> > TimeSteppers::RungeKutta::ButcherTableau::dense_coefficients

Coefficient polynomials for dense output. Each entry is the coefficients of a polynomial that will be evaluated with the fraction of the way through the step at which output is desired:

\begin{equation} y = y_0 + \sum_i y'_i \sum_j p_{ij} x^j \qquad 0 \le x \le 1 \end{equation}

The derivative at the start of the next step is available as an additional substep after the final real substep. Trailing zero polynomials can be omitted.

◆ error_coefficients

std::vector<double> TimeSteppers::RungeKutta::ButcherTableau::error_coefficients

The coefficients for an error estimate. Often called \(b^*\) or \(\hat{b}\) in the literature.

◆ result_coefficients

std::vector<double> TimeSteppers::RungeKutta::ButcherTableau::result_coefficients

The coefficients for the final result. Often called \(b\) in the literature.

If the number of coefficients is smaller than the number of substeps defined in substep_coefficients, the extra substeps will only be performed when an error estimate is requested.

◆ substep_coefficients

std::vector<std::vector<double> > TimeSteppers::RungeKutta::ButcherTableau::substep_coefficients

The coefficient matrix of the substeps. Do not include the initial empty row or the coefficients for the full step. Often called \(A\) in the literature.

◆ substep_times

std::vector<double> TimeSteppers::RungeKutta::ButcherTableau::substep_times

The times of the substeps, excluding the initial time step. Often called \(c\) in the literature.


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