LifeV
OneDFSIPhysicsLinear Class Reference

OneDFSIPhysicsLinear - Class providing linear physical operations for the 1D model data. More...

#include <OneDFSIPhysicsLinear.hpp>

+ Inheritance diagram for OneDFSIPhysicsLinear:
+ Collaboration diagram for OneDFSIPhysicsLinear:

Type definitions and Enumerators

typedef OneDFSIPhysics super
 

Constructors & Destructor

 OneDFSIPhysicsLinear ()
 Empty constructor. More...
 
 OneDFSIPhysicsLinear (const dataPtr_Type dataPtr)
 Constructor. More...
 
virtual ~OneDFSIPhysicsLinear ()
 Destructor. More...
 

Conversion methods

void fromWToU (Real &U1, Real &U2, const Real &W1, const Real &W2, const UInt &iNode) const
 Compute $\mathbf U$ from $\mathbf W$. More...
 
void fromUToW (Real &W1, Real &W2, const Real &U1, const Real &U2, const UInt &iNode) const
 Compute $\mathbf W$ from $\mathbf U$. More...
 
Real fromWToP (const Real &W1, const Real &W2, const UInt &iNode) const
 Compute $P$ from $\mathbf W$. More...
 
Real fromPToW (const Real &P, const Real &W, const ID &iW, const UInt &iNode) const
 Compute $W_1$ or $W_2$ from $P$. More...
 
Real fromQToW (const Real &Q, const Real &W_tn, const Real &W, const ID &iW, const UInt &iNode) const
 Compute $W_1$ or $W_2$ from $Q$. 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 $ \mathbf W$. More...
 

Unimplemented Methods

 OneDFSIPhysicsLinear (const OneDFSIPhysicsLinear &physics)
 
OneDFSIPhysicsLinearoperator= (const OneDFSIPhysicsLinear &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_TypedataPtr_Type
 
typedef VectorEpetra vector_Type
 
typedef std::shared_ptr< vector_TypevectorPtr_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 $A$ given the elastic pressure $P_\mathrm{elastic}$. 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 $A$. More...
 
Real dPdAelastic (const Real &A, const UInt &iNode) const
 Compute the derivative of the elastic pressure with respect to $A$. 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 $A$. 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 $P$. 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 $A$ or $Q$. 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 RealexternalPressure () const
 Return the external pressure. More...
 
const RealvenousPressure () 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 $t^n$. More...
 
dataPtr_Type data () const
 Get the data container of the problem. More...
 
- Protected Attributes inherited from OneDFSIPhysics
dataPtr_Type M_dataPtr
 

Detailed Description

OneDFSIPhysicsLinear - Class providing linear physical operations for the 1D model data.

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]

It contains the following methods:

  1. utilities for converting Riemann variables to physical quantities (and viceversa);
  2. utilities to compute the different pressure components (and derivatives).

Definition at line 63 of file OneDFSIPhysicsLinear.hpp.

Member Typedef Documentation

◆ super

Definition at line 70 of file OneDFSIPhysicsLinear.hpp.

Constructor & Destructor Documentation

◆ OneDFSIPhysicsLinear() [1/3]

OneDFSIPhysicsLinear ( )
inlineexplicit

Empty constructor.

Definition at line 79 of file OneDFSIPhysicsLinear.hpp.

+ Here is the caller graph for this function:

◆ OneDFSIPhysicsLinear() [2/3]

OneDFSIPhysicsLinear ( const dataPtr_Type  dataPtr)
inlineexplicit

Constructor.

Parameters
dataPtrpointer to the data container of the problem

Definition at line 85 of file OneDFSIPhysicsLinear.hpp.

◆ ~OneDFSIPhysicsLinear()

virtual ~OneDFSIPhysicsLinear ( )
inlinevirtual

Destructor.

Definition at line 88 of file OneDFSIPhysicsLinear.hpp.

◆ OneDFSIPhysicsLinear() [3/3]

OneDFSIPhysicsLinear ( const OneDFSIPhysicsLinear physics)
explicitprivate

Member Function Documentation

◆ fromWToU()

void fromWToU ( Real U1,
Real U2,
const Real W1,
const Real W2,
const UInt iNode 
) const
virtual

