45         "Terminal outflow boundary condition");
 
   70         int omega,
int offset,
int n)
 
   86         RT = (vessel[0]->UpdateBndCondExpansion(n))->GetCoeffs()[0];
 
   89                  "RT must be comprised between -1 and 1");
 
   90         int nq = vessel[0]->GetTotPoints(); 
 
   93         A_l = inarray[0][offset+nq-1];
 
   94         u_l = inarray[1][offset+nq-1];
 
   98         c_0 = sqrt(beta[omega][nq-1]/(2*
m_rho))*sqrt(sqrt(A_0[omega][nq-1]));   
 
  102         c_l = sqrt(beta[omega][nq-1]/(2*
m_rho))*sqrt(sqrt(A_l));
 
  103         u_r = (1-RT)*((u_l-u_0) + 4*(c_l-c_0)) - u_l;
 
  106         (vessel[0]->UpdateBndCondExpansion(n))->UpdatePhys()[0] = A_r;
 
  107         (vessel[1]->UpdateBndCondExpansion(n))->UpdatePhys()[0] = u_r;
 
#define ASSERTL0(condition, msg)
 
static std::string className
Name of class. 
 
Array< OneD, MultiRegions::ExpListSharedPtr > m_vessels
 
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
 
BoundaryFactory & GetBoundaryFactory()
 
static PulseWaveBoundarySharedPtr create(Array< OneD, MultiRegions::ExpListSharedPtr > &pVessel, const LibUtilities::SessionReaderSharedPtr &pSession, PulseWavePressureAreaSharedPtr &pressureArea)
Creates an instance of this class. 
 
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)
 
virtual ~TerminalOutflow()
 
TerminalOutflow(Array< OneD, MultiRegions::ExpListSharedPtr > pVessel, const LibUtilities::SessionReaderSharedPtr pSession, PulseWavePressureAreaSharedPtr pressureArea)
 
boost::shared_ptr< PulseWavePressureArea > PulseWavePressureAreaSharedPtr
 
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.