This package contains Burgerīs equation solved with the Finite Volume Methods.
Release Notes:
| Name | Description |
|---|---|
| BurgerEquationLDLR |
Implements the inviscid Burgerīs equation
The initial condition is
and boundary conditions are
The analytical solution of this problem is implemented in PDE->MOL->Examples->Burger->BAN block
Release Notes:
model BurgerEquationLDLR
PDE.FiniteVolume.FVMIntegrator.FVIntegrator Burger(
bcr=0,
gcl=2,
gcr=2,
vb=worldModel1.gcl + 1,
icb=worldModel1.gcl + 1,
bcl=0);
PDE.FiniteVolume.LDLR.L.LDLRminus lDLRminus_plus;
PDE.FiniteVolume.LDLR.L.LDLRplus lDLRplus_plus;
PDE.FiniteVolume.LDLR.u.u_minus u_minus_plus;
PDE.FiniteVolume.LDLR.u.u_plus u_plus_plus;
Modelica.Blocks.Math.Product product[worldModel1.n + 1];
Modelica.Blocks.Math.Product product1[worldModel1.n + 1];
Modelica.Blocks.Math.Division division[worldModel1.n + 1];
Modelica.Blocks.Math.Division division1[worldModel1.n + 1];
Modelica.Blocks.Sources.RealExpression const[worldModel1.n + 1](y=2.0);
PDE.FiniteVolume.Fluxes.LaxFriedrichFlux.LF lF(
alpha=0.9);
inner World.worldModel worldModel1(
gcl=2,
gcr=2,
n=40);
MOL.Examples.Burger.BICx bICx;
Modelica.Blocks.Sources.RealExpression BC[2];
equation
connect(Burger.y, lDLRminus_plus.u);
connect(Burger.y, lDLRplus_plus.u);
connect(Burger.y, u_minus_plus.u);
connect(Burger.y, u_plus_plus.u);
connect(lDLRminus_plus.y, u_minus_plus.u1);
connect(lDLRplus_plus.y, u_plus_plus.u1);
connect(u_minus_plus.y, product.u1);
connect(u_minus_plus.y, product.u2);
connect(u_plus_plus.y, product1.u1);
connect(u_plus_plus.y, product1.u2);
connect(product.y, division.u1);
connect(product1.y, division1.u1);
connect(const.y, division.u2);
connect(const.y, division1.u2);
connect(division.y, lF.u);
connect(division1.y, lF.u1);
connect(u_plus_plus.y, lF.u2);
connect(u_minus_plus.y, lF.u3);
connect(lF.y, Burger.u);
connect(BC.y, Burger.u3);
connect(BC.y, Burger.u4);
connect(bICx.y, Burger.u2);
end BurgerEquationLDLR;