Nektar++
|
A global linear system. More...
#include <QInflow.h>
Public Member Functions | |
QInflow (Array< OneD, MultiRegions::ExpListSharedPtr > pVessel, const LibUtilities::SessionReaderSharedPtr pSession, PulseWavePressureAreaSharedPtr pressureArea) | |
virtual | ~QInflow () |
Public Member Functions inherited from Nektar::PulseWaveBoundary | |
PulseWaveBoundary (Array< OneD, MultiRegions::ExpListSharedPtr > &pVessel, const LibUtilities::SessionReaderSharedPtr &pSession, PulseWavePressureAreaSharedPtr &pressureArea) | |
virtual | ~PulseWaveBoundary () |
void | DoBoundary (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &A_0, Array< OneD, Array< OneD, NekDouble > > &beta, const NekDouble time, int omega, int offset, int n) |
Static Public Member Functions | |
static PulseWaveBoundarySharedPtr | create (Array< OneD, MultiRegions::ExpListSharedPtr > &pVessel, const LibUtilities::SessionReaderSharedPtr &pSession, PulseWavePressureAreaSharedPtr &pressureArea) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static std::string | className |
Name of class. More... | |
Protected Member Functions | |
virtual void | v_DoBoundary (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &A_0, Array< OneD, Array< OneD, NekDouble > > &beta, const NekDouble time, int omega, int offset, int n) |
Private Member Functions | |
void | Q_RiemannSolver (NekDouble Q, NekDouble A_r, NekDouble u_r, NekDouble A_0, NekDouble beta, NekDouble &Au, NekDouble &uu) |
Additional Inherited Members | |
Protected Attributes inherited from Nektar::PulseWaveBoundary | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_vessels |
LibUtilities::SessionReaderSharedPtr | m_session |
PulseWavePressureAreaSharedPtr | m_pressureArea |
NekDouble | m_pext |
NekDouble | m_pout |
NekDouble | m_rho |
Nektar::QInflow::QInflow | ( | Array< OneD, MultiRegions::ExpListSharedPtr > | pVessel, |
const LibUtilities::SessionReaderSharedPtr | pSession, | ||
PulseWavePressureAreaSharedPtr | pressureArea | ||
) |
Definition at line 52 of file QInflow.cpp.
|
virtual |
Definition at line 62 of file QInflow.cpp.
|
inlinestatic |
Creates an instance of this class.
Definition at line 55 of file QInflow.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
private |
Q-inflow Riemann solver for pulse wave propagation. This Riemann solver is called by DoOdeProjection in case of a Q-inflow boundary condition. It is based on the conservation of mass and total pressure and on the characteristic information. For further details see "Pulse wave propagation in the human vascular system", section 3.4.1 Returns the upwinded quantities and stores them into the boundary values
Definition at line 114 of file QInflow.cpp.
References Nektar::PulseWaveBoundary::m_rho.
Referenced by v_DoBoundary().
|
protectedvirtual |
Implements Nektar::PulseWaveBoundary.
Definition at line 67 of file QInflow.cpp.
References Nektar::PulseWaveBoundary::m_vessels, and Q_RiemannSolver().
|
static |
Name of class.