45 "Resistive outflow boundary condition");
66 const Array<
OneD,
const Array<OneD, NekDouble> > &inarray,
67 Array<
OneD, Array<OneD, NekDouble> > &A_0,
68 Array<
OneD, Array<OneD, NekDouble> > &beta,
70 int omega,
int offset,
int n)
76 Array<OneD, MultiRegions::ExpListSharedPtr> vessel(2);
85 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 beta[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;
128 c_l = sqrt(beta/(2*rho))*sqrt(sqrt(A_l));
135 while ((proceed) && (iter < MAX_ITER))
139 fa = R*W1*A_calc-4*R*sqrt(beta/(2*rho))*A_calc*sqrt(sqrt(A_calc))-pext-beta*(sqrt(A_calc)-sqrt(A_0))+pout;
140 dfa = R*W1-5*R*sqrt(beta/(2*rho))*sqrt(sqrt(A_calc))-beta/(2*sqrt(A_calc));
141 delta_A_calc = fa/dfa;
142 A_calc = A_calc - delta_A_calc;
144 if (sqrt(delta_A_calc*delta_A_calc) < Tol)
149 u_u=(pext+beta*(sqrt(A_calc)-sqrt(A_0))-pout)/(R*A_calc);