![]() |
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!!