DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU > Class Template Reference

#include <ODE.hpp>

Inheritance diagram for DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >:
[legend]
Collaboration diagram for DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >:
[legend]

Public Types

using tBase = ImplicitDualTimeStep< TDATA, TDTAU >
 
using Frhs = typename tBase::Frhs
 
using Fdt = typename tBase::Fdt
 
using Fsolve = typename tBase::Fsolve
 
using Fstop = typename tBase::Fstop
 
using Fincrement = typename tBase::Fincrement
 
using FresidualIncPP = std::function< void(TDATA &, TDATA &, TDATA &, TDATA &, const std::function< void()> &, real, int)>
 
using FalphaLimSource = std::function< void(TDATA &, int)>
 
- Public Types inherited from DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >
using Frhs = std::function< void(TDATA &, TDATA &, TDTAU &, int, real, int)>
 
using Fdt = std::function< void(TDATA &, TDTAU &, real, int)>
 
using Fsolve = std::function< void(TDATA &, TDATA &, TDATA &, TDTAU &, real, real, TDATA &, int, real, int)>
 
using Fstop = std::function< bool(int, TDATA &, int)>
 
using Fincrement = std::function< void(TDATA &, TDATA &, real, int)>
 

Public Member Functions

template<class Finit , class FinitDtau >
 ImplicitBDFDualTimeStep (index NDOF, Finit &&finit=[](TDATA &) {}, FinitDtau &&finitDtau=[](TDTAU &) {}, index k=2)
 mind that NDOF is the dof of dt finit(TDATA& data)
 
virtual void Step (TDATA &x, TDATA &xinc, const Frhs &frhs, const Fdt &fdt, const Fsolve &fsolve, int maxIter, const Fstop &fstop, const Fincrement &fincrement, real dt) override
 frhs(TDATA &rhs, TDATA &x) fdt(TDTAU& dTau) fsolve(TDATA &x, TDATA &rhs, TDTAU& dTau, real dt, real alphaDiag, TDATA &xinc) bool fstop(int iter, TDATA &xinc, int iInternal)
 
void StepPP (TDATA &x, TDATA &xinc, const Frhs &frhs, const Fdt &fdt, const Fsolve &fsolve, int maxIter, const Fstop &fstop, const Fincrement &fincrement, real dt, const FalphaLimSource &falphaLimSource, const FresidualIncPP &fresidualIncPP)
 
virtual TDATA & getLatestRHS () override
 
TDATA & getRHS (int i) override
 
TDATA & getRES (int i) override
 
virtual ~ImplicitBDFDualTimeStep ()=default
 
- Public Member Functions inherited from DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >
virtual ~ImplicitDualTimeStep ()=default
 
virtual void SetExtraParams (const nlohmann::ordered_json &j)
 

Public Attributes

TDTAU dTau
 
std::vector< TDATA > xPrevs
 
Eigen::VectorXd dtPrevs
 
std::vector< TDATA > rhsbuf
 
TDATA rhs
 
TDATA resOther
 
TDATA xLast
 
TDATA xIncPrev
 
TDATA resInc
 
index DOF
 
index cnPrev
 
index prevStart
 
index kBDF
 

Detailed Description

template<class TDATA, class TDTAU>
class DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >

Definition at line 363 of file ODE.hpp.

Member Typedef Documentation

◆ FalphaLimSource

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::FalphaLimSource = std::function<void( TDATA &, int )>

Definition at line 488 of file ODE.hpp.

◆ Fdt

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::Fdt = typename tBase::Fdt

Definition at line 371 of file ODE.hpp.

◆ Fincrement

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::Fincrement = typename tBase::Fincrement

Definition at line 374 of file ODE.hpp.

◆ FresidualIncPP

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::FresidualIncPP = std::function<void( TDATA &, TDATA &, TDATA &, TDATA &, const std::function<void()> &, real, int )>

Definition at line 479 of file ODE.hpp.

◆ Frhs

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::Frhs = typename tBase::Frhs

Definition at line 370 of file ODE.hpp.

◆ Fsolve

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::Fsolve = typename tBase::Fsolve

Definition at line 372 of file ODE.hpp.

◆ Fstop

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::Fstop = typename tBase::Fstop

Definition at line 373 of file ODE.hpp.

◆ tBase

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::tBase = ImplicitDualTimeStep<TDATA, TDTAU>

