LifeV
OneDFSISourceNonLinear Class Reference

OneDFSISourceNonLinear - Class for the non-linear source function B of the 1D hyperbolic problem. More...

#include <OneDFSISourceNonLinear.hpp>

+ Inheritance diagram for OneDFSISourceNonLinear:
+ Collaboration diagram for OneDFSISourceNonLinear:

Type definitions and Enumerators

typedef OneDFSISource super
 

Constructors & Destructor

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

Methods

Real source (const Real &A, const Real &Q, const ID &row, const UInt &iNode) const
 Evaluate the source term. More...
 
Real dSdU (const Real &A, const Real &Q, const ID &row, const ID &column, const UInt &iNode) const
 Evaluate the derivative of the source term. More...
 
Real interpolatedNonConservativeSource (const Real &A, const Real &Q, const ID &row, const container2D_Type &bcNodes, const Real &cfl) const
 Evaluate the non-conservative form of the source term at the foot of the outgoing characteristic. More...
 

Unimplemented Methods

 OneDFSISourceNonLinear (const OneDFSISourceNonLinear &source)
 
OneDFSISourceNonLinearoperator= (const OneDFSISourceNonLinear &source)
 

Additional Inherited Members

- Public Types inherited from OneDFSISource
typedef FactorySingleton< Factory< OneDFSISource, OneDFSI::sourceTerm_Type > > factorySource_Type
 
typedef OneDFSIPhysics physics_Type
 
typedef std::shared_ptr< physics_TypephysicsPtr_Type
 
typedef OneDFSIData::container2D_Type container2D_Type
 
- Public Member Functions inherited from OneDFSISource
 OneDFSISource ()
 Empty constructor. More...
 
 OneDFSISource (const physicsPtr_Type physicsPtr)
 Constructor. More...
 
virtual ~OneDFSISource ()
 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 OneDFSISource
physicsPtr_Type M_physicsPtr
 

Detailed Description

OneDFSISourceNonLinear - Class for the non-linear source function B 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} Q \\[2ex] \alpha \displaystyle \frac{Q^2}{A} + \displaystyle \displaystyle\int_{0}^A \frac{A}{\rho}\frac{\partial \psi}{\partial A} dA \end{array}\right], \quad \mathbf S(\mathbf U) = \mathbf B(\mathbf U) - \left[\begin{array}{c} 0 \\[2ex] \displaystyle\frac{\partial}{\partial A^0}\displaystyle\int_{0}^A \displaystyle\frac{A}{\rho}\displaystyle\frac{\partial \psi}{\partial A} dA \displaystyle\frac{\partial A^0}{\partial z} + \displaystyle\frac{\partial}{\partial \beta_0}\displaystyle\int_{0}^A \displaystyle\frac{A}{\rho}\displaystyle\frac{\partial \psi}{\partial A} dA \displaystyle\frac{\partial \beta_0}{\partial z} + \displaystyle\frac{\partial}{\partial \beta_1}\displaystyle\int_{0}^A \displaystyle\frac{A}{\rho}\displaystyle\frac{\partial \psi}{\partial A} dA \displaystyle\frac{\partial \beta_1}{\partial z} \end{array}\right] \]

where

\[ \mathbf B(\mathbf U) = \left[\begin{array}{c} 0 \\[2ex] K_r \displaystyle\frac{Q}{A} + \displaystyle\frac{A}{\rho}\left(\displaystyle\frac{\partial \psi}{\partial A^0}\displaystyle\frac{\partial A^0}{\partial z} + \displaystyle\frac{\partial \psi}{\partial \beta_0}\displaystyle\frac{\partial \beta_0}{\partial z} + \displaystyle\frac{\partial \psi}{\partial \beta_1}\displaystyle\frac{\partial \beta_1}{\partial z}\right) + \displaystyle\frac{Q^2}{A}\displaystyle\frac{\partial \alpha}{\partial z} \end{array}\right] \]

The assumed wall-law is

\[ P-P_\mathrm{ext} = \psi(A,A^0,\beta_0, \beta_1, \gamma) = \underbrace{\sqrt{\frac{\pi}{A^0}}\frac{h E}{1-\nu^2}}_{\beta_0} \left(\left(\frac{A}{A^0}\right)^{\beta_1}-1\right) + \underbrace{\frac{T \tan\phi}{4 \sqrt{\pi}}\frac{h E}{1-\nu^2}}_{\displaystyle\gamma} \frac{1}{A\sqrt{A}} \frac{\partial A}{\partial t}. \]

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

Definition at line 108 of file OneDFSISourceNonLinear.hpp.

