|  | LifeV
    | 
OneDFSISourceNonLinear - Class for the non-linear source function B of the 1D hyperbolic problem. More...
#include <OneDFSISourceNonLinear.hpp>
 Inheritance diagram for OneDFSISourceNonLinear:
 Inheritance diagram for OneDFSISourceNonLinear: Collaboration 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) | |
| OneDFSISourceNonLinear & | operator= (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_Type > | physicsPtr_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 | 
OneDFSISourceNonLinear - Class for the non-linear source function B of the 1D hyperbolic problem.
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, \]](form_533.png) 
where  are the conservative variables,
 are the conservative variables,  the corresponding fluxes, and
 the corresponding fluxes, and  represents the source terms.
 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] \]](form_539.png) 
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] \]](form_540.png) 
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}. \]](form_541.png) 
This class implements all the interfaces required for the computation of  and its derivatives.
 and its derivatives. 
Definition at line 108 of file OneDFSISourceNonLinear.hpp.
| typedef OneDFSISource super | 
Definition at line 115 of file OneDFSISourceNonLinear.hpp.
| 
 | inlineexplicit | 
Empty constructor.
Definition at line 124 of file OneDFSISourceNonLinear.hpp.
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | inlineexplicit | 
Constructor.
| physicsPtr | pointer to the physics of the problem | 
Definition at line 130 of file OneDFSISourceNonLinear.hpp.
| 
 | inlinevirtual | 
Do nothing destructor.
Definition at line 133 of file OneDFSISourceNonLinear.hpp.
| 
 | explicitprivate | 
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} \]](form_595.png) 
| A | area | 
| Q | flow rate | 
| row | row of the source term | 
| iNode | node of the mesh | 
Implements OneDFSISource.
Definition at line 50 of file OneDFSISourceNonLinear.cpp.
| 
 | 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]. \]](form_596.png) 
| A | area | 
| Q | flow rate | 
| row | row of the derivative of the source term | 
| column | column of the derivative of the source term | 
| iNode | node of the mesh | 
Implements OneDFSISource.
Definition at line 84 of file OneDFSISourceNonLinear.cpp.
| 
 | 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.
| A | area | 
| Q | flow rate | 
| row | row of the source term | 
| bcNodes | list of boundary nodes | 
| cfl | cfl used to identify the foot of the characteristic | 
Implements OneDFSISource.
Definition at line 123 of file OneDFSISourceNonLinear.cpp.
| 
 | private |