Package by.andd3dfx.math.pde.solver
Class HyperbolicEquationSolver
java.lang.Object
by.andd3dfx.math.pde.solver.AbstractEquationSolver<HyperbolicEquation>
by.andd3dfx.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 by.andd3dfx.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 by.andd3dfx.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
-