Packages

class ParabolicPDE extends Error

The ParabolicPDE' class is used to solve parabolic partial differential equations like the Heat Equation. Let 'u(x, t)' = temperature of a rod at position '0 <= x <= xm' and time 't' > 0. Numerically solve the

Heat Equation: u_t = k * u_xx with initial conditions u(x, 0) = ic(x) boundary conditions (u(0, t), u(xm, t)) = bc

Linear Supertypes
Error, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ParabolicPDE
  2. Error
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ParabolicPDE(k: Double, dt: Double, dx: Double, xm: Double, ic: FunctionS2S, bc: (Double, Double))

    k

    the thermal conductivity

    dt

    delta 't'

    dx

    delta 'x'

    xm

    the length of the rod

    ic

    the initial conditions as a function of position 'x'

    bc

    the boundary conditions as a 2-tuple for end-points 0 and 'xm'

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def flaw(method: String, message: String): Unit
    Definition Classes
    Error
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  16. def solve(t: Double): VectorD

    Solve for the temperature of the rod at time 't', returning the vector of temperatures representing the temperature profile of the rod over its length.

    Solve for the temperature of the rod at time 't', returning the vector of temperatures representing the temperature profile of the rod over its length. This method uses an explicit finite difference technique to solve the PDE.

    t

    the time the solution is desired

  17. def solveCN(t: Double): VectorD

    Solve for the temperature of the rod at time 't', returning the vector of temperatures representing the temperature profile of the rod over its length.

    Solve for the temperature of the rod at time 't', returning the vector of temperatures representing the temperature profile of the rod over its length. This method uses the implicit Crank-Nicolson technique to solve the PDE, which provides greater stability and accuracy. Implicit recurrence equation: -r*u(i-1, j2) + 2.*(1.+r)*u(i, j2) - r*u(i+1, j2) = r*u(i-1, j1) + 2.*(1.-r)*u(i, j1) + r*u(i+1, j1) This equation is solved simultaneously: solve for 'u' in 'mat * u = vec'

    t

    the time the solution is desired

    See also

    people.sc.fsu.edu/~jpeterson/5-CrankNicolson.pdf

  18. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Error

Inherited from AnyRef

Inherited from Any

Ungrouped