|
1D Heat Equation Solver 1.0
Computational Methods Assignment 2025
|
Abstract interface for time-integration schemes solving the 1D heat equation. More...
#include <method.hpp>


Public Member Functions | |
| virtual | ~Method ()=default |
| virtual std::string | name () const =0 |
| Get human-readable name of the scheme. | |
| virtual void | step (const Grid &g, double D, double dt, const std::vector< double > &Tprev, const std::vector< double > &Tcurr, std::vector< double > &Tnext) const =0 |
| Computes the temperature field at the next time step (T^{n+1}). | |
| virtual bool | uses_previous_step () const =0 |
| Indicates if the scheme requires data from time step n-1. | |
Abstract interface for time-integration schemes solving the 1D heat equation.
This interface abstracts away the difference between explicit/implicit schemes and 2-level/3-level time stepping schemes.
Definition at line 27 of file method.hpp.
|
virtualdefault |
|
pure virtual |
Get human-readable name of the scheme.
Implemented in CrankNicolson, DuFortFrankel, Laasonen, and Richardson.
|
pure virtual |
Computes the temperature field at the next time step (T^{n+1}).
| g | Grid metadata (spacing dx and node count Nx). |
| D | Thermal diffusivity [cm^2/h]. |
| dt | Time step size [h]. |
| Tprev | Temperature at time step n-1 (Read-only). Required only for 3-level schemes (Richardson, DuFort-Frankel). For 2-level schemes, this vector may be ignored. |
| Tcurr | Temperature at time step n (Read-only). |
| Tnext | Output vector to be filled with temperature at time step n+1. |
Implemented in CrankNicolson, DuFortFrankel, Laasonen, and Richardson.
|
pure virtual |
Indicates if the scheme requires data from time step n-1.
Implemented in CrankNicolson, DuFortFrankel, Laasonen, and Richardson.