Definition at line 369 of file ODE.hpp.

Constructor & Destructor Documentation

◆ ImplicitBDFDualTimeStep()

template<class TDATA , class TDTAU >
template<class Finit , class FinitDtau >
DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::ImplicitBDFDualTimeStep ( index  NDOF,
Finit &&  finit = [](TDATA &) {},
FinitDtau &&  finitDtau = [](TDTAU &) {},
index  k = 2 
)
inline

mind that NDOF is the dof of dt finit(TDATA& data)

Definition at line 396 of file ODE.hpp.

◆ ~ImplicitBDFDualTimeStep()

template<class TDATA , class TDTAU >
virtual DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::~ImplicitBDFDualTimeStep ( )
virtualdefault

Member Function Documentation

◆ getLatestRHS()

template<class TDATA , class TDTAU >
virtual TDATA & DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::getLatestRHS ( )
inlineoverridevirtual

Implements DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >.

Definition at line 575 of file ODE.hpp.

◆ getRES()

template<class TDATA , class TDTAU >
TDATA & DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::getRES ( int  i)
inlineoverridevirtual

Implements DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >.

Definition at line 585 of file ODE.hpp.

◆ getRHS()

template<class TDATA , class TDTAU >
TDATA & DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::getRHS ( int  i)
inlineoverridevirtual

Implements DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >.

Definition at line 580 of file ODE.hpp.

◆ Step()

template<class TDATA , class TDTAU >
virtual void DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::Step ( TDATA &  x,
TDATA &  xinc,
const Frhs frhs,
const Fdt fdt,
const Fsolve fsolve,
int  maxIter,
const Fstop fstop,
const Fincrement fincrement,
real  dt 
)
inlineoverridevirtual

frhs(TDATA &rhs, TDATA &x) fdt(TDTAU& dTau) fsolve(TDATA &x, TDATA &rhs, TDTAU& dTau, real dt, real alphaDiag, TDATA &xinc) bool fstop(int iter, TDATA &xinc, int iInternal)

Implements DNDS::ODE::ImplicitDualTimeStep< TDATA, TDTAU >.

Definition at line 423 of file ODE.hpp.

Here is the call graph for this function:

◆ StepPP()

template<class TDATA , class TDTAU >
void DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::StepPP ( TDATA &  x,
TDATA &  xinc,
const Frhs frhs,
const Fdt fdt,
const Fsolve fsolve,
int  maxIter,
const Fstop fstop,
const Fincrement fincrement,
real  dt,
const FalphaLimSource falphaLimSource,
const FresidualIncPP fresidualIncPP 
)
inline

Definition at line 493 of file ODE.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ cnPrev

template<class TDATA , class TDTAU >
index DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::cnPrev

Definition at line 387 of file ODE.hpp.

◆ DOF

template<class TDATA , class TDTAU >
index DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::DOF

Definition at line 386 of file ODE.hpp.

◆ dTau

template<class TDATA , class TDTAU >
TDTAU DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::dTau

Definition at line 376 of file ODE.hpp.

◆ dtPrevs

template<class TDATA , class TDTAU >
Eigen::VectorXd DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::dtPrevs

Definition at line 378 of file ODE.hpp.

◆ kBDF

template<class TDATA , class TDTAU >
index DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::kBDF

Definition at line 389 of file ODE.hpp.

◆ prevStart

template<class TDATA , class TDTAU >
index DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::prevStart

Definition at line 388 of file ODE.hpp.

◆ resInc

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::resInc

Definition at line 384 of file ODE.hpp.

◆ resOther

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::resOther

Definition at line 381 of file ODE.hpp.

◆ rhs

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::rhs

Definition at line 380 of file ODE.hpp.

◆ rhsbuf

template<class TDATA , class TDTAU >
std::vector<TDATA> DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::rhsbuf

Definition at line 379 of file ODE.hpp.

◆ xIncPrev

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::xIncPrev

Definition at line 383 of file ODE.hpp.

◆ xLast

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::xLast

Definition at line 382 of file ODE.hpp.

◆ xPrevs

template<class TDATA , class TDTAU >
std::vector<TDATA> DNDS::ODE::ImplicitBDFDualTimeStep< TDATA, TDTAU >::xPrevs

Definition at line 377 of file ODE.hpp.


The documentation for this class was generated from the following file: