|
1D Heat Equation Solver 1.0
Computational Methods Assignment 2025
|
Implementation of the explicit Richardson scheme (CTCS). More...
#include <richardson.hpp>


Public Member Functions | |
| bool | uses_previous_step () const noexcept override |
| Indicate that this is a three-level scheme. | |
| std::string | name () const override |
| Get human-readable name of the scheme. | |
| void | step (const Grid &g, double D, double dt, const std::vector< double > &Tprev, const std::vector< double > &Tcurr, std::vector< double > &Tnext) const override |
| Advance one time step using the Richardson explicit scheme. | |
| Public Member Functions inherited from Method | |
| virtual | ~Method ()=default |
Implementation of the explicit Richardson scheme (CTCS).
The scheme reads:
![\[ T_i^{n+1} = T_i^{n-1} + 2 r \left( T_{i+1}^n - 2 T_i^n + T_{i-1}^n \right),
\quad r = \frac{D \, \Delta t}{\Delta x^2}
\]](form_0.png)
It is a three-level scheme, therefore it requires both 


Definition at line 26 of file richardson.hpp.
|
inlineoverridevirtual |
Get human-readable name of the scheme.
Implements Method.
Definition at line 42 of file richardson.hpp.
|
overridevirtual |
Advance one time step using the Richardson explicit scheme.
This computes 



| g | Grid metadata (spacing and number of nodes) |
| D | Diffusivity [cm^2/h] |
| dt | Time step [h] |
| Tprev | Temperature field at previous time layer ![]() |
| Tcurr | Temperature field at current time layer ![]() |
| Tnext | Output temperature field to be filled with ![]() |
Implements Method.
Definition at line 10 of file richardson.cpp.
|
inlineoverridevirtualnoexcept |
Indicate that this is a three-level scheme.

Implements Method.
Definition at line 33 of file richardson.hpp.