Class HeatEquationSolver

java.lang.Object
org.episteme.core.mathematics.analysis.pde.HeatEquationSolver

public class HeatEquationSolver extends Object
1D Heat Equation Solver. Supports Explicit and Implicit integration schemas.

Reference:
Fourier, J. (1822). Théorie analytique de la chaleur. Firmin Didot.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • HeatEquationSolver

      public HeatEquationSolver(int nx, Real length, Real alpha)
    • HeatEquationSolver

      public HeatEquationSolver(int nx, double length, double alpha)
  • Method Details

    • setInitialCondition

      public void setInitialCondition(Function<Real,Real> f)
      Set initial condition.
    • setLeftBoundary

      public void setLeftBoundary(BoundaryType type, Real value)
    • setRightBoundary

      public void setRightBoundary(BoundaryType type, Real value)
    • stepExplicit

      public void stepExplicit(Real dt)
      Explicit Euler time step (FTCS scheme). Stable if dt invalid input: '<'= dx^2/(2*alpha)
    • stepImplicit

      public void stepImplicit(Real dt)
      Implicit Euler time step (unconditionally stable). Uses Thomas algorithm for tridiagonal system.
    • getSolution

      public Real[] getSolution()