This package contains acoustics example solved with the Finite Volume Methods by using flux limiters.
Release Notes:
| Name | Description |
|---|---|
| Acoustics | |
The Acoustics example is a system of three equations
where p is the gas pressure, v its velocity, phi the concentration of the contaminant and K0, rho0, v0 are constant values. The eigenvalues
where c0 is a constant value, and the eigenvector matrix
are given explicitly in this example. In general, the user must compute the eigenvector matrix and eigenvalues by using other Modelica packages.
Release Notes:
model Acoustics
Riemann.Riemann riemann;
Alpha.Alpha alpha;
Wave.WaveP waveP;
Wave.WaveP waveP1(p=2);
Wave.WaveP waveP2(p=3);
Fluctuations.Fluctuation fluctuation;
Fluctuations.Fluctuation fluctuation1;
Fluctuations.Fluctuation fluctuation2;
Modelica.Blocks.Math.Add3 add3_1[worldModel1.m,worldModel1.n + 1];
Modelica.Blocks.Math.Add3 add3_2[worldModel1.m,worldModel1.n + 1];
Teta.teta teta;
Teta.teta teta1(p=2);
Teta.teta teta2(p=3);
Limitedalpha.LimitedAlpha limitedAlpha;
Limitedalpha.LimitedAlpha limitedAlpha1(p=2);
Limitedalpha.LimitedAlpha limitedAlpha2(p=3);
Wave.WaveP waveP3;
Wave.WaveP waveP4(p=2);
Wave.WaveP waveP5(p=3);
FluxLimited.FluxLimited fluxLimited;
FluxLimited.FluxLimited fluxLimited1(p=2);
FluxLimited.FluxLimited fluxLimited2(p=3);
Modelica.Blocks.Math.Add3 add3_3[worldModel1.m,worldModel1.n + 1];
Modelica.Blocks.Sources.RealExpression lambda1(y=1.5);
Modelica.Blocks.Sources.RealExpression lambda2(y=2.0);
Modelica.Blocks.Sources.RealExpression lambda3(y=2.5);
Modelica.Blocks.Sources.RealExpression R[worldModel1.m,worldModel1.m](
y={{-0.5,0,0.5},{1,0,1},{0,1,0}});
DeltaQ.deltaQ deltaQ;
FLIntegrator.FLIntegrator Acoustics(bcl=0, bcr=0);
inner World.worldModel worldModel1(
m=3,
deltat=0.1,
n=10,
fls=1);
FluxLimiterSolver.FluxLimiterSolver fluxLimiterSolver;
FluxLimiterSolver.FluxLimiterSolver fluxLimiterSolver1(p=2);
FluxLimiterSolver.FluxLimiterSolver fluxLimiterSolver2(p=3);
Modelica.Blocks.Sources.RealExpression IC[worldModel1.m,worldModel1.
n](y=2.0);
Modelica.Blocks.Sources.RealExpression BCL[worldModel1.m,
worldModel1.gcl](y=1.0);
Modelica.Blocks.Sources.RealExpression BCR[worldModel1.m,
worldModel1.gcr](y=1.0);
equation
connect(alpha.y, waveP.u);
connect(alpha.y, waveP1.u);
connect(alpha.y, waveP2.u);
connect(waveP.y, fluctuation.u1);
connect(waveP1.y, fluctuation1.u1);
connect(waveP2.y, fluctuation2.u1);
connect(fluctuation.y, add3_1.u1);
connect(fluctuation1.y, add3_1.u2);
connect(fluctuation2.y, add3_1.u3);
connect(fluctuation.y1, add3_2.u1);
connect(fluctuation1.y1, add3_2.u2);
connect(fluctuation2.y1, add3_2.u3);
connect(limitedAlpha.y, waveP3.u);
connect(limitedAlpha1.y, waveP4.u);
connect(limitedAlpha2.y, waveP5.u);
connect(waveP3.y, fluxLimited.u1);
connect(waveP4.y, fluxLimited1.u1);
connect(waveP5.y, fluxLimited2.u1);
connect(fluxLimited.y, add3_3.u1);
connect(fluxLimited1.y, add3_3.u2);
connect(fluxLimited2.y, add3_3.u3);
connect(R.y, riemann.u1);
connect(R.y, waveP2.u1);
connect(R.y, waveP1.u1);
connect(R.y, waveP.u1);
connect(R.y, waveP3.u1);
connect(R.y, waveP4.u1);
connect(R.y, waveP5.u1);
connect(lambda1.y, fluctuation.u);
connect(lambda2.y, fluctuation1.u);
connect(lambda3.y, fluctuation2.u);
connect(lambda1.y, teta.u1);
connect(lambda2.y, teta1.u1);
connect(lambda3.y, teta2.u1);
connect(lambda1.y, fluxLimited.u);
connect(lambda2.y, fluxLimited1.u);
connect(lambda3.y, fluxLimited2.u);
connect(riemann.y, alpha.u);
connect(riemann.y, teta.u);
connect(riemann.y, teta1.u);
connect(riemann.y, teta2.u);
connect(alpha.y, limitedAlpha.u1);
connect(alpha.y, limitedAlpha1.u1);
connect(alpha.y, limitedAlpha2.u1);
connect(deltaQ.y, riemann.u);
connect(Acoustics.y, deltaQ.u);
connect(add3_1.y, Acoustics.u);
connect(add3_2.y, Acoustics.u1);
connect(add3_3.y, Acoustics.u2);
connect(teta.y, fluxLimiterSolver.u);
connect(fluxLimiterSolver.y, limitedAlpha.u);
connect(teta1.y, fluxLimiterSolver1.u);
connect(fluxLimiterSolver1.y, limitedAlpha1.u);
connect(teta2.y, fluxLimiterSolver2.u);
connect(fluxLimiterSolver2.y, limitedAlpha2.u);
connect(IC.y, Acoustics.u4);
connect(BCL.y, Acoustics.u5);
connect(BCR.y, Acoustics.u6);
end Acoustics;
PDE.FiniteVolume.FluxLimiter.Examples.Acoustic.ICacoustics
Implements the initial condition for the acoustics example.
Release Notes:
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | n | worldModel1.n | |
| Integer | m | worldModel1.m |
| Type | Name | Description |
|---|---|---|
| output RealOutput | y[worldModel1.m, worldModel1.n] |
block ICacoustics extends Icons.BlockIcon; outer PDE.World.worldModel worldModel1; parameter Integer n = worldModel1.n; parameter Integer m = worldModel1.m; equation for j in 1:n loop y[1, j] = 1.0; y[2, j] = 0.0; y[3, j] = 2.5; end for; public Modelica.Blocks.Interfaces.RealOutput y[worldModel1.m,worldModel1.n]; end ICacoustics;
PDE.FiniteVolume.FluxLimiter.Examples.Acoustic.BCLacoustics
Implements the left boundary condition for the acoustics example.
Release Notes:
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | gcl | worldModel1.gcl |
| Type | Name | Description |
|---|---|---|
| output RealOutput | y[worldModel1.m, worldModel1.gcl] |
block BCLacoustics extends Icons.BlockIcon; outer PDE.World.worldModel worldModel1; parameter Integer gcl = worldModel1.gcl; equation for j in 1:gcl loop y[1, j] = 1.0; y[2, j] = 0.0; y[3, j] = 2.5; end for; public Modelica.Blocks.Interfaces.RealOutput y[worldModel1.m,worldModel1.gcl]; end BCLacoustics;
PDE.FiniteVolume.FluxLimiter.Examples.Acoustic.BCRacoustics
Implements the right boundary condition for the acoustics example.
Release Notes:
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | gcr | worldModel1.gcr |
| Type | Name | Description |
|---|---|---|
| output RealOutput | y[worldModel1.m, worldModel1.gcr] |
block BCRacoustics extends Icons.BlockIcon; outer PDE.World.worldModel worldModel1; parameter Integer gcr = worldModel1.gcr; equation for j in 1:gcr loop y[1, j] = 0.125; y[2, j] = 0.0; y[3, j] = 0.25; end for; public Modelica.Blocks.Interfaces.RealOutput y[worldModel1.m,worldModel1.gcr]; end BCRacoustics;