Lines Matching refs:dim
64 CEED_QFUNCTION_HELPER int Exact_AdvectionGeneric(CeedInt dim, CeedScalar time, const CeedScalar X[]… in Exact_AdvectionGeneric() argument
69 const CeedScalar lz = dim == 2 ? 0. : context->lz; in Exact_AdvectionGeneric()
73 const CeedScalar theta = dim == 2 ? M_PI / 3 : M_PI; in Exact_AdvectionGeneric()
76 const CeedScalar x = X[0], y = X[1], z = dim == 2 ? 0. : X[2]; in Exact_AdvectionGeneric()
89 q[3] = dim == 2 ? 0. : wind[2]; in Exact_AdvectionGeneric()
147 CeedScalar theta = context->wave_frequency * DotN(X, wind, dim) + context->wave_phase; in Exact_AdvectionGeneric()
240 …LPER CeedScalar Tau(AdvectionContext context, const State s, const CeedScalar *dXdx, CeedInt dim) { in Tau() argument
245 MatVecNM(dXdx, s.Y.velocity, dim, dim, CEED_NOTRANSPOSE, uX); in Tau()
246 return context->CtauS / sqrt(DotN(uX, uX, dim)); in Tau()
251 MatMatN(dXdx, dXdx, dim, CEED_TRANSPOSE, CEED_NOTRANSPOSE, gijd_mat); in Tau()
253 ScaleN(gijd_mat, 0.25, Square(dim)); in Tau()
254 MatVecNM(gijd_mat, s.Y.velocity, dim, dim, CEED_NOTRANSPOSE, gij_uj); in Tau()
255 …return 1 / sqrt(Square(2 * context->Ctau_t / context->dt) + DotN(s.Y.velocity, gij_uj, dim) * Squa… in Tau()
256 … Square(context->diffusion_coeff) * DotN(gijd_mat, gijd_mat, dim * dim) * Square(context->Ctau_d)); in Tau()
266 …onGeneric(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out, CeedInt dim) { in IFunction_AdvectionGeneric() argument
285 QdataUnpack_ND(dim, Q, i, q_data, &wdetJ, dXdx); in IFunction_AdvectionGeneric()
287 …StatePhysicalGradientFromReference_ND(dim, Q, i, gas, s, STATEVAR_CONSERVATIVE, grad_q, dXdx, grad… in IFunction_AdvectionGeneric()
292 for (CeedInt j = 0; j < dim; j++) grad_v[j][f][i] = 0; // No Change in density or momentum in IFunction_AdvectionGeneric()
297 for (CeedInt j = 0; j < dim; j++) { in IFunction_AdvectionGeneric()
298 for (CeedInt k = 0; k < dim; k++) { in IFunction_AdvectionGeneric()
303 MatVecNM(dXdx, s.Y.velocity, dim, dim, CEED_NOTRANSPOSE, uX); in IFunction_AdvectionGeneric()
304 CeedScalar strong_conv = s.U.E_total * div_u + DotN(s.Y.velocity, Grad_E, dim); in IFunction_AdvectionGeneric()
310 for (CeedInt j = 0; j < dim; j++) grad_v[j][4][i] = -wdetJ * s.U.E_total * uX[j]; in IFunction_AdvectionGeneric()
316 for (CeedInt i = 0; i < dim; i++) Fe[i] = -context->diffusion_coeff * grad_s[i].U.E_total; in IFunction_AdvectionGeneric()
317 MatVecNM(dXdx, Fe, dim, dim, CEED_NOTRANSPOSE, Fe_dXdx); in IFunction_AdvectionGeneric()
318 for (CeedInt k = 0; k < dim; k++) grad_v[k][4][i] -= wdetJ * Fe_dXdx[k]; in IFunction_AdvectionGeneric()
321 const CeedScalar TauS = Tau(context, s, dXdx, dim); in IFunction_AdvectionGeneric()
322 for (CeedInt j = 0; j < dim; j++) { in IFunction_AdvectionGeneric()
347 …onGeneric(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out, CeedInt dim) { in MassFunction_AdvectionGeneric() argument
362 QdataUnpack_ND(dim, Q, i, q_data, &wdetJ, dXdx); in MassFunction_AdvectionGeneric()
365 for (CeedInt j = 0; j < dim; j++) grad_v[j][f][i] = 0; // No Change in density or momentum in MassFunction_AdvectionGeneric()
374 MatVecNM(dXdx, s.Y.velocity, dim, dim, CEED_NOTRANSPOSE, uX); in MassFunction_AdvectionGeneric()
375 const CeedScalar TauS = Tau(context, s, dXdx, dim); in MassFunction_AdvectionGeneric()
376 for (CeedInt j = 0; j < dim; j++) { in MassFunction_AdvectionGeneric()
402 …onGeneric(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out, CeedInt dim) { in RHSFunction_AdvectionGeneric() argument
420 QdataUnpack_ND(dim, Q, i, q_data, &wdetJ, dXdx); in RHSFunction_AdvectionGeneric()
422 …StatePhysicalGradientFromReference_ND(dim, Q, i, gas, s, STATEVAR_CONSERVATIVE, grad_q, dXdx, grad… in RHSFunction_AdvectionGeneric()
427 for (CeedInt j = 0; j < dim; j++) grad_v[j][f][i] = 0; // No Change in density or momentum in RHSFunction_AdvectionGeneric()
432 for (CeedInt j = 0; j < dim; j++) { in RHSFunction_AdvectionGeneric()
433 for (CeedInt k = 0; k < dim; k++) { in RHSFunction_AdvectionGeneric()
437 CeedScalar strong_conv = s.U.E_total * div_u + DotN(s.Y.velocity, Grad_E, dim); in RHSFunction_AdvectionGeneric()
440 MatVecNM(dXdx, s.Y.velocity, dim, dim, CEED_NOTRANSPOSE, uX); in RHSFunction_AdvectionGeneric()
444 for (CeedInt j = 0; j < dim; j++) grad_v[j][4][i] = 0; in RHSFunction_AdvectionGeneric()
446 for (CeedInt j = 0; j < dim; j++) grad_v[j][4][i] = wdetJ * s.U.E_total * uX[j]; in RHSFunction_AdvectionGeneric()
453 for (CeedInt i = 0; i < dim; i++) Fe[i] = -context->diffusion_coeff * grad_s[i].U.E_total; in RHSFunction_AdvectionGeneric()
454 MatVecNM(dXdx, Fe, dim, dim, CEED_NOTRANSPOSE, Fe_dXdx); in RHSFunction_AdvectionGeneric()
455 for (CeedInt k = 0; k < dim; k++) grad_v[k][4][i] += wdetJ * Fe_dXdx[k]; in RHSFunction_AdvectionGeneric()
458 const CeedScalar TauS = Tau(context, s, dXdx, dim); in RHSFunction_AdvectionGeneric()
459 for (CeedInt j = 0; j < dim; j++) { in RHSFunction_AdvectionGeneric()
496 …owGeneric(void *ctx, CeedInt Q, const CeedScalar *const *in, CeedScalar *const *out, CeedInt dim) { in Advection_InOutFlowGeneric() argument
512 QdataBoundaryUnpack_ND(dim, Q, i, q_data_sur, &wdetJb, NULL, normal); in Advection_InOutFlowGeneric()
515 const CeedScalar u_normal = DotN(normal, u, dim); in Advection_InOutFlowGeneric()
541 const CeedInt dim) { in DivDiffusiveFluxVolumeRHS_AdvDif_Generic() argument
551 QdataUnpack_ND(dim, Q, i, q_data, &wdetJ, dXdx); in DivDiffusiveFluxVolumeRHS_AdvDif_Generic()
555 GradUnpackND(Q, i, 5, dim, Grad_q, Grad_qn); in DivDiffusiveFluxVolumeRHS_AdvDif_Generic()
556 CopyN(&Grad_qn[4 * dim], grad_E_ref, dim); in DivDiffusiveFluxVolumeRHS_AdvDif_Generic()
557 MatVecNM(dXdx, grad_E_ref, dim, dim, CEED_NOTRANSPOSE, F_diff); in DivDiffusiveFluxVolumeRHS_AdvDif_Generic()
558 ScaleN(F_diff, -context->diffusion_coeff, dim); in DivDiffusiveFluxVolumeRHS_AdvDif_Generic()
562 MatVecNM(dXdx, F_diff, dim, dim, CEED_NOTRANSPOSE, F_diff_dXdx); in DivDiffusiveFluxVolumeRHS_AdvDif_Generic()
563 for (CeedInt k = 0; k < dim; k++) Grad_v[k][i] = -wdetJ * F_diff_dXdx[k]; in DivDiffusiveFluxVolumeRHS_AdvDif_Generic()
578 const CeedInt dim) { in DivDiffusiveFluxBoundaryRHS_AdvDif_Generic() argument
588 QdataBoundaryGradientUnpack_ND(dim, Q, i, q_data, &wdetJ, dXdx, normal); in DivDiffusiveFluxBoundaryRHS_AdvDif_Generic()
592 GradUnpackND(Q, i, 5, dim, Grad_q, Grad_qn); in DivDiffusiveFluxBoundaryRHS_AdvDif_Generic()
593 CopyN(&Grad_qn[4 * dim], grad_E_ref, dim); in DivDiffusiveFluxBoundaryRHS_AdvDif_Generic()
594 MatVecNM(dXdx, grad_E_ref, dim, dim, CEED_NOTRANSPOSE, F_diff); in DivDiffusiveFluxBoundaryRHS_AdvDif_Generic()
595 ScaleN(F_diff, -context->diffusion_coeff, dim); in DivDiffusiveFluxBoundaryRHS_AdvDif_Generic()
598 v[i] = wdetJ * DotN(F_diff, normal, dim); in DivDiffusiveFluxBoundaryRHS_AdvDif_Generic()
613 const CeedInt dim) { in DiffusiveFluxRHS_AdvDif_Generic() argument
623 QdataUnpack_ND(dim, Q, i, q_data, &wdetJ, dXdx); in DiffusiveFluxRHS_AdvDif_Generic()
627 GradUnpackND(Q, i, 5, dim, Grad_q, Grad_qn); in DiffusiveFluxRHS_AdvDif_Generic()
628 CopyN(&Grad_qn[4 * dim], grad_E_ref, dim); in DiffusiveFluxRHS_AdvDif_Generic()
629 MatVecNM(dXdx, grad_E_ref, dim, dim, CEED_NOTRANSPOSE, F_diff); in DiffusiveFluxRHS_AdvDif_Generic()
630 ScaleN(F_diff, -context->diffusion_coeff, dim); in DiffusiveFluxRHS_AdvDif_Generic()
632 for (CeedInt k = 0; k < dim; k++) v[k][i] = wdetJ * F_diff[k]; in DiffusiveFluxRHS_AdvDif_Generic()