LifeV
OneDFSIFluxLinear Class Reference

OneDFSIFluxLinear - Class containing the linear flux term $\mathbf F$ of the 1D hyperbolic problem. More...

#include <OneDFSIFluxLinear.hpp>

+ Inheritance diagram for OneDFSIFluxLinear:
+ Collaboration diagram for OneDFSIFluxLinear:

Type definitions and Enumerators

typedef OneDFSIFlux super
 

Constructors & Destructor

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

Methods

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

Unimplemented Methods

 OneDFSIFluxLinear (const OneDFSIFluxLinear &flux)
 
OneDFSIFluxLinearoperator= (const OneDFSIFluxLinear &flux)
 

Additional Inherited Members

- Public Types inherited from OneDFSIFlux
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
 
- Public Member Functions inherited from OneDFSIFlux
 OneDFSIFlux ()
 Empty constructor. More...
 
 OneDFSIFlux (const physicsPtr_Type physicsPtr)
 Constructor. More...
 
virtual ~OneDFSIFlux ()
 Do nothing destructor. More...
 
void setPhysics (const physicsPtr_Type &physicsPtr)
 Set the physics of the problem. More...
 
physicsPtr_Type physics () const
 Get the physics of the problem. More...
 
- Protected Attributes inherited from OneDFSIFlux
physicsPtr_Type M_physicsPtr
 

Detailed Description

OneDFSIFluxLinear - Class containing the linear flux term $\mathbf F$ of the 1D hyperbolic problem.

Author
Vincent Martin, 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.

In the present implementation we have:

\[ \mathbf F(\mathbf U) = \left[\begin{array}{c} \dots \\[2ex] \dots \end{array}\right], \quad \mathbf S(\mathbf U) = \mathbf B(\mathbf U) - \left[\begin{array}{c} \dots \\[2ex] \dots \end{array}\right] \]

The assumed wall-law is

\[ P-P_\mathrm{ext} = \psi(A,A^0,\beta_0, \beta_1, \gamma) = \dots \]

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

Definition at line 89 of file OneDFSIFluxLinear.hpp.

Member Typedef Documentation

◆ super

typedef OneDFSIFlux super

Definition at line 97 of file OneDFSIFluxLinear.hpp.

Constructor & Destructor Documentation

◆ OneDFSIFluxLinear() [1/3]

OneDFSIFluxLinear ( )
inlineexplicit

Empty constructor.

Definition at line 106 of file OneDFSIFluxLinear.hpp.

+ Here is the caller graph for this function:

◆ OneDFSIFluxLinear() [2/3]

OneDFSIFluxLinear ( const physicsPtr_Type  physicsPtr)
inlineexplicit

Constructor.

Parameters
physicsPtrpointer to the physics of the problem

Definition at line 112 of file OneDFSIFluxLinear.hpp.

◆ ~OneDFSIFluxLinear()

virtual ~OneDFSIFluxLinear ( )
inlinevirtual

Do nothing destructor.

Definition at line 115 of file OneDFSIFluxLinear.hpp.

◆ OneDFSIFluxLinear() [3/3]

OneDFSIFluxLinear ( const OneDFSIFluxLinear flux)
explicitprivate

Member Function Documentation

◆ flux()

Real flux ( const Real U1,
const Real U2,
const ID row,
const UInt iNode 
) const
virtual

Evaluate the source term.

\[ \begin{array}{rcl} \mathbf F(\mathbf U)_1 & = & F_{11} U_1 + F_{12} Ustd::placeholders::_2,\\ \mathbf F(\mathbf U)_2 & = & F_{21} U_1 + F_{22} U_2 \end{array} \]

]

Parameters
U1first unknown
U2second unknown
rowrow of the source term
iNodenode of the mesh

Implements OneDFSIFlux.

Definition at line 51 of file OneDFSIFluxLinear.cpp.

◆ dFdU()

Real dFdU ( const Real U1,
const Real U2,
const ID row,
const ID column,
const UInt iNode 
) const
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

Implements OneDFSIFlux.

Definition at line 66 of file OneDFSIFluxLinear.cpp.

◆ eigenValuesEigenVectors()

void eigenValuesEigenVectors ( const Real U1,
const Real U2,
container2D_Type eigenvalues,
container2D_Type leftEigenvector1,
container2D_Type leftEigenvector2,
const UInt iNode 
) const
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

Implements OneDFSIFlux.

Definition at line 90 of file OneDFSIFluxLinear.cpp.

◆ deltaEigenValuesEigenVectors()

void deltaEigenValuesEigenVectors ( const Real A,
const Real Q,
container2D_Type deltaEigenvalues,
container2D_Type deltaLeftEigenvector1,
container2D_Type deltaLeftEigenvector2,
const UInt iNode 
) const
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

Implements OneDFSIFlux.

Definition at line 106 of file OneDFSIFluxLinear.cpp.

◆ operator=()

OneDFSIFluxLinear& operator= ( const OneDFSIFluxLinear flux)
private

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