|
| OPENSWMM_KERNEL_FN void | physicalFlux (const FaceSide &s, double &fh, double &fn, double &ft) noexcept |
| | Physical flux of the SWE in the normal frame: [h·un, h·un² + ½g h², h·un·ut].
|
| |
| OPENSWMM_KERNEL_FN void | waveSpeeds (const FaceSide &L, const FaceSide &R, double &sl, double &sr) noexcept |
| |
| OPENSWMM_KERNEL_FN void | hllcFlux (const FaceSide &L, const FaceSide &R, double &fh, double &fn, double &ft, double &sstar) noexcept |
| | HLLC flux in the face-normal frame.
|
| |
| OPENSWMM_KERNEL_FN bool | faceFlux (double etaL, double hL, double qxL, double qyL, double etaR, double hR, double qxR, double qyR, double nx, double ny, double h_dry, FaceFlux &out, double &corrL_x, double &corrL_y, double &corrR_x, double &corrR_y) noexcept |
| | Full face evaluation: hydrostatic reconstruction, rotation, HLLC, rotation back, and the per-side bed-slope corrections.
|
| |
| OPENSWMM_KERNEL_FN bool | faceFluxRecon (double etaLf, double uxLf, double uyLf, double zL, double hL_cell, double etaRf, double uxRf, double uyRf, double zR, double hR_cell, double nx, double ny, double h_dry, FaceFlux &out, double &corrL_x, double &corrL_y, double &corrR_x, double &corrR_y) noexcept |
| | Face flux from RECONSTRUCTED side states (RECONSTRUCTION_ORDER 2).
|
| |
| OPENSWMM_KERNEL_FN double | bjLimiter (double w, double wf, double wmin, double wmax) noexcept |
| |
| OPENSWMM_KERNEL_FN void | frictionUpdate (double &qx, double &qy, double h, double n, double dt) noexcept |
| |
| OPENSWMM_KERNEL_FN double | criticalDepth (double q) noexcept |
| |
| OPENSWMM_KERNEL_FN double | depthFromInvariantAndDischarge (double r, double q, double h_interior) noexcept |
| | Ghost depth of a SUBCRITICAL prescribed-discharge boundary.
|
| |
| OPENSWMM_KERNEL_FN double openswmm::twoD::swe::depthFromInvariantAndDischarge |
( |
double | r, |
|
|
double | q, |
|
|
double | h_interior ) |
|
noexcept |
Ghost depth of a SUBCRITICAL prescribed-discharge boundary.
One characteristic leaves the domain there, so its Riemann invariant r = u + 2c is carried out from the interior and, with the prescribed per-metre discharge q = u·h, fixes the boundary depth:
q/h + 2·sqrt(g·h) = r ⇔ 2·sqrt(g)·s³ − r·s² + q = 0, s = sqrt(h)
Safeguarded Newton on s from the interior depth (bracketed to s > 0, ≤ 40 iterations); returns h_interior when it cannot converge — the caller's mass flux is prescribed either way, so a fallback only costs accuracy in the momentum flux, never conservation. Signs follow the outward normal: an inflow has q < 0.