This package contains Buckley-Leverett equation solved with the Method of Lines.
Release Notes:
| Name | Description |
|---|---|
| BuckleyLeverettEquation |
Implements the Buckley-Leverett equation
The initial condition is
and boundary conditions are
Release Notes:
Release Notes:
model BuckleyLeverettEquation
inner World.worldModel worldModel1(qss=2, n=10);
Integrator.UniversalIntegrator BuckleyLeverett(
vb=2,
ve=worldModel1.n - 1,
icb=2,
ice=worldModel1.n - 1,
bcl=1,
bcr=1);
Modelica.Blocks.Math.Product product[worldModel1.n];
Modelica.Blocks.Math.Product product1[worldModel1.n];
Modelica.Blocks.Sources.RealExpression const[worldModel1.n](y=4.0);
Modelica.Blocks.Math.Division division[worldModel1.n];
Modelica.Blocks.Math.Add add[worldModel1.n](k2=-1);
Modelica.Blocks.Sources.RealExpression one[worldModel1.n](y=1.0);
Modelica.Blocks.Math.Product product2[worldModel1.n];
Modelica.Blocks.Math.Add add1[worldModel1.n];
PDE.MOL.SpaceDerivative.Derivatives.u_x derivator;
Modelica.Blocks.Math.Gain gain[worldModel1.n](k=-1);
Modelica.Blocks.Sources.RealExpression IC[worldModel1.n](y=1.0);
Modelica.Blocks.Sources.RealExpression BCL;
Modelica.Blocks.Sources.RealExpression BCR;
equation
connect(BuckleyLeverett.y, product.u1);
connect(BuckleyLeverett.y, product.u2);
connect(product.y, product1.u1);
connect(const.y, product1.u2);
connect(one.y, add.u1);
connect(BuckleyLeverett.y, add.u2);
connect(add.y, product2.u1);
connect(add.y, product2.u2);
connect(product2.y, add1.u2);
connect(product1.y, add1.u1);
connect(add1.y, division.u2);
connect(product1.y, division.u1);
connect(division.y, derivator.u);
connect(derivator.y, gain.u);
connect(gain.y, BuckleyLeverett.u);
connect(BCR.y, BuckleyLeverett.u3);
connect(IC.y, BuckleyLeverett.u1);
connect(BCL.y, BuckleyLeverett.u2);
end BuckleyLeverettEquation;