34 for (
int _b = 0;
_b < 1;
_b++) )
35 if (limit.
i < 0 || limit[] ==
p.value) {
77 fprintf (
stderr,
"src/discharge.h:%d: warning: eta_b(): convergence not reached\n",
LINENO);
90 scalar limit = {-1},
double value = 0,
double prec = 0.001)
94 if (limit.
i < 0 || limit[] == value) {
114 while (
Qsup <
p.Q_b &&
n++ < 100) {
double dtmax
The timestep is computed using the CFL condition on the face velocity field.
static int sign(number x)
double eta_b(double Q_b, bid b, scalar limit={-1}, double value=0, double prec=0.001)
static double bflux(struct Eta_b p, double eta_b)
static double falsepos(struct Eta_b p, double binf, double qinf, double bsup, double qsup)
To find the water level corresponding to the flow rate we want to impose, we need to invert the fun...
if(2.*fabs(alpha)< fabs(n.y))
We need to reconstruct the face fractions fs for the fine cells.
void kurganov(double hm, double hp, double um, double up, double Delta, double *fh, double *fq, double *dtmax)