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
- Alphabetic
- By Inheritance
- ParabolicPDE
- Error
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- 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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def flaw(method: String, message: String): Unit
- Definition Classes
- Error
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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
- 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
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated