![]() |
DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
|
"Model of Explicit scheme with time integration algorithm. Finite difference model a numerical representation of the math equations More...
#include <dbpp_FiniteDifferenceModel.h>
Public Member Functions | |
FiniteDifferenceModel (std::string aName, SweRhsAlgorithm *aRhsAlgo) | |
Ctor from rhs algorithm. | |
void | advance (const std::shared_ptr< FiniteVolumeDiscretization > &aGblDiscr, Time aFrom, Time aTo, float64 aNts) const |
Step through time (depending on the step condition) |
Private Types | |
using | Time = double |
"Model of Explicit scheme with time integration algorithm. Finite difference model a numerical representation of the math equations
" U(n+1) = U(n) - lambda*{ F(i+1/2) - F(i-1/2)} + SourceTerms + Pressure Term
The last equation can be put in an operator form as follow:
U(n+1;j) = H(U(n); t)
where "H" is called discretization operator.
Design Note: responsible to evaluate the following model: U(n+1) = U(n) -lambda*F - dt*S advance through time.
where F is the numerical flux at the interface (j+1/2), it is the derivative (F=F_i-F_i-1), S is the source term. Default stepping is the Euler integrator.
User can change the time stepping and flux algorithm.
|
private |
|
inline |
Ctor from rhs algorithm.
aName | name of the algporithm |
aRhsAlgo | rhs algorithm |
|
inline |
Step through time (depending on the step condition)
aGblDiscr | finite volume discretization |
aFrom | start time |
aTo | stop time |
aNts | number time steps |