Lines Matching +full:- +full:v
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
43 CEED_QFUNCTION_HELPER void UnpackState_V(StateEntropy s, CeedScalar V[5]) { in UnpackState_V()
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()
61 CeedScalar e_internal = gas->cv * s.Y.temperature; in TotalSpecificEnthalpy()
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()
85 dY.velocity[i] = (dU.momentum[i] - s.Y.velocity[i] * dU.density) / 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()
99 StateEntropy V; in StateEntropyFromPrimitive() local
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()
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()
109 return V; in StateEntropyFromPrimitive()
115 …CeedScalar drho = (dY.pressure * s.Y.temperature - s.Y.pressure * dY.temperature) / (GasCon… 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()
126 dV.S_energy = -drho_div_p; in StateEntropyFromPrimitive_fwd()
130 …ION_HELPER StatePrimitive StatePrimitiveFromEntropy(NewtonianIdealGasContext gas, StateEntropy V) { in StatePrimitiveFromEntropy() argument
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()
144 StateEntropy V = StateEntropyFromPrimitive(gas, s.Y); in StatePrimitiveFromEntropy_fwd() local
145 … (int i = 0; i < 3; i++) dY.velocity[i] = -(dV.S_momentum[i] - V.S_momentum[i] * dV.S_energy / V.S… in StatePrimitiveFromEntropy_fwd()
146 dY.temperature = dV.S_energy / (GasConstant(gas) * V.S_energy * V.S_energy); 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()
168 …dU.density = (dY.pressure * s.Y.temperature - s.Y.pressure * dY.temperature) / (GasConstant(gas) *… 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()
183 StateEntropy V; in StateEntropyFromConservative() local
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()
191 for (int i = 0; i < 3; i++) V.S_momentum[i] = U.momentum[i] / p; in StateEntropyFromConservative()
192 V.S_energy = -U.density / p; in StateEntropyFromConservative()
193 return V; 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()
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()
215 …LPER StateConservative StateConservativeFromEntropy(NewtonianIdealGasContext gas, StateEntropy V) { in StateConservativeFromEntropy() argument
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() local
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()
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()
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()
293 CEED_QFUNCTION_HELPER void StateToV(NewtonianIdealGasContext gas, const State input, CeedScalar V[5… in StateToV()
295 UnpackState_V(state_V, V); in StateToV()
372 CEED_QFUNCTION_HELPER State StateFromV(NewtonianIdealGasContext gas, const CeedScalar V[5]) { in StateFromV()
375 state_V.S_density = V[0]; in StateFromV()
376 state_V.S_momentum[0] = V[1]; in StateFromV()
377 state_V.S_momentum[1] = V[2]; in StateFromV()
378 state_V.S_momentum[2] = V[3]; in StateFromV()
379 state_V.S_energy = V[4]; in StateFromV()
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()