DamBreak++ Wave Simulator 0.3
DamBreak++ Simulation Framework
Loading...
Searching...
No Matches
dbpp::SweRhsAlgorithm Class Referenceabstract

Abstract class. "Model" of the right-hand-side terms discretization. Hold discretization scheme or algorithm to be applied on each of them. More...

#include <dbpp_SweRhsAlgorithm.h>

Inheritance diagram for dbpp::SweRhsAlgorithm:
dbpp::RhsHLLFluxSrc dbpp::RhsPtr2FuncFlux

Public Member Functions

virtual ~SweRhsAlgorithm ()=default
 Dtor (disable move semantic) If base class has no members, not supporting move semantic has no effect.
virtual SweRhsData calculate (const Sfx::StateVectorField &aU, const std::shared_ptr< FiniteVolumeDiscretization > &aGblDiscr)=0
 Calculate (applied) rhs discretization algorithm.
virtual SweRhsData calculate (const Sfx::StateVectorField &aU)=0
 Calculate (applied) rhs discretization algorithm.
virtual std::string name () const
 Class name.
virtual void setPhysicalBoundaryCnd (const PhysicalBoundaryCnd &aPhyBnd)=0
 Set boundary condition.
virtual PhysicalBoundaryCnd getPhysicalBoundaryCnd () const =0
 Getter.
virtual void setFluxAlgorithm (FluxAlgorithm *aFluxAlgo, bool useIncompleteFlux=true)
 Set flux algorithm.
virtual void setPtr2FuncAlgo (CalculFF aPtr2Func)
 Flux algorithm (Pointer to function)
virtual void setSourceTermDiscr (SrcNumericalTreatment *aSrcTreatmnt, bool useManningFormula=true)
 Set source term discretization.
virtual void setPressureTermDiscr ()
 Set pressure term discretization.
virtual bool useReconstruction () const noexcept
 Used reconstruction of variables.
virtual bool useSourceTerms () const noexcept
 Used source terms.
virtual bool usePressureTerm () const noexcept
 Used pressure terms.
virtual bool useManningFormula () const noexcept
 Used friction formula.
virtual bool useIncompleteFlux () const noexcept
 Used convective.
virtual bool isFrictionLess () const noexcept
 Used friction.
virtual bool usePtr2FuncLegacy () const noexcept
 Used legacy algorithm.

Protected Member Functions

SweRhsAlgorithmoperator= (const SweRhsAlgorithm &)=delete
 disable assign operator to avoid slicing problem
SweRhsAlgorithmoperator= (SweRhsAlgorithm &&)=delete
 disable assign operator to avoid slicing problem

Detailed Description

Abstract class. "Model" of the right-hand-side terms discretization. Hold discretization scheme or algorithm to be applied on each of them.

Constructor & Destructor Documentation

◆ ~SweRhsAlgorithm()

virtual dbpp::SweRhsAlgorithm::~SweRhsAlgorithm ( )
virtualdefault

Dtor (disable move semantic) If base class has no members, not supporting move semantic has no effect.

Member Function Documentation

◆ calculate() [1/2]

virtual SweRhsData dbpp::SweRhsAlgorithm::calculate ( const Sfx::StateVectorField & aU)
pure virtual

Calculate (applied) rhs discretization algorithm.

Parameters
aUstate variables vector
Returns
Rhs data of each rhs term

Implemented in dbpp::RhsHLLFluxSrc, and dbpp::RhsPtr2FuncFlux.

◆ calculate() [2/2]

virtual SweRhsData dbpp::SweRhsAlgorithm::calculate ( const Sfx::StateVectorField & aU,
const std::shared_ptr< FiniteVolumeDiscretization > & aGblDiscr )
pure virtual

Calculate (applied) rhs discretization algorithm.

Parameters
aUstate variables vector
aGblDiscrFinite Volume discretization
Returns
Rhs data of each rhs term

Implemented in dbpp::RhsHLLFluxSrc, and dbpp::RhsPtr2FuncFlux.

◆ getPhysicalBoundaryCnd()

virtual PhysicalBoundaryCnd dbpp::SweRhsAlgorithm::getPhysicalBoundaryCnd ( ) const
pure virtual

Getter.

Returns
Physical boundary conditoion

Implemented in dbpp::RhsHLLFluxSrc, and dbpp::RhsPtr2FuncFlux.

