Class HyperbolicEquation

java.lang.Object
by.andd3dfx.math.pde.equation.Equation
by.andd3dfx.math.pde.equation.HyperbolicEquation

public class HyperbolicEquation extends Equation
Represents a hyperbolic partial differential equation, which typically describes wave propagation and oscillation processes. The equation has the form:

M(x,t,U)*∂²U/∂t² + L(x,t,U)*∂U/∂t = ∂U( K(x,t,U)*∂U/∂x )/∂x + V(x,t,U)*∂U/∂x + F(x,t,U)

where U = U(x,t) is the unknown function (displacement, pressure, etc.).

This is a special case of the general second-order PDE where the coefficient of the second-order time derivative (M) is one, representing the standard form of wave equations.

See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    HyperbolicEquation(double x1, double x2, double t2, BorderCondition leftBorderCondition, BorderCondition rightBorderCondition)
    Creates a new hyperbolic partial differential equation with specified domain and boundary conditions.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    gdU_dt0(double x)
    Returns the initial condition for the time derivative ∂U/∂t at time t = 0.
    double
    gM(double x, double t, double U)
    Returns the coefficient M(x,t,U) of the second-order time derivative term.

    Methods inherited from class by.andd3dfx.math.pde.equation.Equation

    gF, gK, gL, gU0, gV

    Methods inherited from class java.lang.Object

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

    • HyperbolicEquation

      public HyperbolicEquation(double x1, double x2, double t2, BorderCondition leftBorderCondition, BorderCondition rightBorderCondition)
      Creates a new hyperbolic partial differential equation with specified domain and boundary conditions.
      Parameters:
      x1 - left boundary of the spatial domain
      x2 - right boundary of the spatial domain
      t2 - right boundary of the temporal domain
      leftBorderCondition - boundary condition at x = x1
      rightBorderCondition - boundary condition at x = x2
      Throws:
      IllegalArgumentException - if x1 >= x2 or t2 <= 0
  • Method Details

    • gM

      public double gM(double x, double t, double U)
      Returns the coefficient M(x,t,U) of the second-order time derivative term. For hyperbolic equations, this coefficient is always 1, representing the standard form of wave equations.
      Overrides:
      gM in class Equation
      Parameters:
      x - spatial coordinate
      t - time coordinate
      U - value of the solution at (x,t)
      Returns:
      coefficient M(x,t,U) = 1
    • gdU_dt0

      public double gdU_dt0(double x)
      Returns the initial condition for the time derivative ∂U/∂t at time t = 0. This method should be overridden by specific hyperbolic equation types to provide the actual initial velocity or rate of change.
      Parameters:
      x - spatial coordinate
      Returns:
      initial value of ∂U/∂t(x,0)