![]() |
LifeV
|
OneDFSIFunctionSolverDefinedWindkessel3 - Class which implements windkessel RCR boundary conditions for the 1D segment. More...
#include <OneDFSIFunctionSolverDefined.hpp>
Inheritance diagram for OneDFSIFunctionSolverDefinedWindkessel3:
Collaboration diagram for OneDFSIFunctionSolverDefinedWindkessel3:Type definitions | |
| typedef OneDFSIFunctionSolverDefinedCompatibility | super |
| typedef super::fluxPtr_Type | fluxPtr_Type |
| typedef super::sourcePtr_Type | sourcePtr_Type |
| typedef super::solutionPtr_Type | solutionPtr_Type |
Constructors & Destructor | |
| OneDFSIFunctionSolverDefinedWindkessel3 (const bcSide_Type &bcSide, const bcType_Type &bcType, const Real &resistance1, const Real &resistance2, const Real &compliance, const bool &absorbing=false, const Real &venousPressure=6666.) | |
| Constructor. More... | |
| OneDFSIFunctionSolverDefinedWindkessel3 (const OneDFSIFunctionSolverDefinedWindkessel3 &bcFunctionWindkessel3) | |
| Copy constructor. More... | |
| virtual | ~OneDFSIFunctionSolverDefinedWindkessel3 () |
| Destructor. More... | |
Methods | |
| Real | operator() (const Real &time, const Real &timeStep) |
| Operator() More... | |
OneDFSIFunctionSolverDefinedWindkessel3 - Class which implements windkessel RCR boundary conditions for the 1D segment.
The holding equation is:
P + C R2 dP/dt = (R1 + R2 ) * Q + R1 R2 C dQ/dt + Pv
where the "venous" pressure Pv is taken constant and equal to 5mmHg (6666 dyn/cm^2).
You can solve this ODE in analytical fashion and obtain:
P(t) = P(0) + [ ^t ( pv + (R1+R2) Q(s) + R1*R2*C dQ(s)/ds ) exp( s / (R2*C) ) ds ] * exp( - t / (R2*C) )
then you just need to exploit numerical integration rules. Here a simple trapezoidal rule is used, with a first order approximation of derivative
dQ(s)/ds = Q(t(n+1)) - Q(t(n)) * (1/dt)
Definition at line 578 of file OneDFSIFunctionSolverDefined.hpp.
Definition at line 585 of file OneDFSIFunctionSolverDefined.hpp.
| typedef super::fluxPtr_Type fluxPtr_Type |
Definition at line 587 of file OneDFSIFunctionSolverDefined.hpp.
| typedef super::sourcePtr_Type sourcePtr_Type |
Definition at line 588 of file OneDFSIFunctionSolverDefined.hpp.
Definition at line 589 of file OneDFSIFunctionSolverDefined.hpp.
|
explicit |
Constructor.
| bcLine | the line of the boundary condition (first or second). |
| bcType | the type of the boundary condition ( , , , , , ). |
| resistance1 | the first terminal resistance. |
| resistance2 | the second terminal resistance. |
| compliance | the compliance. |
| absorbing | is an absorbing boundary condition |
| venousPressure | the venous pressure |
Definition at line 370 of file OneDFSIFunctionSolverDefined.cpp.
|
explicit |
Copy constructor.
| bcFunctionWindkessel3 | OneDFSIFunctionSolverDefinedWindkessel3 |
Definition at line 389 of file OneDFSIFunctionSolverDefined.cpp.
|
inlinevirtual |
Destructor.
Definition at line 620 of file OneDFSIFunctionSolverDefined.hpp.
Operator()
Evaluate the function.
| time | the current time. |
| timeStep | the time step. |
Reimplemented from OneDFSIFunctionSolverDefinedCompatibility.
Definition at line 406 of file OneDFSIFunctionSolverDefined.cpp.
|
protected |
Definition at line 642 of file OneDFSIFunctionSolverDefined.hpp.
|
protected |
Definition at line 643 of file OneDFSIFunctionSolverDefined.hpp.
|
protected |
Definition at line 644 of file OneDFSIFunctionSolverDefined.hpp.
|
protected |
Definition at line 645 of file OneDFSIFunctionSolverDefined.hpp.
|
protected |
Definition at line 646 of file OneDFSIFunctionSolverDefined.hpp.
|
protected |
Definition at line 649 of file OneDFSIFunctionSolverDefined.hpp.
|
protected |
Definition at line 652 of file OneDFSIFunctionSolverDefined.hpp.
|
protected |
Definition at line 655 of file OneDFSIFunctionSolverDefined.hpp.
|
protected |
Definition at line 658 of file OneDFSIFunctionSolverDefined.hpp.