Lines Matching refs:uL
290 static PetscErrorCode PhysicsRiemann_Advect(void *vctx, PetscInt m, const PetscScalar *uL, const Pe… in PhysicsRiemann_Advect() argument
297 flux[0] = PetscMax(0, speed) * uL[0] + PetscMin(0, speed) * uR[0]; in PhysicsRiemann_Advect()
426 static PetscErrorCode PhysicsRiemann_Burgers_Exact(void *vctx, PetscInt m, const PetscScalar *uL, c… in PhysicsRiemann_Burgers_Exact() argument
429 if (uL[0] < uR[0]) { /* rarefaction */ in PhysicsRiemann_Burgers_Exact()
430 flux[0] = (uL[0] * uR[0] < 0) ? 0 /* sonic rarefaction */ in PhysicsRiemann_Burgers_Exact()
431 : 0.5 * PetscMin(PetscSqr(uL[0]), PetscSqr(uR[0])); in PhysicsRiemann_Burgers_Exact()
433 flux[0] = 0.5 * PetscMax(PetscSqr(uL[0]), PetscSqr(uR[0])); in PhysicsRiemann_Burgers_Exact()
435 *maxspeed = (PetscAbs(uL[0]) > PetscAbs(uR[0])) ? uL[0] : uR[0]; in PhysicsRiemann_Burgers_Exact()
439 static PetscErrorCode PhysicsRiemann_Burgers_Roe(void *vctx, PetscInt m, const PetscScalar *uL, con… in PhysicsRiemann_Burgers_Roe() argument
444 speed = 0.5 * (uL[0] + uR[0]); in PhysicsRiemann_Burgers_Roe()
445 flux[0] = 0.25 * (PetscSqr(uL[0]) + PetscSqr(uR[0])) - 0.5 * PetscAbs(speed) * (uR[0] - uL[0]); in PhysicsRiemann_Burgers_Roe()
446 if (uL[0] <= 0 && 0 <= uR[0]) flux[0] = 0; /* Entropy fix for sonic rarefaction */ in PhysicsRiemann_Burgers_Roe()
451 static PetscErrorCode PhysicsRiemann_Burgers_LxF(void *vctx, PetscInt m, const PetscScalar *uL, con… in PhysicsRiemann_Burgers_LxF() argument
458 fL = 0.5 * PetscSqr(uL[0]); in PhysicsRiemann_Burgers_LxF()
460 flux[0] = 0.5 * (fL + fR) - 0.5 * c * (uR[0] - uL[0]); in PhysicsRiemann_Burgers_LxF()
465 static PetscErrorCode PhysicsRiemann_Burgers_Rusanov(void *vctx, PetscInt m, const PetscScalar *uL,… in PhysicsRiemann_Burgers_Rusanov() argument
471 c = PetscMax(PetscAbs(uL[0]), PetscAbs(uR[0])); in PhysicsRiemann_Burgers_Rusanov()
472 fL = 0.5 * PetscSqr(uL[0]); in PhysicsRiemann_Burgers_Rusanov()
474 flux[0] = 0.5 * (fL + fR) - 0.5 * c * (uR[0] - uL[0]); in PhysicsRiemann_Burgers_Rusanov()
554 static PetscErrorCode PhysicsRiemann_Traffic_Exact(void *vctx, PetscInt m, const PetscScalar *uL, c… in PhysicsRiemann_Traffic_Exact() argument
559 if (uL[0] < uR[0]) { in PhysicsRiemann_Traffic_Exact()
560 flux[0] = PetscMin(TrafficFlux(a, uL[0]), TrafficFlux(a, uR[0])); in PhysicsRiemann_Traffic_Exact()
562 …flux[0] = (uR[0] < 0.5 && 0.5 < uL[0]) ? TrafficFlux(a, 0.5) : PetscMax(TrafficFlux(a, uL[0]), Tra… in PhysicsRiemann_Traffic_Exact()
564 *maxspeed = a * MaxAbs(1 - 2 * uL[0], 1 - 2 * uR[0]); in PhysicsRiemann_Traffic_Exact()
568 static PetscErrorCode PhysicsRiemann_Traffic_Roe(void *vctx, PetscInt m, const PetscScalar *uL, con… in PhysicsRiemann_Traffic_Roe() argument
574 speed = a * (1 - (uL[0] + uR[0])); in PhysicsRiemann_Traffic_Roe()
575 …flux[0] = 0.5 * (TrafficFlux(a, uL[0]) + TrafficFlux(a, uR[0])) - 0.5 * PetscAbs(speed) * (uR[0]… in PhysicsRiemann_Traffic_Roe()
580 static PetscErrorCode PhysicsRiemann_Traffic_LxF(void *vctx, PetscInt m, const PetscScalar *uL, con… in PhysicsRiemann_Traffic_LxF() argument
587 speed = a * (1 - (uL[0] + uR[0])); in PhysicsRiemann_Traffic_LxF()
588 …flux[0] = 0.5 * (TrafficFlux(a, uL[0]) + TrafficFlux(a, uR[0])) - 0.5 * phys->lxf_speed * (uR[0]… in PhysicsRiemann_Traffic_LxF()
593 static PetscErrorCode PhysicsRiemann_Traffic_Rusanov(void *vctx, PetscInt m, const PetscScalar *uL,… in PhysicsRiemann_Traffic_Rusanov() argument
599 speed = a * PetscMax(PetscAbs(1 - 2 * uL[0]), PetscAbs(1 - 2 * uR[0])); in PhysicsRiemann_Traffic_Rusanov()
600 flux[0] = 0.5 * (TrafficFlux(a, uL[0]) + TrafficFlux(a, uR[0])) - 0.5 * speed * (uR[0] - uL[0]); in PhysicsRiemann_Traffic_Rusanov()
735 static PetscErrorCode PhysicsRiemann_Acoustics_Exact(void *vctx, PetscInt m, const PetscScalar *uL,… in PhysicsRiemann_Acoustics_Exact() argument
747 flux[0] = Al[0][0] * uR[0] + Al[0][1] * uR[1] + Ar[0][0] * uL[0] + Ar[0][1] * uL[1]; in PhysicsRiemann_Acoustics_Exact()
748 flux[1] = Al[1][0] * uR[0] + Al[1][1] * uR[1] + Ar[1][0] * uL[0] + Ar[1][1] * uL[1]; in PhysicsRiemann_Acoustics_Exact()
821 static PetscErrorCode PhysicsRiemann_IsoGas_Roe(void *vctx, PetscInt m, const PetscScalar *uL, cons… in PhysicsRiemann_IsoGas_Roe() argument
829 …ubar = (uL[1] / PetscSqrtScalar(uL[0]) + uR[1] / PetscSqrtScalar(uR[0])) / (PetscSqrtScalar(uL[0])… in PhysicsRiemann_IsoGas_Roe()
831 du[0] = uR[0] - uL[0]; in PhysicsRiemann_IsoGas_Roe()
832 du[1] = uR[1] - uL[1]; in PhysicsRiemann_IsoGas_Roe()
844 for (i = 0; i < 2; i++) ustar[i] = uL[i] + a[0] * R[0][i]; in PhysicsRiemann_IsoGas_Roe()
845 if (uL[1] / uL[0] < c && c < ustar[1] / ustar[0]) { /* 1-wave is sonic rarefaction */ in PhysicsRiemann_IsoGas_Roe()
847 ufan[0] = uL[0] * PetscExpScalar(uL[1] / (uL[0] * c) - 1); in PhysicsRiemann_IsoGas_Roe()
856 IsoGasFlux(c, uL, fL); in PhysicsRiemann_IsoGas_Roe()
867 static PetscErrorCode PhysicsRiemann_IsoGas_Exact(void *vctx, PetscInt m, const PetscScalar *uL, co… in PhysicsRiemann_IsoGas_Exact() argument
874 } L = {uL[0], uL[1] / uL[0]}, R = {uR[0], uR[1] / uR[0]}, star; in PhysicsRiemann_IsoGas_Exact()
917 IsoGasFlux(c, uL, flux); in PhysicsRiemann_IsoGas_Exact()
930 static PetscErrorCode PhysicsRiemann_IsoGas_Rusanov(void *vctx, PetscInt m, const PetscScalar *uL, … in PhysicsRiemann_IsoGas_Rusanov() argument
936 } L = {uL[0], uL[1] / uL[0]}, R = {uR[0], uR[1] / uR[0]}; in PhysicsRiemann_IsoGas_Rusanov()
940 IsoGasFlux(c, uL, fL); in PhysicsRiemann_IsoGas_Rusanov()
943 flux[0] = 0.5 * (fL[0] + fR[0]) + 0.5 * s * (uL[0] - uR[0]); in PhysicsRiemann_IsoGas_Rusanov()
944 flux[1] = 0.5 * (fL[1] + fR[1]) + 0.5 * s * (uL[1] - uR[1]); in PhysicsRiemann_IsoGas_Rusanov()
1012 static PetscErrorCode PhysicsRiemann_Shallow_Exact(void *vctx, PetscInt m, const PetscScalar *uL, c… in PhysicsRiemann_Shallow_Exact() argument
1018 } L = {uL[0], uL[1] / uL[0]}, R = {uR[0], uR[1] / uR[0]}, star; in PhysicsRiemann_Shallow_Exact()
1073 ShallowFlux(phys, uL, flux); in PhysicsRiemann_Shallow_Exact()
1086 static PetscErrorCode PhysicsRiemann_Shallow_Rusanov(void *vctx, PetscInt m, const PetscScalar *uL,… in PhysicsRiemann_Shallow_Rusanov() argument
1092 } L = {uL[0], uL[1] / uL[0]}, R = {uR[0], uR[1] / uR[0]}; in PhysicsRiemann_Shallow_Rusanov()
1096 ShallowFlux(phys, uL, fL); in PhysicsRiemann_Shallow_Rusanov()
1099 flux[0] = 0.5 * (fL[0] + fR[0]) + 0.5 * s * (uL[0] - uR[0]); in PhysicsRiemann_Shallow_Rusanov()
1100 flux[1] = 0.5 * (fL[1] + fR[1]) + 0.5 * s * (uL[1] - uR[1]); in PhysicsRiemann_Shallow_Rusanov()
1225 PetscScalar *uL, *uR; in FVRHSFunction() local
1226 uL = &ctx->uLR[0]; in FVRHSFunction()
1229 uL[j] = x[(i - 1) * dof + j] + slope[(i - 1) * dof + j] * hx / 2; in FVRHSFunction()
1232 PetscCall((*ctx->physics.riemann)(ctx->physics.user, dof, uL, uR, ctx->flux, &maxspeed)); in FVRHSFunction()