Lines Matching +full:- +full:y
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
28 StatePrimitive Y; member
37 CEED_QFUNCTION_HELPER void UnpackState_Y(StatePrimitive s, CeedScalar Y[5]) { in UnpackState_Y()
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()
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()
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()
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()
72 StatePrimitive Y; in StatePrimitiveFromConservative() local
73 for (CeedInt i = 0; i < 3; i++) Y.velocity[i] = U.momentum[i] / U.density; in StatePrimitiveFromConservative()
74 CeedScalar e_kinetic = .5 * Dot3(Y.velocity, Y.velocity); in StatePrimitiveFromConservative()
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()
79 return Y; in StatePrimitiveFromConservative()
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()
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()
98 …ION_HELPER StateEntropy StateEntropyFromPrimitive(NewtonianIdealGasContext gas, StatePrimitive Y) { in StateEntropyFromPrimitive() argument
101 const CeedScalar rho = Y.pressure / (GasConstant(gas) * Y.temperature); in StateEntropyFromPrimitive()
102 const CeedScalar entropy = log(Y.pressure) - gamma * log(rho); in StateEntropyFromPrimitive()
103 const CeedScalar rho_div_p = rho / Y.pressure; in StateEntropyFromPrimitive()
104 const CeedScalar e_kinetic = 0.5 * Dot3(Y.velocity, Y.velocity); in StateEntropyFromPrimitive()
106 V.S_density = (gamma - entropy) / (gamma - 1) - rho_div_p * e_kinetic; in StateEntropyFromPrimitive()
107 for (int i = 0; i < 3; i++) V.S_momentum[i] = rho_div_p * Y.velocity[i]; in StateEntropyFromPrimitive()
108 V.S_energy = -rho_div_p; in StateEntropyFromPrimitive()
115 … 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()
131 StatePrimitive Y; in StatePrimitiveFromEntropy() local
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()
135 const CeedScalar e_kinetic = 0.5 * Dot3(Y.velocity, Y.velocity); 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()
138 Y.pressure = exp(log_P); in StatePrimitiveFromEntropy()
139 return Y; in StatePrimitiveFromEntropy()
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()
155 … StateConservative StateConservativeFromPrimitive(NewtonianIdealGasContext gas, StatePrimitive Y) { in StateConservativeFromPrimitive() argument
157 U.density = Y.pressure / (GasConstant(gas) * Y.temperature); in StateConservativeFromPrimitive()
158 for (int i = 0; i < 3; i++) U.momentum[i] = U.density * Y.velocity[i]; in StateConservativeFromPrimitive()
159 CeedScalar e_internal = gas->cv * Y.temperature; in StateConservativeFromPrimitive()
160 CeedScalar e_kinetic = .5 * Dot3(Y.velocity, Y.velocity); in StateConservativeFromPrimitive()
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()
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()
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()
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()
253 CEED_QFUNCTION_HELPER State StateFromPrimitive(NewtonianIdealGasContext gas, StatePrimitive Y) { in StateFromPrimitive() argument
254 StateConservative U = StateConservativeFromPrimitive(gas, Y); in StateFromPrimitive()
257 s.Y = Y; in StateFromPrimitive()
265 ds.Y = dY; in StateFromPrimitive_fwd()
280 …rvativeAXPBYPCZ(CeedScalar a, StateConservative X, CeedScalar b, StateConservative Y, CeedScalar c, in StateConservativeAXPBYPCZ() argument
283 R.density = a * X.density + b * Y.density + c * Z.density; in StateConservativeAXPBYPCZ()
284 …for (int i = 0; i < 3; i++) R.momentum[i] = a * X.momentum[i] + b * Y.momentum[i] + c * Z.momentum… in StateConservativeAXPBYPCZ()
285 R.E_total = a * X.E_total + b * Y.E_total + c * Z.E_total; in StateConservativeAXPBYPCZ()
291 …oY(NewtonianIdealGasContext gas, const State input, CeedScalar Y[5]) { UnpackState_Y(input.Y, Y); } in StateToY()
294 StateEntropy state_V = StateEntropyFromPrimitive(gas, input.Y); in StateToV()
322 dstate_v = StateEntropyFromPrimitive_fwd(gas, input, dinput.Y); in StateToQ_fwd()
335 s.Y = StatePrimitiveFromConservative(gas, s.U); in StateFromU()
346 ds.Y = StatePrimitiveFromConservative_fwd(gas, s, ds.U); in StateFromU_fwd()
350 CEED_QFUNCTION_HELPER State StateFromY(NewtonianIdealGasContext gas, const CeedScalar Y[5]) { in StateFromY()
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()
363 ds.Y.pressure = dY[0]; in StateFromY_fwd()
364 ds.Y.velocity[0] = dY[1]; in StateFromY_fwd()
365 ds.Y.velocity[1] = dY[2]; in StateFromY_fwd()
366 ds.Y.velocity[2] = dY[3]; in StateFromY_fwd()
367 ds.Y.temperature = dY[4]; in StateFromY_fwd()
368 ds.U = StateConservativeFromPrimitive_fwd(gas, s, ds.Y); in StateFromY_fwd()
381 s.Y = StatePrimitiveFromEntropy(gas, state_V); in StateFromV()
394 ds.Y = StatePrimitiveFromEntropy_fwd(gas, s, state_dV); in StateFromV_fwd()
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()
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()
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()
515 grad_velocity[0][0] = grad_s[0].Y.velocity[0]; in VelocityGradient()
516 grad_velocity[0][1] = grad_s[1].Y.velocity[0]; in VelocityGradient()
517 grad_velocity[0][2] = grad_s[2].Y.velocity[0]; in VelocityGradient()
518 grad_velocity[1][0] = grad_s[0].Y.velocity[1]; in VelocityGradient()
519 grad_velocity[1][1] = grad_s[1].Y.velocity[1]; in VelocityGradient()
520 grad_velocity[1][2] = grad_s[2].Y.velocity[1]; in VelocityGradient()
521 grad_velocity[2][0] = grad_s[0].Y.velocity[2]; in VelocityGradient()
522 grad_velocity[2][1] = grad_s[1].Y.velocity[2]; in VelocityGradient()
523 grad_velocity[2][2] = grad_s[2].Y.velocity[2]; in VelocityGradient()
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()
563 CEED_QFUNCTION_HELPER void ViscousEnergyFlux(NewtonianIdealGasContext gas, StatePrimitive Y, const … in ViscousEnergyFlux() argument
566 …Fe[i] = -Y.velocity[0] * stress[0][i] - Y.velocity[1] * stress[1][i] - Y.velocity[2] * stress[2][i… in ViscousEnergyFlux()
570 CEED_QFUNCTION_HELPER void ViscousEnergyFlux_fwd(NewtonianIdealGasContext gas, StatePrimitive Y, St… in ViscousEnergyFlux_fwd() argument
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()