◆ isFrictionLess()

virtual bool dbpp::SweRhsAlgorithm::isFrictionLess ( ) const
inlinevirtualnoexcept

Used friction.

Returns
true/false

Reimplemented in dbpp::RhsHLLFluxSrc, and dbpp::RhsPtr2FuncFlux.

◆ name()

virtual std::string dbpp::SweRhsAlgorithm::name ( ) const
inlinevirtual

Class name.

Returns
string

◆ operator=() [1/2]

SweRhsAlgorithm & dbpp::SweRhsAlgorithm::operator= ( const SweRhsAlgorithm & )
protecteddelete

disable assign operator to avoid slicing problem

Parameters
objectto assign to
Returns
modified object (this)

◆ operator=() [2/2]

SweRhsAlgorithm & dbpp::SweRhsAlgorithm::operator= ( SweRhsAlgorithm && )
protecteddelete

disable assign operator to avoid slicing problem

Parameters
objectto assign to
Returns
modified object (this)

◆ setFluxAlgorithm()

virtual void dbpp::SweRhsAlgorithm::setFluxAlgorithm ( FluxAlgorithm * aFluxAlgo,
bool useIncompleteFlux = true )
inlinevirtual

Set flux algorithm.

Parameters
aFluxAlgo
useIncompleteFlux

Reimplemented in dbpp::RhsHLLFluxSrc.

◆ setPhysicalBoundaryCnd()

virtual void dbpp::SweRhsAlgorithm::setPhysicalBoundaryCnd ( const PhysicalBoundaryCnd & aPhyBnd)
pure virtual

Set boundary condition.

Parameters
aPhyBndPhysical boundary conditoion

Implemented in dbpp::RhsHLLFluxSrc, and dbpp::RhsPtr2FuncFlux.

◆ setPressureTermDiscr()

virtual void dbpp::SweRhsAlgorithm::setPressureTermDiscr ( )
inlinevirtual

Set pressure term discretization.

◆ setPtr2FuncAlgo()

virtual void dbpp::SweRhsAlgorithm::setPtr2FuncAlgo ( CalculFF aPtr2Func)
inlinevirtual

Flux algorithm (Pointer to function)

Parameters
aPtr2Funcpointer to function

◆ setSourceTermDiscr()

virtual void dbpp::SweRhsAlgorithm::setSourceTermDiscr ( SrcNumericalTreatment * aSrcTreatmnt,
bool useManningFormula = true )
inlinevirtual

Set source term discretization.

Parameters
aSrcTreatmntdiscretization scheme
useManningFormulaManning formula used for friction

Reimplemented in dbpp::RhsHLLFluxSrc, and dbpp::RhsPtr2FuncFlux.

◆ useIncompleteFlux()

virtual bool dbpp::SweRhsAlgorithm::useIncompleteFlux ( ) const
inlinevirtualnoexcept

Used convective.

Returns
true/false

Reimplemented in dbpp::RhsPtr2FuncFlux.

◆ useManningFormula()

virtual bool dbpp::SweRhsAlgorithm::useManningFormula ( ) const
inlinevirtualnoexcept

Used friction formula.

Returns
true/false

◆ usePressureTerm()

virtual bool dbpp::SweRhsAlgorithm::usePressureTerm ( ) const
inlinevirtualnoexcept

Used pressure terms.

Returns
true/false

Reimplemented in dbpp::RhsPtr2FuncFlux.

◆ usePtr2FuncLegacy()

virtual bool dbpp::SweRhsAlgorithm::usePtr2FuncLegacy ( ) const
inlinevirtualnoexcept

Used legacy algorithm.

Returns
true/false

Reimplemented in dbpp::RhsPtr2FuncFlux.

◆ useReconstruction()

virtual bool dbpp::SweRhsAlgorithm::useReconstruction ( ) const
inlinevirtualnoexcept

Used reconstruction of variables.

Returns
true/false

Reimplemented in dbpp::RhsHLLFluxSrc, and dbpp::RhsPtr2FuncFlux.

◆ useSourceTerms()

virtual bool dbpp::SweRhsAlgorithm::useSourceTerms ( ) const
inlinevirtualnoexcept

Used source terms.

Returns
true/false

Reimplemented in dbpp::RhsHLLFluxSrc, and dbpp::RhsPtr2FuncFlux.


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