Class SecondOrder1DNumericalEvolver

java.lang.Object
org.drip.fdm.definition.SecondOrder1DNumericalEvolver
Direct Known Subclasses:
Diffusion1DNumericalEvolver

public class SecondOrder1DNumericalEvolver
extends java.lang.Object
SecondOrder1DNumericalEvolver implements key Second Order Finite Difference Schemes for R1 State Factor Space Evolution. The References are:

  • Datta, B. N. (2010): Numerical Linear Algebra and Applications 2nd Edition SIAM Philadelphia, PA
  • Cebeci, T. (2002): Convective Heat Transfer Horizon Publishing Hammond, IN
  • Crank, J., and P. Nicolson (1947): A Practical Method for Numerical Evaluation of Solutions of Partial Differential Equations of the Heat Conduction Type Proceedings of the Cambridge Philosophical Society 43 (1) 50-67
  • Thomas, J. W. (1995): Numerical Partial Differential Equations: Finite Difference Methods Springer-Verlag Berlin, Germany
  • Wikipedia (2023): Alternating-direction implicit method https://en.wikipedia.org/wiki/Alternating-direction_implicit_method
  • Wikipedia (2024): Crank–Nicolson method https://en.wikipedia.org/wiki/Crank%E2%80%93Nicolson_method




Author:
Lakshmi Krishnamurthy
  • Constructor Summary

    Constructors
    Constructor Description
    SecondOrder1DNumericalEvolver​(SecondOrder1DPDE secondOrder1DPDE, double factorIncrement)
    SecondOrder1DNumericalEvolver Constructor
  • Method Summary

    Modifier and Type Method Description
    double crankNicolsonDifferenceScheme​(double time, double factor)
    Compute the State Increment using the Crank-Nicolson State Evolver Scheme
    double eulerBackwardDifferenceScheme​(double time, double factor)
    Compute the State Increment using the Euler Backward Difference State Evolver Scheme
    double eulerForwardDifferenceScheme​(double time, double factor)
    Compute the State Increment using the Euler Forward Difference State Evolver Scheme
    SecondOrder1DPDE secondOrder1DPDE()
    Retrieve the Second Order R1 State Space Evolution PDE

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SecondOrder1DNumericalEvolver

      public SecondOrder1DNumericalEvolver​(SecondOrder1DPDE secondOrder1DPDE, double factorIncrement) throws java.lang.Exception
      SecondOrder1DNumericalEvolver Constructor
      Parameters:
      secondOrder1DPDE - Second Order R1 State Space Evolution PDE
      factorIncrement - Factor Increment
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
  • Method Details

    • secondOrder1DPDE

      public SecondOrder1DPDE secondOrder1DPDE()
      Retrieve the Second Order R1 State Space Evolution PDE
      Returns:
      Second Order R1 State Space Evolution PDE
    • eulerForwardDifferenceScheme

      public double eulerForwardDifferenceScheme​(double time, double factor) throws java.lang.Exception
      Compute the State Increment using the Euler Forward Difference State Evolver Scheme
      Parameters:
      time - Time
      factor - Factor Space Value
      Returns:
      State Increment using the Euler Forward Difference State Evolver Scheme
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • eulerBackwardDifferenceScheme

      public double eulerBackwardDifferenceScheme​(double time, double factor) throws java.lang.Exception
      Compute the State Increment using the Euler Backward Difference State Evolver Scheme
      Parameters:
      time - Time
      factor - Factor Space Value
      Returns:
      State Increment using the Euler Backward Difference State Evolver Scheme
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid
    • crankNicolsonDifferenceScheme

      public double crankNicolsonDifferenceScheme​(double time, double factor) throws java.lang.Exception
      Compute the State Increment using the Crank-Nicolson State Evolver Scheme
      Parameters:
      time - Time
      factor - Factor Space Value
      Returns:
      State Increment using the Crank-Nicolson State Evolver Scheme
      Throws:
      java.lang.Exception - Thrown if the Inputs are Invalid