LifeV
OneDFSIFlux Class Referenceabstract

OneDFSIFlux - Base class for the flux term $\mathbf F$ of the 1D hyperbolic problem. More...

#include <OneDFSIFlux.hpp>

+ Inheritance diagram for OneDFSIFlux:
+ Collaboration diagram for OneDFSIFlux:

Protected Attributes

physicsPtr_Type M_physicsPtr
 

Type definitions and Enumerators

typedef FactorySingleton< Factory< OneDFSIFlux, OneDFSI::fluxTerm_Type > > factoryFlux_Type
 
typedef OneDFSIPhysics physics_Type
 
typedef std::shared_ptr< physics_TypephysicsPtr_Type
 
typedef OneDFSIData::container2D_Type container2D_Type
 

Constructors & Destructor

 OneDFSIFlux ()
 Empty constructor. More...
 
 OneDFSIFlux (const physicsPtr_Type physicsPtr)
 Constructor. More...
 
virtual ~OneDFSIFlux ()
 Do nothing destructor. More...
 

Virtual Methods

virtual Real flux (const Real &A, const Real &Q, const ID &row, const UInt &iNode) const =0
 Evaluate the flux term. More...
 
virtual Real dFdU (const Real &A, const Real &Q, const ID &row, const ID &column, const UInt &iNode) const =0
 Evaluate the derivative of the flux term. More...
 
virtual void eigenValuesEigenVectors (const Real &A, const Real &Q, container2D_Type &eigenvalues, container2D_Type &leftEigenvector1, container2D_Type &leftEigenvector2, const UInt &iNode) const =0
 Eigenvalues and eigenvectors of the Jacobian matrix. More...
 
virtual void deltaEigenValuesEigenVectors (const Real &A, const Real &Q, container2D_Type &deltaEigenvalues, container2D_Type &deltaLeftEigenvector1, container2D_Type &deltaLeftEigenvector2, const UInt &iNode) const =0
 Derivatives of the eigenvalues and eigenvectors of the derivative of the Jacobian matrix. More...
 

Set Methods

void setPhysics (const physicsPtr_Type &physicsPtr)
 Set the physics of the problem. More...
 

Get Methods

physicsPtr_Type physics () const
 Get the physics of the problem. More...
 

Unimplemented Methods

 OneDFSIFlux (const OneDFSIFlux &flux)
 
OneDFSIFluxoperator= (const OneDFSIFlux &flux)
 

Detailed Description

OneDFSIFlux - Base class for the flux term $\mathbf F$ of the 1D hyperbolic problem.

Author
Cristiano Malossi
See also
Equations and networks of 1-D models [7]
Geometrical multiscale coupling of 1-D models [12] [13] [3]

The conservative form of the generic hyperbolic problem is

\[ \frac{\partial \mathbf U}{\partial t} + \frac{\partial \mathbf F(\mathbf U)}{\partial z} + \mathbf S(\mathbf U) = 0, \]

where $\mathbf U$ are the conservative variables, $\mathbf F$ the corresponding fluxes, and $\mathbf S$ represents the source terms.

This class implements all the interfaces required for the computation of $\mathbf F$ and its derivatives.

Definition at line 63 of file OneDFSIFlux.hpp.

Member Typedef Documentation

◆ factoryFlux_Type

◆ physics_Type

Definition at line 73 of file OneDFSIFlux.hpp.

◆ physicsPtr_Type

typedef std::shared_ptr< physics_Type > physicsPtr_Type

Definition at line 74 of file OneDFSIFlux.hpp.

◆ container2D_Type

Constructor & Destructor Documentation

◆ OneDFSIFlux() [1/3]

OneDFSIFlux ( )
inlineexplicit

Empty constructor.

Definition at line 85 of file OneDFSIFlux.hpp.

+ Here is the caller graph for this function:

◆ OneDFSIFlux() [2/3]

OneDFSIFlux ( const physicsPtr_Type  physicsPtr)
inlineexplicit

Constructor.

Parameters
physicsPtrpointer to the physics of the problem

Definition at line 91 of file OneDFSIFlux.hpp.

+ Here is the caller graph for this function:

◆ ~OneDFSIFlux()

virtual ~OneDFSIFlux ( )
inlinevirtual

Do nothing destructor.

Definition at line 94 of file OneDFSIFlux.hpp.

◆ OneDFSIFlux() [3/3]

OneDFSIFlux ( const OneDFSIFlux flux)
explicitprivate

Member Function Documentation

◆ flux()

virtual Real flux ( const Real A,
const Real Q,
const ID row,
const UInt iNode 
) const
pure virtual

Evaluate the flux term.

Parameters
Aarea
Qflow rate
rowrow of the flux term
iNodenode of the mesh

Implemented in OneDFSIFluxNonLinear, and OneDFSIFluxLinear.

◆ dFdU()

virtual Real dFdU ( const Real A,
const Real Q,
const ID row,
const ID column,
const UInt iNode 
) const
pure virtual

Evaluate the derivative of the flux term.

Parameters
Aarea
Qflow rate
rowrow of the derivative of the flux term
columncolumn of the derivative of the flux term
iNodenode of the mesh

Implemented in OneDFSIFluxNonLinear, and OneDFSIFluxLinear.

◆ eigenValuesEigenVectors()

virtual void eigenValuesEigenVectors ( const Real A,
const Real Q,
container2D_Type eigenvalues,
container2D_Type leftEigenvector1,
container2D_Type leftEigenvector2,
const UInt iNode 
) const
pure virtual

Eigenvalues and eigenvectors of the Jacobian matrix.

Parameters
Aarea
Qflow rate
eigenvalueseigenvalues of the Jacobian matrix
leftEigenvector1first row of the left eigenvector matrix
leftEigenvector2second row of the left eigenvector matrix
iNodenode of the mesh

Implemented in OneDFSIFluxNonLinear, and OneDFSIFluxLinear.

◆ deltaEigenValuesEigenVectors()

virtual void deltaEigenValuesEigenVectors ( const Real A,
const Real Q,
container2D_Type deltaEigenvalues,
container2D_Type deltaLeftEigenvector1,
container2D_Type deltaLeftEigenvector2,
const UInt iNode 
) const
pure virtual

Derivatives of the eigenvalues and eigenvectors of the derivative of the Jacobian matrix.

Parameters
Aarea
Qflow rate
deltaEigenvaluesderivative of the eigenvalues of the derivative of the Jacobian matrix
deltaLeftEigenvector1derivative of the first row of the left eigenvector matrix
deltaLeftEigenvector2derivative of the second row of the left eigenvector matrix
iNodenode of the mesh

Implemented in OneDFSIFluxNonLinear, and OneDFSIFluxLinear.

◆ setPhysics()

void setPhysics ( const physicsPtr_Type physicsPtr)
inline

Set the physics of the problem.

Parameters
physicsPtrpointer to the physics of the problem

Definition at line 162 of file OneDFSIFlux.hpp.

◆ physics()

physicsPtr_Type physics ( ) const
inline

Get the physics of the problem.

Returns
physics of the problem

Definition at line 177 of file OneDFSIFlux.hpp.

◆ operator=()

OneDFSIFlux& operator= ( const OneDFSIFlux flux)
private

Field Documentation

◆ M_physicsPtr

physicsPtr_Type M_physicsPtr
protected

Definition at line 186 of file OneDFSIFlux.hpp.


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