Lines Matching +full:- +full:j
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
9 … tube initial condition and Euler equation operator for Navier-Stokes example using PETSc - modifi…
63 // E = P / (gamma - 1) + rho (u u)/2
74 // This helper function provides support for the exact, time-dependent solution (currently not impl…
80 const CeedScalar mid_point = context->mid_point; // Midpoint of the domain in Exact_ShockTube()
81 const CeedScalar P_high = context->P_high; // Driver section pressure in Exact_ShockTube()
82 const CeedScalar rho_high = context->rho_high; // Driver section density in Exact_ShockTube()
83 const CeedScalar P_low = context->P_low; // Driven section pressure in Exact_ShockTube()
84 const CeedScalar rho_low = context->rho_low; // Driven section density in Exact_ShockTube()
106 q[4] = P / (gamma - 1.0) + rho * (u[0] * u[0]) / 2.; in Exact_ShockTube()
118 for (CeedInt j = 0; j < 3; j++) { // Rows of each Jacobian matrix in ConvectiveFluxJacobian_Euler() local
119 dF[i][j + 1][0] = ((i == j) ? ((gamma - 1.) * (u_sq / 2.)) : 0.) - u[i] * u[j]; in ConvectiveFluxJacobian_Euler()
122 …dF[i][j + 1][k + 1] = ((j == k) ? u[i] : 0.) + ((i == k) ? u[j] : 0.) - ((i == j) ? u[k] : 0.) * (… in ConvectiveFluxJacobian_Euler()
123 …dF[i][4][k + 1] = ((i == k) ? (E * gamma / rho - (gamma - 1.) * u_sq / 2.) : 0.) - (gamma - 1.… in ConvectiveFluxJacobian_Euler()
125 dF[i][j + 1][4] = ((i == j) ? (gamma - 1.) : 0.); in ConvectiveFluxJacobian_Euler()
127 dF[i][4][0] = u[i] * ((gamma - 1.) * u_sq - E * gamma / rho); in ConvectiveFluxJacobian_Euler()
143 for (CeedInt j = 0; j < 3; j++) { in Covariant_length_along_vector() local
144 vec_dot_jacobian[i] += dXdx[j][i] * vec[i]; in Covariant_length_along_vector()
158 // Spatial criterion #2 - Tau is a 3x3 diagonal matrix
165 // Xi(Pe) = coth Pe - 1. / Pe (1. at large local Peclet number )
192 for (CeedInt j = 0; j < 5; j++) q0[j][i] = q[j]; in ICsShockTube() local
203 // rho - Mass Density
204 // Ui - Momentum Density, Ui = rho ui
205 // E - Total Energy Density, E = P / (gamma - 1) + rho (u u)/2
213 // P = (gamma - 1) (E - rho (u u) / 2)
231 const CeedScalar Cyzb = context->Cyzb; in EulerShockTube()
232 const CeedScalar Byzb = context->Byzb; in EulerShockTube()
233 const CeedScalar c_tau = context->c_tau; in EulerShockTube()
237 // -- Interp in in EulerShockTube()
256 for (CeedInt j = 0; j < 3; j++) { in EulerShockTube() local
258 du[j][k] = (dU[j][k] - drho[k] * u[j]) / rho; in EulerShockTube()
259 drhodx[j] += drho[k] * dXdx[k][j]; in EulerShockTube()
260 dEdx[j] += dE[k] * dXdx[k][j]; in EulerShockTube()
262 dUdx[j][k] += dU[j][l] * dXdx[l][k]; in EulerShockTube()
263 dXdxdXdxT[j][k] += dXdx[j][l] * dXdx[k][l]; // dXdx_j,k * dXdx_k,j in EulerShockTube()
268 …alar E_kinetic = 0.5 * rho * (u[0] * u[0] + u[1] * u[1] + u[2] * u[2]), E_internal = E - E_kinetic, in EulerShockTube()
269 P = E_internal * (gamma - 1); // P = pressure in EulerShockTube()
273 for (CeedInt j = 0; j < 5; j++) { in EulerShockTube() local
274 v[j][i] = 0; in EulerShockTube()
275 for (CeedInt k = 0; k < 3; k++) dv[k][j][i] = 0; in EulerShockTube()
278 // -- Density in EulerShockTube()
279 // ---- u rho in EulerShockTube()
280 …for (CeedInt j = 0; j < 3; j++) dv[j][0][i] += wdetJ * (rho * u[0] * dXdx[j][0] + rho * u[1] * dXd… in EulerShockTube() local
281 // -- Momentum in EulerShockTube()
282 // ---- rho (u x u) + P I3 in EulerShockTube()
283 for (CeedInt j = 0; j < 3; j++) { in EulerShockTube() local
285 …dv[k][j + 1][i] += wdetJ * ((rho * u[j] * u[0] + (j == 0 ? P : 0)) * dXdx[k][0] + (rho * u[j] * u[… in EulerShockTube()
286 (rho * u[j] * u[2] + (j == 2 ? P : 0)) * dXdx[k][2]); in EulerShockTube()
289 // -- Total Energy Density in EulerShockTube()
290 // ---- (E + P) u in EulerShockTube()
291 …for (CeedInt j = 0; j < 3; j++) dv[j][4][i] += wdetJ * (E + P) * (u[0] * dXdx[j][0] + u[1] * dXdx[… in EulerShockTube() local
293 // -- YZB stabilization in EulerShockTube()
294 if (context->yzb) { in EulerShockTube()
304 for (CeedInt j = 0; j < 3; j++) j_vec[j] = drhodx[j] / (drho_norm + 1e-20); in EulerShockTube() local
316 for (CeedInt j = 0; j < 3; j++) dv[j][0][i] -= wdetJ * nu_shock * drhodx[j]; in EulerShockTube() local
319 for (CeedInt j = 0; j < 3; j++) dv[j][k][i] -= wdetJ * nu_shock * du[k][j]; in EulerShockTube() local
322 for (CeedInt j = 0; j < 3; j++) dv[j][4][i] -= wdetJ * nu_shock * dEdx[j]; in EulerShockTube() local
333 for (CeedInt j = 0; j < 3; j++) { in EulerShockTube() local
334 dqdx[0][j] = drhodx[j]; in EulerShockTube()
335 dqdx[4][j] = dEdx[j]; in EulerShockTube()
336 for (CeedInt k = 0; k < 3; k++) dqdx[k + 1][j] = dUdx[k][j]; in EulerShockTube()
341 for (CeedInt j = 0; j < 3; j++) { in EulerShockTube() local
343 for (CeedInt l = 0; l < 5; l++) strong_conv[k] += jacob_F_conv[j][k][l] * dqdx[l][j]; in EulerShockTube()
348 // -- Tau elements in EulerShockTube()
354 switch (context->stabilization) { in EulerShockTube()
358 for (CeedInt j = 0; j < 3; j++) { in EulerShockTube() local
361 stab[k][j] += jacob_F_conv[j][k][l] * Tau_x[j] * strong_conv[l]; in EulerShockTube()
365 for (CeedInt j = 0; j < 5; j++) { in EulerShockTube() local
366 …for (CeedInt k = 0; k < 3; k++) dv[k][j][i] -= wdetJ * (stab[j][0] * dXdx[k][0] + stab[j][1] * dXd… in EulerShockTube()