Member Typedef Documentation

◆ super

Definition at line 115 of file OneDFSISourceNonLinear.hpp.

Constructor & Destructor Documentation

◆ OneDFSISourceNonLinear() [1/3]

OneDFSISourceNonLinear ( )
inlineexplicit

Empty constructor.

Definition at line 124 of file OneDFSISourceNonLinear.hpp.

+ Here is the caller graph for this function:

◆ OneDFSISourceNonLinear() [2/3]

OneDFSISourceNonLinear ( const physicsPtr_Type  physicsPtr)
inlineexplicit

Constructor.

Parameters
physicsPtrpointer to the physics of the problem

Definition at line 130 of file OneDFSISourceNonLinear.hpp.

◆ ~OneDFSISourceNonLinear()

virtual ~OneDFSISourceNonLinear ( )
inlinevirtual

Do nothing destructor.

Definition at line 133 of file OneDFSISourceNonLinear.hpp.

◆ OneDFSISourceNonLinear() [3/3]

OneDFSISourceNonLinear ( const OneDFSISourceNonLinear source)
explicitprivate

Member Function Documentation

◆ source()

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

Evaluate the source term.

\[ \begin{array}{rcl} \mathbf S(\mathbf U)_1 & = & 0,\\ \mathbf S(\mathbf U)_2 & = & K_r\displaystyle\frac{Q}{A} -\displaystyle\frac{\beta_0 \beta_1}{\rho(\beta_1+1)} \left(\displaystyle\frac{A}{A^0}\right)^{\beta_1+1}\displaystyle\frac{\partial A^0}{\partial z} + \displaystyle\frac{1}{\rho}\left(\displaystyle\frac{A^0}{(\beta_1+1)} \left(\displaystyle\frac{A}{A^0}\right)^{\beta_1+1}-A\right)\displaystyle\frac{\partial \beta_0}{\partial z}\\[4ex] &+& \displaystyle\frac{A^0 \beta_0}{\rho(\beta_1+1)}\left(\ln\left(\displaystyle\frac{A}{A^0}\right)- \displaystyle\frac{1}{(\beta_1+1)}\right)\left(\displaystyle\frac{A}{A^0}\right)^{\beta_1+1} \displaystyle\frac{\partial \beta_1}{\partial z}+\displaystyle\frac{Q^2}{A}\displaystyle\frac{\partial \alpha}{\partial z}, \end{array} \]

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

Implements OneDFSISource.

Definition at line 50 of file OneDFSISourceNonLinear.cpp.

◆ dSdU()

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

Evaluate the derivative of the source term.

\[ \displaystyle\frac{\partial \mathbf S}{\partial A} = \left[\begin{array}{c} 0 \\[2ex] -K_r\displaystyle\frac{Q}{A^2}+\displaystyle\frac{1}{\rho}\left(\displaystyle\frac{\partial \psi}{\partial A^0} \displaystyle\frac{\partial A^0}{\partial z} + \displaystyle\frac{\partial \psi}{\partial \beta_0}\displaystyle\frac{\partial \beta_0}{\partial z} + \displaystyle\frac{\partial \psi}{\partial \beta_1}\displaystyle\frac{\partial \beta_1}{\partial z} \right) -\left(\displaystyle\frac{Q}{A}\right)^2\displaystyle\frac{\partial \alpha}{\partial z} \end{array}\right], \quad \displaystyle\frac{\partial \mathbf S}{\partial Q} = \left[\begin{array}{c} 0 \\[2ex] \displaystyle\frac{K_r}{A} + 2 \displaystyle\frac{Q}{A} \displaystyle\frac{\partial \alpha}{\partial z} \end{array}\right]. \]

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

Implements OneDFSISource.

Definition at line 84 of file OneDFSISourceNonLinear.cpp.

◆ interpolatedNonConservativeSource()

Real interpolatedNonConservativeSource ( const Real A,
const Real Q,
const ID row,
const container2D_Type bcNodes,
const Real cfl 
) const
virtual

Evaluate the non-conservative form of the source term at the foot of the outgoing characteristic.

This method is used for imposing the compatibility equations at the boundaries. It interpolates the value between to nodes.

Parameters
Aarea
Qflow rate
rowrow of the source term
bcNodeslist of boundary nodes
cflcfl used to identify the foot of the characteristic

Implements OneDFSISource.

Definition at line 123 of file OneDFSISourceNonLinear.cpp.

◆ operator=()

OneDFSISourceNonLinear& operator= ( const OneDFSISourceNonLinear source)
private

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