Class HyperbolicEquationSolver
java.lang.Object
io.github.andreipunko.math.pde.solver.AbstractEquationSolver<HyperbolicEquation>
io.github.andreipunko.math.pde.solver.HyperbolicEquationSolver
- All Implemented Interfaces:
EquationSolver<HyperbolicEquation>
Solver for hyperbolic partial differential equations.
Implements numerical method for solving hyperbolic equations using
an implicit finite difference scheme. The algorithm is based on
the three-layer scheme with weights for time discretization.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class io.github.andreipunko.math.pde.solver.AbstractEquationSolver
AbstractEquationSolver.KappaNu -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionsolve(HyperbolicEquation eqn, double h, double tau) Solves hyperbolic partial differential equation using numerical method.Methods inherited from class io.github.andreipunko.math.pde.solver.AbstractEquationSolver
buildArea, calcKappaNu, prepare, solve3DiagonalEquationsSystem
-
Constructor Details
-
HyperbolicEquationSolver
public HyperbolicEquationSolver()
-
-
Method Details
-
solve
Solves hyperbolic partial differential equation using numerical method. The solution is found using a three-layer implicit finite difference scheme. The algorithm consists of two main steps:- Calculation of the first time layer using initial conditions and their derivatives
- Solution of the three-layer implicit scheme for subsequent time layers
- Parameters:
eqn- hyperbolic partial differential equation to solveh- spatial step size (must be positive)tau- temporal step size (must be positive)- Returns:
- solution containing function values at all grid points
- Throws:
IllegalArgumentException- if parameters h or tau are non-positive
-