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

Mapping between continuum and discrete domain. Transformation of the differential or integral equations to discrete algebraic equations involving the values of the unknowns at the mesh points. The basis of all numerical methods consists of this transformation of the physical euations into an algebraic, linear or non-linear, systems of equations. More...

#include <dbpp_NumericalMethod.h>

Inheritance diagram for dbpp::NumericalMethod:
Testvs19::Numethod_f dbpp::GodunovTypeScheme dbpp::SemiDiscreteMethod dbpp::Rk2HllScheme

Public Member Functions

virtual void initialize (const std::shared_ptr< FiniteVolumeDiscretization > &aGlbDiscr)
 Initialization.
virtual void mainLoop (const std::shared_ptr< FiniteVolumeDiscretization > &aGlbDiscr, Sfx::SfxTimePrm &aTime)=0
 Main loop to update all nodal values.
virtual Uh updatedValues ()=0
 update nodal values
virtual void setSweRhsAlgorithm (SweRhsAlgorithm *aSweAlgo)
 Set.
virtual SweRhsAlgorithmgetSweRhsAlgorithm () const =0
 Getter.
virtual SweRhsAlgorithmgetSweRhsAlgorithm ()=0
 Getter.
virtual bool isGodunovType () const
 Numerical method type.
virtual bool isFluxDiffSplitting () const
 Numerical method type.
virtual bool isSemiDiscreteMethod () const
 Numerical method type.
virtual bool isTimeDependent () const
 System time dependency.

Detailed Description

Mapping between continuum and discrete domain. Transformation of the differential or integral equations to discrete algebraic equations involving the values of the unknowns at the mesh points. The basis of all numerical methods consists of this transformation of the physical euations into an algebraic, linear or non-linear, systems of equations.

Member Function Documentation

◆ getSweRhsAlgorithm() [1/2]

virtual SweRhsAlgorithm * dbpp::NumericalMethod::getSweRhsAlgorithm ( ) const
pure virtual

Getter.

Returns
Rhs disretization algorithm

Implemented in dbpp::Rk2HllScheme, and dbpp::SemiDiscreteMethod.

◆ getSweRhsAlgorithm() [2/2]

virtual SweRhsAlgorithm * dbpp::NumericalMethod::getSweRhsAlgorithm ( )
pure virtual

Getter.

Returns
Rhs disretization algorithm

Implemented in dbpp::Rk2HllScheme, and dbpp::SemiDiscreteMethod.

◆ initialize()

virtual void dbpp::NumericalMethod::initialize ( const std::shared_ptr< FiniteVolumeDiscretization > & aGlbDiscr)
inlinevirtual

Initialization.

Parameters
aGlbDiscrGlobal discretization

Reimplemented in Testvs19::Numethod_f.

◆ isFluxDiffSplitting()

virtual bool dbpp::NumericalMethod::isFluxDiffSplitting ( ) const
inlinevirtual

Numerical method type.

Returns
true/false

◆ isGodunovType()

virtual bool dbpp::NumericalMethod::isGodunovType ( ) const
inlinevirtual

Numerical method type.

Returns
true/false

Reimplemented in dbpp::GodunovTypeScheme.

◆ isSemiDiscreteMethod()

virtual bool dbpp::NumericalMethod::isSemiDiscreteMethod ( ) const
inlinevirtual

Numerical method type.

Returns
true/false

Reimplemented in dbpp::SemiDiscreteMethod.

◆ isTimeDependent()

virtual bool dbpp::NumericalMethod::isTimeDependent ( ) const
inlinevirtual

System time dependency.

Returns
true/false

Reimplemented in dbpp::SemiDiscreteMethod.

◆ mainLoop()

virtual void dbpp::NumericalMethod::mainLoop ( const std::shared_ptr< FiniteVolumeDiscretization > & aGlbDiscr,
Sfx::SfxTimePrm & aTime )
pure virtual

Main loop to update all nodal values.

Parameters
aGlbDiscrGlobal discretization
aTimeSimulation time

Implemented in Testvs19::Numethod_f.

◆ setSweRhsAlgorithm()

virtual void dbpp::NumericalMethod::setSweRhsAlgorithm ( SweRhsAlgorithm * aSweAlgo)
inlinevirtual

Set.

Parameters
aSweAlgoRhs disretization algorithm

Reimplemented in dbpp::Rk2HllScheme, and dbpp::SemiDiscreteMethod.

◆ updatedValues()

virtual Uh dbpp::NumericalMethod::updatedValues ( )
pure virtual

update nodal values

Returns
nodal values

Implemented in dbpp::Rk2HllScheme, and dbpp::SemiDiscreteMethod.


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