![]() |
DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
|
Belongs two-step integrator Runge-Kutta family. More...
#include <dbpp_NujicIntegrator.h>
Public Types | |
| enum class | eIntegratorStep { predictor =0 , corrector =1 } |
| Enumeration integrator steps. More... | |
Public Member Functions | |
| NujicIntegrator () | |
| Default ctor. | |
| NujicIntegrator (std::size_t aNbGridPts, float64 aSpatialStep) | |
| Ctor from number of mesh grid points and mesh spatoial step. | |
| void | step (dbpp::SweRhsData< float64, std::valarray< float64 > > &&aRhs, float64 aDt) |
| Step algorithm. | |
| void | TwoInOneStep (dbpp::SweRhsAlgorithm *aRhsAlgo, const float64 aDt) |
| Step algorithm. | |
| template<typename Range> | |
| void | initialSolution (const Range &aRng1, const Range &aRng2) |
| Initial solution. | |
| void | setInitialState (StateVector aField) |
| Initial state. | |
| StateVector | getCurrentState () const |
| Getter. | |
| StateVector | getMidState () const |
| Getter. | |
| slnpairvarray | getSolutionAsVarray () const |
| solution of the integration step | |
| slnpairvector | getSolutionAsVector () const |
| Getter. | |
| StateVector | getSolutionAsField () const noexcept |
| Getter. | |
| void | setStep (float64 aStep) noexcept |
| Set time step. | |
| float64 | getStep () const noexcept |
| Getter. | |
| void | setIntegratorStep (const eIntegratorStep aIntegratorStep) |
| Set integrator algorithm step. | |
| eIntegratorStep | getIntegratorStep () const noexcept |
| Getter. | |
| void | setPhysicalBoundaryCnd () |
| Not implemented. | |
| void | setLeftNodeBCValues (const std::pair< float64, float64 > &aPairLeftBC) |
| Left node (far left computational domain) | |
Protected Member Functions | |
| void | predictor (dbpp::SweRhsData< float64, std::valarray< float64 > > &&aRhs, float64 aDt) |
| predictor algorithm | |
| void | corrector (dbpp::SweRhsData< float64, std::valarray< float64 > > &&aRhs, float64 aDt) |
| corrector algorithm | |
Private Types | |
| using | slnpairvarray = std::pair<std::valarray<float64>, std::valarray<float64>> |
| Alias (pair of numerical array fast floating) | |
| using | slnpairvector = std::pair<std::vector<float64>, std::vector<float64>> |
| Alias (pair of vector) | |
Private Member Functions | |
| void | allocField () |
| memory allocation | |
Private Attributes | |
| std::size_t | m_numOfGridPts |
| float64 | m_step |
| float64 | m_spatialStep |
| std::pair< float64, float64 > | m_leftBCValues |
| eIntegratorStep | m_integratorStep |
| std::valarray< float64 > | m_prevU1Values |
| std::valarray< float64 > | m_prevU2Values |
| StateVector | m_prevState |
| std::valarray< float64 > | m_currU1Values |
| std::valarray< float64 > | m_currU2Values |
| StateVector | m_currState |
Belongs two-step integrator Runge-Kutta family.
|
private |
Alias (pair of numerical array fast floating)
|
private |
Alias (pair of vector)
|
strong |
| dbpp::NujicIntegrator::NujicIntegrator | ( | ) |
Default ctor.
| dbpp::NujicIntegrator::NujicIntegrator | ( | std::size_t | aNbGridPts, |
| float64 | aSpatialStep ) |
Ctor from number of mesh grid points and mesh spatoial step.
| aNbGridPts | number of mesh grid points |
| aSpatialStep | mesh spatoial step |
|
private |
memory allocation
|
protected |
corrector algorithm
| aRhs | rhs data |
| aDt | time step |
|
inline |
Getter.
|
inlinenoexcept |
Getter.
|
inline |
|
inlinenoexcept |
Getter.
|
inline |
solution of the integration step
|
inline |
Getter.
|
inlinenoexcept |
Getter.
|
inline |
Initial solution.
| Range | Range type |
| aRng1 | first range (first state variable) |
| aRng2 | second range (second state variable) |
|
protected |
predictor algorithm
| aRhs | rhs data |
| aDt | stime step |
| void dbpp::NujicIntegrator::setInitialState | ( | StateVector | aField | ) |
|
inline |
Set integrator algorithm step.
| aIntegratorStep |
|
inline |
Left node (far left computational domain)
| aPairLeftBC | B.C. values |
|
inline |
Not implemented.
|
inlinenoexcept |
Set time step.
| aStep | step value |
| void dbpp::NujicIntegrator::step | ( | dbpp::SweRhsData< float64, std::valarray< float64 > > && | aRhs, |
| float64 | aDt ) |
Step algorithm.
| aRhs | right hand side discretization values |
| aDt | time step |
| void dbpp::NujicIntegrator::TwoInOneStep | ( | dbpp::SweRhsAlgorithm * | aRhsAlgo, |
| const float64 | aDt ) |
Step algorithm.
| aRhsAlgo | right hand side discretization algorithm |
| aDt | time step |
|
private |
deprecated!!
|
private |
values at current step
|
private |
values at current step
|
private |
integrator step type
boundary values of left node
|
private |
deprecated!!
|
private |
deprecated!!
|
private |
values at previous step
|
private |
values at previous step
|
private |
deprecated!!
|
private |
deprecated!!