85 (EL - 0.5 * (rhouL * uL + rhovL * vL + rhowL * wL));
87 (ER - 0.5 * (rhouR * uR + rhovR * vR + rhowR * wR));
99 NekDouble uRoe = (srL * uL + srR * uR) / srLR;
100 NekDouble vRoe = (srL * vL + srR * vR) / srLR;
101 NekDouble wRoe = (srL * wL + srR * wR) / srLR;
102 NekDouble hRoe = (srL * hL + srR * hR) / srLR;
103 NekDouble cRoe = sqrt((gamma - 1.0)*(hRoe - 0.5 *
104 (uRoe * uRoe + vRoe * vRoe + wRoe * wRoe)));
107 NekDouble SL = std::min(uL-cL, uRoe-cRoe);
108 NekDouble SR = std::max(uR+cR, uRoe+cRoe);
114 rhouf = rhouL * uL + pL;
123 rhouf = rhouR * uR + pR;
131 NekDouble SM = (pR - pL + rhouL * (SL - uL) - rhouR * (SR - uR)) /
132 (rhoL * (SL - uL) - rhoR * (SR - uR));
133 NekDouble rhoML = rhoL * (SL - uL) / (SL - SM);
138 (SM - uL) * (SM + pL / (rhoL * (SL - uL))));
140 NekDouble rhoMR = rhoR * (SR - uR) / (SR - SM);
145 (SM - uR) * (SM + pR / (rhoR * (SR - uR))));
147 if (SL < 0.0 && SM >= 0.0)
149 rhof = rhouL + SL * (rhoML - rhoL);
150 rhouf = rhouL * uL + pL + SL * (rhouML - rhouL);
151 rhovf = rhouL * vL + SL * (rhovML - rhovL);
152 rhowf = rhouL * wL + SL * (rhowML - rhowL);
153 Ef = uL * (EL + pL) + SL * (EML - EL);
155 else if(SM < 0.0 && SR > 0.0)
157 rhof = rhouR + SR * (rhoMR - rhoR);
158 rhouf = rhouR * uR + pR + SR * (rhouMR - rhouR);
159 rhovf = rhouR * vR + SR * (rhovMR - rhovR);
160 rhowf = rhouR * wR + SR * (rhowMR - rhowR);
161 Ef = uR * (ER + pR) + SR * (EMR - ER);
183 (EL - 0.5 * (rhouL * uL + rhovL * vL + rhowL * wL));
185 (ER - 0.5 * (rhouR * uR + rhovR * vR + rhowR * wR));
197 NekDouble uRoe = (srL * uL + srR * uR) / srLR;
198 NekDouble vRoe = (srL * vL + srR * vR) / srLR;
199 NekDouble wRoe = (srL * wL + srR * wR) / srLR;
200 NekDouble hRoe = (srL * hL + srR * hR) / srLR;
201 NekDouble cRoe = sqrt((gamma - 1.0)*(hRoe - 0.5 *
202 (uRoe * uRoe + vRoe * vRoe + wRoe * wRoe)));
205 NekDouble SL = std::min(uL-cL, uRoe-cRoe);
206 NekDouble SR = std::max(uR+cR, uRoe+cRoe);
212 rhouf = rhouL * uL + pL;
222 rhouf = rhouR * uR + pR;
231 NekDouble SM = (pR - pL + rhouL * (SL - uL) - rhouR * (SR - uR)) /
232 (rhoL * (SL - uL) - rhoR * (SR - uR));
233 NekDouble rhoML = rhoL * (SL - uL) / (SL - SM);
238 (SM - uL) * (SM + pL / (rhoL * (SL - uL))));
239 NekDouble EpsML = EpsL * (SL - uL) / (SL - SM);
241 NekDouble rhoMR = rhoR * (SR - uR) / (SR - SM);
246 (SM - uR) * (SM + pR / (rhoR * (SR - uR))));
247 NekDouble EpsMR = EpsR * (SL - uR) / (SL - SM);
249 if (SL < 0.0 && SM >= 0.0)
251 rhof = rhouL + SL * (rhoML - rhoL);
252 rhouf = rhouL * uL + pL + SL * (rhouML - rhouL);
253 rhovf = rhouL * vL + SL * (rhovML - rhovL);
254 rhowf = rhouL * wL + SL * (rhowML - rhowL);
255 Ef = uL * (EL + pL) + SL * (EML - EL);
256 Epsf = 0.0 + SL * (EpsML - EpsL);
258 else if(SM < 0.0 && SR > 0.0)
260 rhof = rhouR + SR * (rhoMR - rhoR);
261 rhouf = rhouR * uR + pR + SR * (rhouMR - rhouR);
262 rhovf = rhouR * vR + SR * (rhovMR - rhovR);
263 rhowf = rhouR * wR + SR * (rhowMR - rhowR);
264 Ef = uR * (ER + pR) + SR * (EMR - ER);
265 Epsf = 0.0 + SR * (EpsMR - EpsR);