Commit 4362afd1 authored by Matthieu Flamand's avatar Matthieu Flamand

Variable bathymetry added, Exner equation added in an uncoupled way. Two...

Variable bathymetry added, Exner equation added in an uncoupled way. Two formulas are included to compute the bedload transport: Meyer-Peter-Muller and Grass.
parent 56217fcd
Pipeline #2376 failed with stage
in 1 minute and 29 seconds
This diff is collapsed.
......@@ -1364,12 +1364,12 @@ void sedimentBottomFlux2D::operator()(functorCache &cm, fullMatrix<double> &val)
const fullMatrix<double> &gravity = cm.get(*_gravity);
val.resize(cm.nEvaluationPoint(),1,true);
for (int i = 0; i < cm.nEvaluationPoint(); i++) {
if (sed(i,0) > 3) Msg::Warning("vertical Velocity for sediment parametrization not valid anymore if sediment concentration greater than 3kg m^-3");
//if (sed(i,0) > 3) Msg::Warning("vertical Velocity for sediment parametrization not valid anymore if sediment concentration greater than 3kg m^-3");
double uBot = hypot(sol(i,1), sol(i,2));
double wS = std::max(0., std::min(_wMax, _factorW * sed(i,0)));
double uWind = hypot(wind(i,0), wind(i,1));
wS = (uWind < 10) ? wS : 0;
if (sed(i,0) < -1e-9) Msg::Warning("Wrong!! Negative sediment concentration");
//if (sed(i,0) < -1e-9) Msg::Warning("Wrong!! Negative sediment concentration");
double sed0 = std::max(0., sed(i,0));
double settling = (uBot < _v0) ? - sed0 * wS * (1.- _pow2(uBot/_v0)) : 0;
if (sedGround(i,0) < 1e-6)
......@@ -1689,7 +1689,7 @@ void sedimentBottomFlux2D5::operator()(functorCache &cm, fullMatrix<double> &val
negSed = 0;
double U = hypot(sol(i,1), sol(i,2));
double H = bath(i,0)+sol(i,0);
double ws = _k1*pow(sed(i,0),_b);
double ws = (sed(i,0)>=0) ? _k1*pow(sed(i,0),_b) : 0;
double tau_b = 1000.*g*pow(_n,2.)*sol(i,1)*U/pow(H,(1./3.));
double tau_d = _tau_c;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment