44     "R-terminal", ROutflow::create, 
"Resistive outflow boundary condition");
 
   64     boost::ignore_unused(time);
 
   86     NekDouble RT = ((vessel[0]->GetBndCondExpansions())[n])->GetCoeffs()[0];
 
   87     int nq       = vessel[0]->GetTotPoints();
 
   90     A_l = inarray[0][offset + nq - 1];
 
   91     u_l = inarray[1][offset + nq - 1];
 
   95                     alpha[omega][nq - 1], POut, A_u, u_u);
 
  103     (vessel[0]->UpdateBndCondExpansion(n))->UpdatePhys()[0] = A_r;
 
  104     (vessel[1]->UpdateBndCondExpansion(n))->UpdatePhys()[0] = u_r;
 
  137     while ((proceed) && (iter < MAX_ITER))
 
  145         FA           = R * A_calc * (W1 - I) - 
P + POut;
 
  146         dFdA         = R * (W1 - I - c) - c * c * rho / A_calc;
 
  147         delta_A_calc = FA / dFdA;
 
  148         A_calc -= delta_A_calc;
 
  150         if (
sqrt(delta_A_calc * delta_A_calc) < Tol)
 
  159     u_u = (
P - POut) / (R * A_calc);
 
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
Array< OneD, MultiRegions::ExpListSharedPtr > m_vessels
PulseWavePressureAreaSharedPtr m_pressureArea
void R_RiemannSolver(NekDouble R, NekDouble A_l, NekDouble u_l, NekDouble A_0, NekDouble beta, NekDouble alpha, NekDouble POut, NekDouble &A_u, NekDouble &u_u)
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, Array< OneD, Array< OneD, NekDouble >> &alpha, const NekDouble time, int omega, int offset, int n) override
std::shared_ptr< SessionReader > SessionReaderSharedPtr
@ beta
Gauss Radau pinned at x=-1,.
The above copyright notice and this permission notice shall be included.
std::shared_ptr< PulseWavePressureArea > PulseWavePressureAreaSharedPtr
BoundaryFactory & GetBoundaryFactory()
scalarT< T > sqrt(scalarT< T > in)