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

#include <ODE.hpp>

Inheritance diagram for DNDS::ODE::ImplicitVBDFDualTimeStep< TDATA, TDTAU >:
[legend]
Collaboration diagram for DNDS::ODE::ImplicitVBDFDualTimeStep< 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)>
 
using FlimitDtBDF = std::function< real(TDATA &, TDATA &)>
 
- 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 >
 ImplicitVBDFDualTimeStep (index NDOF, Finit &&finit=[](TDATA &) {}, FinitDtau &&finitDtau=[](TDTAU &) {}, index k=2)
 mind that NDOF is the dof of dt finit(TDATA& data)
 
void VBDFFrontMatters (real dt)
 
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(std::vector<real>& dTau) fsolve(TDATA &x, TDATA &rhs, std::vector<real>& dTau, real dt, real alphaDiag, TDATA &xinc) bool fstop(int iter, TDATA &xinc, int iInternal)
 
void LimitDt_StepPPV2 (TDATA &xIn, const FlimitDtBDF &flimitDtBDF, real &dtOut, real maxIncrease=2)
 
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 ~ImplicitVBDFDualTimeStep ()=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 xBase
 
TDATA xIncPrev
 
TDATA resInc
 
index DOF
 
index cnPrev
 
index prevStart
 
index kBDF
 

Detailed Description

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

Definition at line 601 of file ODE.hpp.

Member Typedef Documentation

◆ FalphaLimSource

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

Definition at line 759 of file ODE.hpp.

◆ Fdt

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

Definition at line 607 of file ODE.hpp.

◆ Fincrement

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

Definition at line 610 of file ODE.hpp.

◆ FlimitDtBDF

template<class TDATA , class TDTAU >
using DNDS::ODE::ImplicitVBDFDualTimeStep< TDATA, TDTAU >::FlimitDtBDF = std::function<real( TDATA &, TDATA & )>

Definition at line 763 of file ODE.hpp.

◆ FresidualIncPP

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

Definition at line 750 of file ODE.hpp.

◆ Frhs

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

Definition at line 606 of file ODE.hpp.

◆ Fsolve

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

Definition at line 608 of file ODE.hpp.

◆ Fstop

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

Definition at line 609 of file ODE.hpp.

◆ tBase

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

Definition at line 605 of file ODE.hpp.

Constructor & Destructor Documentation

◆ ImplicitVBDFDualTimeStep()

template<class TDATA , class TDTAU >
template<class Finit , class FinitDtau >
DNDS::ODE::ImplicitVBDFDualTimeStep< TDATA, TDTAU >::ImplicitVBDFDualTimeStep ( 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 639 of file ODE.hpp.

◆ ~ImplicitVBDFDualTimeStep()

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

Member Function Documentation

◆ getLatestRHS()

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

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

Definition at line 892 of file ODE.hpp.

◆ getRES()

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

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

Definition at line 902 of file ODE.hpp.

◆ getRHS()

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

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

Definition at line 897 of file ODE.hpp.

◆ LimitDt_StepPPV2()

template<class TDATA , class TDTAU >
void DNDS::ODE::ImplicitVBDFDualTimeStep< TDATA, TDTAU >::LimitDt_StepPPV2 ( TDATA &  xIn,
const FlimitDtBDF flimitDtBDF,
real dtOut,
real  maxIncrease = 2 
)
inline

Definition at line 768 of file ODE.hpp.

Here is the call graph for this function:

◆ Step()

template<class TDATA , class TDTAU >
virtual void DNDS::ODE::ImplicitVBDFDualTimeStep< 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(std::vector<real>& dTau) fsolve(TDATA &x, TDATA &rhs, std::vector<real>& dTau, real dt, real alphaDiag, TDATA &xinc) bool fstop(int iter, TDATA &xinc, int iInternal)

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

Definition at line 697 of file ODE.hpp.

Here is the call graph for this function:

◆ StepPP()

template<class TDATA , class TDTAU >
void DNDS::ODE::ImplicitVBDFDualTimeStep< 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 811 of file ODE.hpp.

Here is the call graph for this function:

◆ VBDFFrontMatters()

template<class TDATA , class TDTAU >
void DNDS::ODE::ImplicitVBDFDualTimeStep< TDATA, TDTAU >::VBDFFrontMatters ( real  dt)
inline

Definition at line 661 of file ODE.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ cnPrev

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

Definition at line 624 of file ODE.hpp.

◆ DOF

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

Definition at line 623 of file ODE.hpp.

◆ dTau

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

Definition at line 612 of file ODE.hpp.

◆ dtPrevs

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

Definition at line 614 of file ODE.hpp.

◆ kBDF

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

Definition at line 626 of file ODE.hpp.

◆ prevStart

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

Definition at line 625 of file ODE.hpp.

◆ resInc

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

Definition at line 621 of file ODE.hpp.

◆ resOther

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

Definition at line 617 of file ODE.hpp.

◆ rhs

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

Definition at line 616 of file ODE.hpp.

◆ rhsbuf

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

Definition at line 615 of file ODE.hpp.

◆ xBase

template<class TDATA , class TDTAU >
TDATA DNDS::ODE::ImplicitVBDFDualTimeStep< TDATA, TDTAU >::xBase

Definition at line 619 of file ODE.hpp.

◆ xIncPrev

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

Definition at line 620 of file ODE.hpp.

◆ xLast

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

Definition at line 618 of file ODE.hpp.

◆ xPrevs

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

Definition at line 613 of file ODE.hpp.


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