LifeV
|
OneDFSIPhysicsNonLinear - Class providing non linear physical operations for the 1D model data. More...
#include <OneDFSIPhysicsNonLinear.hpp>
Type definitions and Enumerators | |
typedef OneDFSIPhysics | super |
Constructors & Destructor | |
OneDFSIPhysicsNonLinear () | |
Empty constructor. More... | |
OneDFSIPhysicsNonLinear (const dataPtr_Type dataPtr) | |
Constructor. More... | |
virtual | ~OneDFSIPhysicsNonLinear () |
Destructor. More... | |
Conversion methods | |
void | fromUToW (Real &W1, Real &W2, const Real &U1, const Real &U2, const UInt &iNode) const |
Compute from . More... | |
void | fromWToU (Real &U1, Real &U2, const Real &W1, const Real &W2, const UInt &iNode) const |
Compute from . More... | |
Real | fromWToP (const Real &W1, const Real &W2, const UInt &iNode) const |
Compute from . More... | |
Real | fromPToW (const Real &P, const Real &W, const ID &iW, const UInt &iNode) const |
Compute or from . More... | |
Real | fromQToW (const Real &Q, const Real &W_tn, const Real &W, const ID &iW, const UInt &iNode) const |
Compute or from . More... | |
Derivatives methods | |
Real | dPdW (const Real &W1, const Real &W2, const ID &iW, const UInt &iNode) const |
Compute the derivative of pressure with respect to . More... | |
Unimplemented Methods | |
OneDFSIPhysicsNonLinear (const OneDFSIPhysicsNonLinear &physics) | |
OneDFSIPhysicsNonLinear & | operator= (const OneDFSIPhysicsNonLinear &physics) |
Additional Inherited Members | |
Public Types inherited from OneDFSIPhysics | |
typedef FactorySingleton< Factory< OneDFSIPhysics, OneDFSI::physicsType_Type > > | factoryPhysics_Type |
typedef OneDFSIData | data_Type |
typedef std::shared_ptr< data_Type > | dataPtr_Type |
typedef VectorEpetra | vector_Type |
typedef std::shared_ptr< vector_Type > | vectorPtr_Type |
Public Member Functions inherited from OneDFSIPhysics | |
OneDFSIPhysics () | |
Empty constructor. More... | |
OneDFSIPhysics (const dataPtr_Type dataPtr) | |
Constructor. More... | |
virtual | ~OneDFSIPhysics () |
Destructor. More... | |
Real | fromPToA (const Real &P, const Real &timeStep, const UInt &iNode, const bool &elasticExternalNodes=true) const |
Compute the area given the elastic pressure . More... | |
Real | dAdt (const Real &Anp1, const Real &timeStep, const UInt &iNode) const |
Compute the derivative of the area with respect to the time using a first order finite difference. More... | |
Real | dPdA (const Real &A, const Real &timeStep, const UInt &iNode, const bool &elasticExternalNodes=true) const |
Compute the derivative of the pressure with respect to . More... | |
Real | dPdAelastic (const Real &A, const UInt &iNode) const |
Compute the derivative of the elastic pressure with respect to . More... | |
Real | dPdAviscoelastic (const Real &A, const Real &timeStep, const UInt &iNode, const bool &elasticExternalNodes=true) const |
Compute the derivative of the viscoelastic pressure with respect to . More... | |
Real | dAdP (const Real &P, const Real &timeStep, const UInt &iNode, const bool &elasticExternalNodes=true) const |
Compute the derivative of the area with respect to . More... | |
Real | dPTdU (const Real &A, const Real &Q, const Real &timeStep, const ID &id, const UInt &iNode) const |
Compute the derivative of total pressure with respect to or . More... | |
Real | celerity0 (const UInt &iNode) const |
Compute the reference celerity. More... | |
Real | pressure (const Real &A, const Real &timeStep, const UInt &iNode, const bool &elasticExternalNodes=true) const |
Compute the pressure. More... | |
const Real & | externalPressure () const |
Return the external pressure. More... | |
const Real & | venousPressure () const |
Return the venous pressure. More... | |
Real | elasticPressure (const Real &A, const UInt &iNode) const |
Compute the elastic pressure. More... | |
Real | viscoelasticPressure (const Real &A, const Real &timeStep, const UInt &iNode, const bool &elasticExternalNodes=true) const |
Compute the viscoelastic pressure. More... | |
Real | totalPressure (const Real &A, const Real &Q, const UInt &iNode) const |
Compute the total pressure. More... | |
void | setData (const dataPtr_Type &dataPtr) |
Set the data container of the problem. More... | |
void | setArea_tn (const vector_Type &area_tn) |
Set the area at time . More... | |
dataPtr_Type | data () const |
Get the data container of the problem. More... | |
Protected Attributes inherited from OneDFSIPhysics | |
dataPtr_Type | M_dataPtr |
OneDFSIPhysicsNonLinear - Class providing non linear physical operations for the 1D model data.
It contains the following methods:
Definition at line 63 of file OneDFSIPhysicsNonLinear.hpp.
typedef OneDFSIPhysics super |
Definition at line 70 of file OneDFSIPhysicsNonLinear.hpp.
|
inlineexplicit |
Empty constructor.
Definition at line 79 of file OneDFSIPhysicsNonLinear.hpp.
|
inlineexplicit |
Constructor.
dataPtr | pointer to the data container of the problem |
Definition at line 85 of file OneDFSIPhysicsNonLinear.hpp.
|
inlinevirtual |
Destructor.
Definition at line 88 of file OneDFSIPhysicsNonLinear.hpp.
|
explicitprivate |
|
virtual |
Compute from .
Riemann Invariants corresponding to data (Q, A) at node iNode W1,2 = (Q / A) +- (2 / beta1) * sqrt(chi) * (celerity - celerity0) being chi the correction coefficient proposed by A. Robertson and H. Zakaria
U1 | first physical variable |
U2 | second physical variable |
W1 | first Riemann variable |
W2 | second Riemann variable |
iNode | node of the mesh |
Implements OneDFSIPhysics.
Definition at line 51 of file OneDFSIPhysicsNonLinear.cpp.
|
virtual |
Compute from .
Physical variables corresponding to (W1, W2) at node iNode A = A0 * ( rho / (beta0 * beta1) )^(1/beta1)
Q = A (W1 + W2) / 2
W1 | first Riemann variable |
W2 | second Riemann variable |
U1 | first physical variable |
U2 | second physical variable |
iNode | node of the mesh |
Implements OneDFSIPhysics.
Definition at line 64 of file OneDFSIPhysicsNonLinear.cpp.
Compute from .
W1 | first Riemann variable |
W2 | second Riemann variable |
iNode | node of the mesh |
Implements OneDFSIPhysics.
Definition at line 78 of file OneDFSIPhysicsNonLinear.cpp.
Compute or from .
W1 - W2 = (4 * sqrt(chi) / beta1) * sqrt( beta0 * beta1 / rho ) ) * ( sqrt( P / beta0 + 1 ) - 1 ) W1 - W2 = 4 * sqrt( beta0 / (beta1 * rho ) ) * ( sqrt( P / beta0 + 1 ) - 1 )
P | pressure |
W | Riemann variable |
iW | Riemann variable ID (0 for , 1 or ) |
iNode | node of the mesh |
Implements OneDFSIPhysics.
Definition at line 89 of file OneDFSIPhysicsNonLinear.cpp.
|
virtual |
Compute or from .
( W1 - W2 + celerity0/K0 )^(2/beta1) * ( W1 + W2 ) = Q / K1
where
K0 = beta1 / ( 4 * sqrt(chi) ) K1 = A0 / 2 * ( rho / (beta0*beta1) )^(1/beta1) * K0^(2/beta1)
Q | pressure |
W_tn | Riemann variable at time |
W | Riemann variable |
iW | Riemann variable ID (0 for , 1 or ) |
iNode | node of the mesh |
Implements OneDFSIPhysics.
Definition at line 121 of file OneDFSIPhysicsNonLinear.cpp.
Compute the derivative of pressure with respect to .
dP(W1,W2)/dW_1 = rho / (2 * sqrt(chi)) * ( beta1 / (4 * sqrt(chi)) * (W1 - W2) + celerity0 ) dP(W1,W2)/dW_2 = - rho / (2 * sqrt(chi)) * ( beta1 / (4 * sqrt(chi)) * (W1 - W2) + celerity0 )
W1 | first Riemann variable |
W2 | second Riemann variable |
iW | Riemann derivative ID (0 for , 1 or ) |
iNode | node of the mesh |
dP/dW1
dP/dW2
Implements OneDFSIPhysics.
Definition at line 164 of file OneDFSIPhysicsNonLinear.cpp.
|
private |