Compute $\mathbf U$ from $\mathbf W$.

Physical variables corresponding to (W1, W2) at node iNode A = A0 + (W1 - W2) / (2 * celerity) Q = (W1 + W2) / 2

Parameters
U1first physical variable
U2second physical variable
W1first Riemann variable
W2second Riemann variable
iNodenode of the mesh

Implements OneDFSIPhysics.

Definition at line 68 of file OneDFSIPhysicsLinear.cpp.

◆ fromUToW()

void fromUToW ( Real W1,
Real W2,
const Real U1,
const Real U2,
const UInt iNode 
) const
virtual

Compute $\mathbf W$ from $\mathbf U$.

Riemann Invariants corresponding to data (Q, A) at node iNode W1,2 = Q +- celerity * ( A - A0 )

Parameters
W1first Riemann variable
W2second Riemann variable
U1first physical variable
U2second physical variable
iNodenode of the mesh

Implements OneDFSIPhysics.

Definition at line 52 of file OneDFSIPhysicsLinear.cpp.

◆ fromWToP()

Real fromWToP ( const Real W1,
const Real W2,
const UInt iNode 
) const
virtual

Compute $P$ from $\mathbf W$.

Parameters
W1first Riemann variable
W2second Riemann variable
iNodenode of the mesh
Returns
pressure P = beta0 * ( ( 1 / Area0 )^(beta1) * ( (W1 - W2) / (2 * celerity0) + Area0 )^(beta1) - 1 )

Implements OneDFSIPhysics.

Definition at line 76 of file OneDFSIPhysicsLinear.cpp.

◆ fromPToW()

Real fromPToW ( const Real P,
const Real W,
const ID iW,
const UInt iNode 
) const
virtual

Compute $W_1$ or $W_2$ from $P$.

W1 - W2 = (2 * celerity * A0) * ( ( P / beta0 + 1 )^(1/beta1) - 1 ) W1 - W2 = 4 * sqrt( beta0 / (beta1 * rho ) ) * ( sqrt( P / beta0 + 1 ) - 1

Parameters
Ppressure
WRiemann variable
iWRiemann variable ID (0 for $W_1$, 1 or $W_2$)
iNodenode of the mesh
Returns
the other Riemann variable

Implements OneDFSIPhysics.

Definition at line 86 of file OneDFSIPhysicsLinear.cpp.

◆ fromQToW()

Real fromQToW ( const Real Q,
const Real W_tn,
const Real W,
const ID iW,
const UInt iNode 
) const
virtual

Compute $W_1$ or $W_2$ from $Q$.

W1 + W2 = 2 * Q

Parameters
Qpressure
W_tnRiemann variable at time $t^n$
WRiemann variable
iWRiemann variable ID (0 for $W_1$, 1 or $W_2$)
iNodenode of the mesh
Returns
the other Riemann variable

Implements OneDFSIPhysics.

Definition at line 113 of file OneDFSIPhysicsLinear.cpp.

◆ dPdW()

Real dPdW ( const Real W1,
const Real W2,
const ID iW,
const UInt iNode 
) const
virtual

Compute the derivative of pressure with respect to $ \mathbf W$.

dP(W1,W2)/dW_1 = beta0 * beta1 / ( 2 * celerity0 * Area0^(beta1) ) * ( (W1 - W2) / ( 2 * celerity0 ) + Area0 )^(beta1-1) dP(W1,W2)/dW_2 = - dP(W1,W2)/dW_1

Parameters
W1first Riemann variable
W2second Riemann variable
iWRiemann derivative ID (0 for $\displaystyle\frac{dP}{dW_1}$, 1 or $\displaystyle\frac{dP}{dW_2}$)
iNodenode of the mesh
Returns
$\displaystyle\frac{dP}{dW_1}$ or $\displaystyle\frac{dP}{dW_2}$

dP/dW1

dP/dW2

Implements OneDFSIPhysics.

Definition at line 135 of file OneDFSIPhysicsLinear.cpp.

◆ operator=()

OneDFSIPhysicsLinear& operator= ( const OneDFSIPhysicsLinear physics)
private

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