This package contains the base model for the Euler equations.
Release Notes:
| Name | Description |
|---|---|
| ShockWaveLDLR |
Base model for the Euler equations.
Release Notes:
model ShockWaveLDLR
PDE.FiniteVolume.FVMIntegrator.FVIntegrator Density;
PDE.FiniteVolume.FVMIntegrator.FVIntegrator Momentum;
PDE.FiniteVolume.FVMIntegrator.FVIntegrator Energy;
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;
PDE.FiniteVolume.LDLR.L.LDLRminus lDLRminus_plus1;
PDE.FiniteVolume.LDLR.L.LDLRplus lDLRplus_plus1;
PDE.FiniteVolume.LDLR.u.u_minus u_minus_plus1;
PDE.FiniteVolume.LDLR.u.u_plus u_plus_plus1;
PDE.FiniteVolume.LDLR.L.LDLRminus lDLRminus_plus2;
PDE.FiniteVolume.LDLR.L.LDLRplus lDLRplus_plus2;
PDE.FiniteVolume.LDLR.u.u_minus u_minus_plus2;
PDE.FiniteVolume.LDLR.u.u_plus u_plus_plus2;
Modelica.Blocks.Math.Product product[worldModel1.n + 1];
Modelica.Blocks.Math.Product product1[worldModel1.n + 1];
PDE.FiniteVolume.Fluxes.LaxFriedrichFlux.LF lF;
Modelica.Blocks.Math.Division division[worldModel1.n + 1];
Modelica.Blocks.Math.Division division1[worldModel1.n + 1];
Modelica.Blocks.Math.Product product2[worldModel1.n + 1];
Modelica.Blocks.Math.Product product3[worldModel1.n + 1];
Modelica.Blocks.Math.Product product4[worldModel1.n + 1];
Modelica.Blocks.Math.Product product5[worldModel1.n + 1];
Modelica.Blocks.Sources.RealExpression const[worldModel1.n + 1](y=0.5);
Modelica.Blocks.Sources.RealExpression const1[worldModel1.n + 1](y=
0.5);
Modelica.Blocks.Math.Add add[worldModel1.n + 1](k2=-1);
Modelica.Blocks.Math.Add add1[worldModel1.n + 1](k2=-1);
Modelica.Blocks.Math.Product product6[worldModel1.n + 1];
Modelica.Blocks.Math.Product product7[worldModel1.n + 1];
Modelica.Blocks.Sources.RealExpression gammaMinusOne[worldModel1.n +
1](y=0.4);
Modelica.Blocks.Math.Add add2[worldModel1.n + 1];
Modelica.Blocks.Math.Add add3[worldModel1.n + 1];
PDE.FiniteVolume.Fluxes.LaxFriedrichFlux.LF lF1;
Modelica.Blocks.Math.Add add4[worldModel1.n + 1];
Modelica.Blocks.Math.Add add5[worldModel1.n + 1];
Modelica.Blocks.Math.Product product8[worldModel1.n + 1];
Modelica.Blocks.Math.Product product9[worldModel1.n + 1];
PDE.FiniteVolume.Fluxes.LaxFriedrichFlux.LF lF2;
inner World.worldModel worldModel1(n=10);
equation
connect(Density.y, lDLRminus_plus.u);
connect(Density.y, lDLRplus_plus.u);
connect(lDLRminus_plus.y, u_minus_plus.u1);
connect(lDLRplus_plus.y, u_plus_plus.u1);
connect(Density.y, u_minus_plus.u);
connect(Density.y, u_plus_plus.u);
connect(Momentum.y, lDLRminus_plus1.u);
connect(Momentum.y, lDLRplus_plus1.u);
connect(Momentum.y, u_minus_plus1.u);
connect(lDLRminus_plus1.y, u_minus_plus1.u1);
connect(Momentum.y, u_plus_plus1.u);
connect(lDLRplus_plus1.y, u_plus_plus1.u1);
connect(Energy.y, lDLRminus_plus2.u);
connect(Energy.y, lDLRplus_plus2.u);
connect(Energy.y, u_minus_plus2.u);
connect(Energy.y, u_plus_plus2.u);
connect(lDLRminus_plus2.y, u_minus_plus2.u1);
connect(lDLRplus_plus2.y, u_plus_plus2.u1);
connect(u_minus_plus.y, product.u1);
connect(u_plus_plus.y, product1.u1);
connect(product.y, lF.u);
connect(product1.y, lF.u1);
connect(u_plus_plus.y, lF.u2);
connect(u_minus_plus.y, lF.u3);
connect(lF.y, Density.u);
connect(u_minus_plus1.y, division.u1);
connect(u_plus_plus1.y, division1.u1);
connect(u_minus_plus.y, division.u2);
connect(u_plus_plus.y, division1.u2);
connect(division.y, product.u2);
connect(division1.y, product1.u2);
connect(u_minus_plus1.y, product2.u2);
connect(division.y, product2.u1);
connect(u_plus_plus1.y, product3.u2);
connect(division1.y, product3.u1);
connect(product2.y, product4.u1);
connect(const.y, product4.u2);
connect(const1.y, product5.u2);
connect(product3.y, product5.u1);
connect(product4.y, add.u2);
connect(u_minus_plus2.y, add.u1);
connect(product5.y, add1.u2);
connect(u_plus_plus2.y, add1.u1);
connect(gammaMinusOne.y, product6.u2);
connect(gammaMinusOne.y, product7.u1);
connect(add.y, product6.u1);
connect(add1.y, product7.u2);
connect(product2.y, add2.u1);
connect(product3.y, add3.u1);
connect(product6.y, add2.u2);
connect(product7.y, add3.u2);
connect(add2.y, lF1.u);
connect(add3.y, lF1.u1);
connect(u_plus_plus1.y, lF1.u2);
connect(u_minus_plus1.y, lF1.u3);
connect(lF1.y, Momentum.u);
connect(u_minus_plus2.y, add4.u1);
connect(u_plus_plus2.y, add5.u1);
connect(product6.y, add4.u2);
connect(product7.y, add5.u2);
connect(add4.y, product8.u2);
connect(add5.y, product9.u2);
connect(division.y, product8.u1);
connect(division1.y, product9.u1);
connect(product8.y, lF2.u);
connect(product9.y, lF2.u1);
connect(u_plus_plus2.y, lF2.u2);
connect(u_minus_plus2.y, lF2.u3);
connect(lF2.y, Energy.u);
end ShockWaveLDLR;