Interface EquationSolver<E extends Equation>
- Type Parameters:
E- the type of partial differential equation this solver handles
- All Known Implementing Classes:
AbstractEquationSolver,HyperbolicEquationSolver,ParabolicEquationSolver
public interface EquationSolver<E extends Equation>
Interface for numerical solvers of partial differential equations.
Defines the contract that all PDE solvers must implement to provide
numerical solutions for different types of partial differential equations.
- See Also:
-
Method Summary
-
Method Details
-
solve
Solves a partial differential equation using numerical methods. The solution is found on a space-time grid defined by the spatial and temporal step sizes.Choosing
handtauis the caller's responsibility: the library does not check CFL-type or other problem-specific stability bounds (see this package's summary documentation).- Parameters:
eqn- the partial differential equation to solve (must not be null)h- spatial step size (must be finite and positive)tau- temporal step size (must be finite and positive)- Returns:
Solutionwith equation, domain, and grid values inSolution.matrix()- Throws:
IllegalArgumentException- if eqn is null, or if h or tau are not finite or not positive, or if an intermediate tridiagonal system is singular or numerically degenerate
-