Lines Matching +full:- +full:s
1 // Copyright (c) 2017-2026, Lawrence Livermore National Security, LLC and other CEED contributors.
2 // All Rights Reserved. See the top-level LICENSE and NOTICE files for details.
4 // SPDX-License-Identifier: BSD-2-Clause
31 CEED_QFUNCTION_HELPER void UnpackState_U(StateConservative s, CeedScalar U[5]) { in UnpackState_U() argument
32 U[0] = s.density; in UnpackState_U()
33 for (int i = 0; i < 3; i++) U[i + 1] = s.momentum[i]; in UnpackState_U()
34 U[4] = s.E_total; in UnpackState_U()
37 CEED_QFUNCTION_HELPER void UnpackState_Y(StatePrimitive s, CeedScalar Y[5]) { in UnpackState_Y() argument
38 Y[0] = s.pressure; in UnpackState_Y()
39 for (int i = 0; i < 3; i++) Y[i + 1] = s.velocity[i]; in UnpackState_Y()
40 Y[4] = s.temperature; in UnpackState_Y()
43 CEED_QFUNCTION_HELPER void UnpackState_V(StateEntropy s, CeedScalar V[5]) { in UnpackState_V() argument
44 V[0] = s.S_density; in UnpackState_V()
45 for (int i = 0; i < 3; i++) V[i + 1] = s.S_momentum[i]; in UnpackState_V()
46 V[4] = s.S_energy; in UnpackState_V()
49 …ION_HELPER CeedScalar HeatCapacityRatio(NewtonianIdealGasContext gas) { return gas->cp / gas->cv; } in HeatCapacityRatio()
51 CEED_QFUNCTION_HELPER CeedScalar GasConstant(NewtonianIdealGasContext gas) { return gas->cp - gas->… in GasConstant()
53 …TION_HELPER CeedScalar Prandtl(NewtonianIdealGasContext gas) { return gas->cp * gas->mu / gas->k; } in Prandtl()
55 …ewtonianIdealGasContext gas, CeedScalar T) { return sqrt(gas->cp * (HeatCapacityRatio(gas) - 1.) *… in SoundSpeed()
59 CEED_QFUNCTION_HELPER CeedScalar TotalSpecificEnthalpy(NewtonianIdealGasContext gas, const State s)… in TotalSpecificEnthalpy() argument
60 CeedScalar e_kinetic = 0.5 * Dot3(s.Y.velocity, s.Y.velocity); in TotalSpecificEnthalpy()
61 CeedScalar e_internal = gas->cv * s.Y.temperature; in TotalSpecificEnthalpy()
62 return e_internal + e_kinetic + s.Y.pressure / s.U.density; in TotalSpecificEnthalpy()
65 …CeedScalar TotalSpecificEnthalpy_fwd(NewtonianIdealGasContext gas, const State s, const State ds) { in TotalSpecificEnthalpy_fwd() argument
66 CeedScalar de_kinetic = Dot3(ds.Y.velocity, s.Y.velocity); in TotalSpecificEnthalpy_fwd()
67 CeedScalar de_internal = gas->cv * ds.Y.temperature; in TotalSpecificEnthalpy_fwd()
68 …return de_internal + de_kinetic + ds.Y.pressure / s.U.density - s.Y.pressure / Square(s.U.density)… in TotalSpecificEnthalpy_fwd()
76 CeedScalar e_internal = e_total - e_kinetic; in StatePrimitiveFromConservative()
77 Y.temperature = e_internal / gas->cv; in StatePrimitiveFromConservative()
78 Y.pressure = (HeatCapacityRatio(gas) - 1) * U.density * e_internal; in StatePrimitiveFromConservative()
82 …tive StatePrimitiveFromConservative_fwd(NewtonianIdealGasContext gas, State s, StateConservative d… in StatePrimitiveFromConservative_fwd() argument
85 dY.velocity[i] = (dU.momentum[i] - s.Y.velocity[i] * dU.density) / s.U.density; in StatePrimitiveFromConservative_fwd()
87 CeedScalar e_kinetic = .5 * Dot3(s.Y.velocity, s.Y.velocity); in StatePrimitiveFromConservative_fwd()
88 CeedScalar de_kinetic = Dot3(dY.velocity, s.Y.velocity); in StatePrimitiveFromConservative_fwd()
89 CeedScalar e_total = s.U.E_total / s.U.density; in StatePrimitiveFromConservative_fwd()
90 CeedScalar de_total = (dU.E_total - e_total * dU.density) / s.U.density; in StatePrimitiveFromConservative_fwd()
91 CeedScalar e_internal = e_total - e_kinetic; in StatePrimitiveFromConservative_fwd()
92 CeedScalar de_internal = de_total - de_kinetic; in StatePrimitiveFromConservative_fwd()
93 dY.temperature = de_internal / gas->cv; in StatePrimitiveFromConservative_fwd()
94 …dY.pressure = (HeatCapacityRatio(gas) - 1) * (dU.density * e_internal + s.U.density * d… in StatePrimitiveFromConservative_fwd()
102 const CeedScalar entropy = log(Y.pressure) - gamma * log(rho); in StateEntropyFromPrimitive()
106 V.S_density = (gamma - entropy) / (gamma - 1) - rho_div_p * e_kinetic; in StateEntropyFromPrimitive()
108 V.S_energy = -rho_div_p; in StateEntropyFromPrimitive()
112 …teEntropy StateEntropyFromPrimitive_fwd(NewtonianIdealGasContext gas, State s, StatePrimitive dY) { in StateEntropyFromPrimitive_fwd() argument
115 …r drho = (dY.pressure * s.Y.temperature - s.Y.pressure * dY.temperature) / (GasConstant(gas… in StateEntropyFromPrimitive_fwd()
117 const CeedScalar e_kinetic = .5 * Dot3(s.Y.velocity, s.Y.velocity); in StateEntropyFromPrimitive_fwd()
118 const CeedScalar de_kinetic = Dot3(dY.velocity, s.Y.velocity); in StateEntropyFromPrimitive_fwd()
119 const CeedScalar rho_div_p = s.U.density / s.Y.pressure; in StateEntropyFromPrimitive_fwd()
120 …const CeedScalar drho_div_p = (drho * s.Y.pressure - s.U.density * dY.pressure) / Square(s.Y.press… in StateEntropyFromPrimitive_fwd()
122 CeedScalar dentropy = dY.pressure / s.Y.pressure - gamma * drho / s.U.density; in StateEntropyFromPrimitive_fwd()
124 dV.S_density = -dentropy / (gamma - 1) - de_kinetic * rho_div_p - e_kinetic * drho_div_p; in StateEntropyFromPrimitive_fwd()
125 …for (CeedInt i = 0; i < 3; i++) dV.S_momentum[i] = rho_div_p * dY.velocity[i] + drho_div_p * s.Y.v… in StateEntropyFromPrimitive_fwd()
126 dV.S_energy = -drho_div_p; in StateEntropyFromPrimitive_fwd()
132 for (int i = 0; i < 3; i++) Y.velocity[i] = -V.S_momentum[i] / V.S_energy; in StatePrimitiveFromEntropy()
133 Y.temperature = -1 / (GasConstant(gas) * V.S_energy); in StatePrimitiveFromEntropy()
136 const CeedScalar entropy = gamma - (gamma - 1) * (V.S_density - e_kinetic * V.S_energy); in StatePrimitiveFromEntropy()
137 const CeedScalar log_P = -(entropy + gamma * log(-V.S_energy)) / (gamma - 1); in StatePrimitiveFromEntropy()
142 …tePrimitive StatePrimitiveFromEntropy_fwd(NewtonianIdealGasContext gas, State s, StateEntropy dV) { in StatePrimitiveFromEntropy_fwd() argument
144 StateEntropy V = StateEntropyFromPrimitive(gas, s.Y); in StatePrimitiveFromEntropy_fwd()
145 …for (int i = 0; i < 3; i++) dY.velocity[i] = -(dV.S_momentum[i] - V.S_momentum[i] * dV.S_energy / … in StatePrimitiveFromEntropy_fwd()
148 const CeedScalar e_kinetic = 0.5 * Dot3(s.Y.velocity, s.Y.velocity); in StatePrimitiveFromEntropy_fwd()
149 const CeedScalar de_kinetic = Dot3(dY.velocity, s.Y.velocity); in StatePrimitiveFromEntropy_fwd()
150 …const CeedScalar dentropy = (1 - gamma) * (dV.S_density - e_kinetic * dV.S_energy - de_kinetic *… in StatePrimitiveFromEntropy_fwd()
151 …dY.pressure = s.Y.pressure * (-dentropy - gamma * dV.S_energy / V.S_energy) / (gam… in StatePrimitiveFromEntropy_fwd()
159 CeedScalar e_internal = gas->cv * Y.temperature; in StateConservativeFromPrimitive()
166 …tive StateConservativeFromPrimitive_fwd(NewtonianIdealGasContext gas, State s, StatePrimitive dY) { in StateConservativeFromPrimitive_fwd() argument
168 …dU.density = (dY.pressure * s.Y.temperature - s.Y.pressure * dY.temperature) / (GasConstant(gas) *… in StateConservativeFromPrimitive_fwd()
170 dU.momentum[i] = dU.density * s.Y.velocity[i] + s.U.density * dY.velocity[i]; in StateConservativeFromPrimitive_fwd()
172 CeedScalar e_kinetic = .5 * Dot3(s.Y.velocity, s.Y.velocity); in StateConservativeFromPrimitive_fwd()
173 CeedScalar de_kinetic = Dot3(dY.velocity, s.Y.velocity); in StateConservativeFromPrimitive_fwd()
174 CeedScalar e_internal = gas->cv * s.Y.temperature; in StateConservativeFromPrimitive_fwd()
175 CeedScalar de_internal = gas->cv * dY.temperature; in StateConservativeFromPrimitive_fwd()
178 dU.E_total = dU.density * e_total + s.U.density * de_total; in StateConservativeFromPrimitive_fwd()
186 const CeedScalar e_internal = U.E_total - e_kinetic; in StateEntropyFromConservative()
187 const CeedScalar p = (gamma - 1) * e_internal; in StateEntropyFromConservative()
188 const CeedScalar entropy = log(p) - gamma * log(U.density); in StateEntropyFromConservative()
190 V.S_density = (gamma - entropy) / (gamma - 1) - e_kinetic / p; in StateEntropyFromConservative()
192 V.S_energy = -U.density / p; in StateEntropyFromConservative()
196 …ntropy StateEntropyFromConservative_fwd(NewtonianIdealGasContext gas, State s, StateConservative d… in StateEntropyFromConservative_fwd() argument
199 const CeedScalar e_kinetic = .5 * Dot3(s.U.momentum, s.U.momentum) / s.U.density; in StateEntropyFromConservative_fwd()
200 …const CeedScalar de_kinetic = (Dot3(s.U.momentum, dU.momentum) - e_kinetic * dU.density) / s.U.de… in StateEntropyFromConservative_fwd()
201 const CeedScalar de_internal = dU.E_total - de_kinetic; in StateEntropyFromConservative_fwd()
202 const CeedScalar p = s.Y.pressure; in StateEntropyFromConservative_fwd()
203 const CeedScalar dp = (gamma - 1) * de_internal; in StateEntropyFromConservative_fwd()
205 CeedScalar dentropy = dp / p - gamma * dU.density / s.U.density; in StateEntropyFromConservative_fwd()
207 dV.S_density = -dentropy / (gamma - 1) - de_kinetic / p + dp * e_kinetic / Square(p); in StateEntropyFromConservative_fwd()
209 dV.S_momentum[i] = (dU.momentum[i] - s.U.momentum[i] * dp / p) / p; in StateEntropyFromConservative_fwd()
211 dV.S_energy = -(dU.density - s.U.density * dp / p) / p; in StateEntropyFromConservative_fwd()
218 for (int i = 0; i < 3; i++) velocity[i] = -V.S_momentum[i] / V.S_energy; in StateConservativeFromEntropy()
221 const CeedScalar entropy = gamma - (gamma - 1) * (V.S_density - e_kinetic * V.S_energy); in StateConservativeFromEntropy()
222 const CeedScalar log_rho = -(entropy + log(-V.S_energy)) / (gamma - 1); in StateConservativeFromEntropy()
226 const CeedScalar e_internal = -gas->cv / (GasConstant(gas) * V.S_energy); in StateConservativeFromEntropy()
231 …ervative StateConservativeFromEntropy_fwd(NewtonianIdealGasContext gas, State s, StateEntropy dV) { in StateConservativeFromEntropy_fwd() argument
234 StateEntropy V = StateEntropyFromPrimitive(gas, s.Y); in StateConservativeFromEntropy_fwd()
235 …for (int i = 0; i < 3; i++) dvelocity[i] = (-dV.S_momentum[i] - s.Y.velocity[i] * dV.S_energy) / V… in StateConservativeFromEntropy_fwd()
237 const CeedScalar e_kinetic = 0.5 * Dot3(s.Y.velocity, s.Y.velocity); in StateConservativeFromEntropy_fwd()
238 const CeedScalar de_kinetic = Dot3(dvelocity, s.Y.velocity); in StateConservativeFromEntropy_fwd()
239 const CeedScalar entropy = gamma - (gamma - 1) * (V.S_density - e_kinetic * V.S_energy); in StateConservativeFromEntropy_fwd()
240 …const CeedScalar dentropy = -(gamma - 1) * (dV.S_density - (de_kinetic * V.S_energy + e_kinetic … in StateConservativeFromEntropy_fwd()
241 const CeedScalar log_rho = -(entropy + log(-V.S_energy)) / (gamma - 1); in StateConservativeFromEntropy_fwd()
243 dU.density = -rho / (gamma - 1) * (dentropy + dV.S_energy / V.S_energy); in StateConservativeFromEntropy_fwd()
244 …for (int i = 0; i < 3; i++) dU.momentum[i] = dU.density * s.Y.velocity[i] + s.U.density * dvelocit… in StateConservativeFromEntropy_fwd()
246 const CeedScalar e_internal = -gas->cv / (GasConstant(gas) * V.S_energy); in StateConservativeFromEntropy_fwd()
247 …const CeedScalar de_internal = gas->cv * dV.S_energy / (GasConstant(gas) * V.S_energy * V.S_energy… in StateConservativeFromEntropy_fwd()
249 dU.E_total = dU.density * e_total + s.U.density * (de_internal + de_kinetic); in StateConservativeFromEntropy_fwd()
255 State s; in StateFromPrimitive() local
256 s.U = U; in StateFromPrimitive()
257 s.Y = Y; in StateFromPrimitive()
258 return s; in StateFromPrimitive()
261 CEED_QFUNCTION_HELPER State StateFromPrimitive_fwd(NewtonianIdealGasContext gas, State s, StatePrim… in StateFromPrimitive_fwd() argument
262 StateConservative dU = StateConservativeFromPrimitive_fwd(gas, s, dY); in StateFromPrimitive_fwd()
329 State s; in StateFromU() local
330 s.U.density = U[0]; in StateFromU()
331 s.U.momentum[0] = U[1]; in StateFromU()
332 s.U.momentum[1] = U[2]; in StateFromU()
333 s.U.momentum[2] = U[3]; in StateFromU()
334 s.U.E_total = U[4]; in StateFromU()
335 s.Y = StatePrimitiveFromConservative(gas, s.U); in StateFromU()
336 return s; in StateFromU()
339 CEED_QFUNCTION_HELPER State StateFromU_fwd(NewtonianIdealGasContext gas, State s, const CeedScalar … in StateFromU_fwd() argument
346 ds.Y = StatePrimitiveFromConservative_fwd(gas, s, ds.U); in StateFromU_fwd()
351 State s; in StateFromY() local
352 s.Y.pressure = Y[0]; in StateFromY()
353 s.Y.velocity[0] = Y[1]; in StateFromY()
354 s.Y.velocity[1] = Y[2]; in StateFromY()
355 s.Y.velocity[2] = Y[3]; in StateFromY()
356 s.Y.temperature = Y[4]; in StateFromY()
357 s.U = StateConservativeFromPrimitive(gas, s.Y); in StateFromY()
358 return s; in StateFromY()
361 CEED_QFUNCTION_HELPER State StateFromY_fwd(NewtonianIdealGasContext gas, State s, const CeedScalar … in StateFromY_fwd() argument
368 ds.U = StateConservativeFromPrimitive_fwd(gas, s, ds.Y); in StateFromY_fwd()
373 State s; in StateFromV() local
380 s.U = StateConservativeFromEntropy(gas, state_V); in StateFromV()
381 s.Y = StatePrimitiveFromEntropy(gas, state_V); in StateFromV()
382 return s; in StateFromV()
385 CEED_QFUNCTION_HELPER State StateFromV_fwd(NewtonianIdealGasContext gas, State s, const CeedScalar … in StateFromV_fwd() argument
393 ds.U = StateConservativeFromEntropy_fwd(gas, s, state_dV); in StateFromV_fwd()
394 ds.Y = StatePrimitiveFromEntropy_fwd(gas, s, state_dV); in StateFromV_fwd()
399 State s; in StateFromQ() local
402 s = StateFromU(gas, Q); in StateFromQ()
405 s = StateFromY(gas, Q); in StateFromQ()
408 s = StateFromV(gas, Q); in StateFromQ()
411 return s; in StateFromQ()
414 CEED_QFUNCTION_HELPER State StateFromQ_fwd(NewtonianIdealGasContext gas, State s, const CeedScalar … in StateFromQ_fwd() argument
418 ds = StateFromU_fwd(gas, s, dQ); in StateFromQ_fwd()
421 ds = StateFromY_fwd(gas, s, dQ); in StateFromQ_fwd()
424 ds = StateFromV_fwd(gas, s, dQ); in StateFromQ_fwd()
430 CEED_QFUNCTION_HELPER void FluxInviscid(NewtonianIdealGasContext gas, State s, StateConservative Fl… in FluxInviscid() argument
432 Flux[i].density = s.U.momentum[i]; in FluxInviscid()
433 …for (CeedInt j = 0; j < 3; j++) Flux[i].momentum[j] = s.U.momentum[i] * s.Y.velocity[j] + s.Y.pres… in FluxInviscid()
434 Flux[i].E_total = (s.U.E_total + s.Y.pressure) * s.Y.velocity[i]; in FluxInviscid()
438 CEED_QFUNCTION_HELPER void FluxInviscid_fwd(NewtonianIdealGasContext gas, State s, State ds, StateC… in FluxInviscid_fwd() argument
442 …dFlux[i].momentum[j] = ds.U.momentum[i] * s.Y.velocity[j] + s.U.momentum[i] * ds.Y.velocity[j] + d… in FluxInviscid_fwd()
444 …dFlux[i].E_total = (ds.U.E_total + ds.Y.pressure) * s.Y.velocity[i] + (s.U.E_total + s.Y.pressure)… in FluxInviscid_fwd()
448 CEED_QFUNCTION_HELPER StateConservative FluxInviscidDotNormal(NewtonianIdealGasContext gas, State s… in FluxInviscidDotNormal() argument
450 FluxInviscid(gas, s, Flux); in FluxInviscidDotNormal()
459 …eConservative FluxInviscidDotNormal_fwd(NewtonianIdealGasContext gas, State s, State ds, const Cee… in FluxInviscidDotNormal_fwd() argument
461 FluxInviscid_fwd(gas, s, ds, dFlux); in FluxInviscidDotNormal_fwd()
470 CEED_QFUNCTION_HELPER void FluxInviscidStrong(NewtonianIdealGasContext gas, State s, State ds[3], C… in FluxInviscidStrong() argument
474 FluxInviscid_fwd(gas, s, ds[i], dF); in FluxInviscidStrong()
484 for (CeedInt k = 0; k < 3; k++) Flux[k + 1][j] = F_inviscid[j].momentum[k] - stress[k][j]; in FluxTotal()
495 Flux[k + 1] += (F_inviscid[j].momentum[k] - stress[k][j]) * normal[j]; in FluxTotal_Boundary()
508 Flux[k + 1] -= stress[k][j] * normal[j]; in FluxTotal_RiemannBoundary()
536 // Kelvin-Mandel notation
543 //@brief Given velocity gradient du_i/dx_j, return 0.5*(du_i/dx_j - du_j/dx_i)
548 rotation_rate[1][2] = 0.5 * (grad_velocity[1][2] - grad_velocity[2][1]); in RotationRate()
549 rotation_rate[0][2] = 0.5 * (grad_velocity[0][2] - grad_velocity[2][0]); in RotationRate()
550 rotation_rate[0][1] = 0.5 * (grad_velocity[0][1] - grad_velocity[1][0]); in RotationRate()
551 rotation_rate[2][1] = -rotation_rate[1][2]; in RotationRate()
552 rotation_rate[2][0] = -rotation_rate[0][2]; in RotationRate()
553 rotation_rate[1][0] = -rotation_rate[0][1]; in RotationRate()
559 stress[i] = gas->mu * (2 * strain_rate[i] + gas->lambda * div_u * (i < 3)); in NewtonianStress()
566 …Fe[i] = -Y.velocity[0] * stress[0][i] - Y.velocity[1] * stress[1][i] - Y.velocity[2] * stress[2][i… in ViscousEnergyFlux()
573 …dFe[i] = -Y.velocity[0] * dstress[0][i] - dY.velocity[0] * stress[0][i] - Y.velocity[1] * dstress[… in ViscousEnergyFlux_fwd()
574 … Y.velocity[2] * dstress[2][i] - dY.velocity[2] * stress[2][i] - gas->k * grad_ds[i].Y.temperature; in ViscousEnergyFlux_fwd()
584 …ientFromReference(CeedInt Q, CeedInt i, NewtonianIdealGasContext gas, State s, StateVariable state… in StatePhysicalGradientFromReference() argument
592 grad_s[k] = StateFromQ_fwd(gas, s, dqi, state_var); in StatePhysicalGradientFromReference()
596 …PhysicalGradientFromReference_Boundary(CeedInt Q, CeedInt i, NewtonianIdealGasContext gas, State s, in StatePhysicalGradientFromReference_Boundary() argument
604 grad_s[k] = StateFromQ_fwd(gas, s, dqi, state_var); in StatePhysicalGradientFromReference_Boundary()