1 | model BraytonCycle_CombinedCycle_1
|
---|
2 |
|
---|
3 | parameter Real tableEtaC[6, 4]=[0, 95, 100, 105; 1, 82.5e-2, 81e-2,
|
---|
4 | 80.5e-2; 2, 84e-2, 82.9e-2, 82e-2; 3, 83.2e-2, 82.2e-2, 81.5e-2; 4,
|
---|
5 | 82.5e-2, 81.2e-2, 79e-2; 5, 79.5e-2, 78e-2, 76.5e-2];
|
---|
6 | parameter Real tablePhicC[6, 4]=[0, 95, 100, 105; 1, 38.3e-3, 43e-3,
|
---|
7 | 46.8e-3; 2, 39.3e-3, 43.8e-3, 47.9e-3; 3, 40.6e-3, 45.2e-3, 48.4e-3;
|
---|
8 | 4, 41.6e-3, 46.1e-3, 48.9e-3; 5, 42.3e-3, 46.6e-3, 49.3e-3];
|
---|
9 | parameter Real tablePR[6, 4]=[0, 95, 100, 105; 1, 22.6, 27, 32; 2, 22,
|
---|
10 | 26.6, 30.8; 3, 20.8, 25.5, 29; 4, 19, 24.3, 27.1; 5, 17, 21.5, 24.2];
|
---|
11 | parameter Real tablePhicT[5, 4]=[1, 90, 100, 110; 2.36, 4.68e-3, 4.68e-3,
|
---|
12 | 4.68e-3; 2.88, 4.68e-3, 4.68e-3, 4.68e-3; 3.56, 4.68e-3, 4.68e-3,
|
---|
13 | 4.68e-3; 4.46, 4.68e-3, 4.68e-3, 4.68e-3];
|
---|
14 | parameter Real tableEtaT[5, 4]=[1, 90, 100, 110; 2.36, 89e-2, 89.5e-2,
|
---|
15 | 89.3e-2; 2.88, 90e-2, 90.6e-2, 90.5e-2; 3.56, 90.5e-2, 90.6e-2,
|
---|
16 | 90.5e-2; 4.46, 90.2e-2, 90.3e-2, 90e-2];
|
---|
17 |
|
---|
18 | Modelica.Blocks.Interfaces.RealInput FuelFlowRate
|
---|
19 | annotation(
|
---|
20 | Placement(visible = true, transformation(origin = {-110, -1.77636e-15}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {-110, -1.77636e-15}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
---|
21 |
|
---|
22 | ThermoPower.Gas.SourceMassFlow SourceW1(
|
---|
23 | redeclare package Medium = ThermoPower.Media.NaturalGas,
|
---|
24 | T = 300,
|
---|
25 | p0 = 811000,
|
---|
26 | use_in_w0 = true,
|
---|
27 | w0 = 2.0)
|
---|
28 | annotation(
|
---|
29 | Placement(visible = true, transformation(origin = {-44, 76}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
---|
30 |
|
---|
31 | Modelica.Blocks.Continuous.FirstOrder GasFlowActuator(
|
---|
32 | T = 4,
|
---|
33 | initType = Modelica.Blocks.Types.Init.SteadyState,
|
---|
34 | y_start = 500)
|
---|
35 | annotation(
|
---|
36 | Placement(visible = true, transformation(origin = {-85, 85}, extent = {{-5, -5}, {5, 5}}, rotation = 0)));
|
---|
37 |
|
---|
38 | ThermoPower.Gas.CombustionChamber combustionChamber1(
|
---|
39 | Cm=1,
|
---|
40 | HH=41.6e6,
|
---|
41 | S=0.05, Tmstart = 300,
|
---|
42 | Tstart=1370,
|
---|
43 | V=0.05,gamma=1,
|
---|
44 | initOpt=ThermoPower.Choices.Init.Options.steadyState,
|
---|
45 | pstart=8.11e5)
|
---|
46 | annotation(
|
---|
47 | Placement(visible = true, transformation(origin = {4.44089e-16, 60}, extent = {{-14, -14}, {14, 14}}, rotation = 0)));
|
---|
48 |
|
---|
49 | ThermoPower.Gas.SourcePressure SourceP1(
|
---|
50 | redeclare package Medium = ThermoPower.Media.Air, T = 293, p0 = 101325)
|
---|
51 | annotation(
|
---|
52 | Placement(visible = true, transformation(origin = {-96, -18}, extent = {{-8, -8}, {8, 8}}, rotation = 0)));
|
---|
53 |
|
---|
54 | ThermoPower.Gas.Compressor compressor1(
|
---|
55 | redeclare package Medium = ThermoPower.Media.Air,
|
---|
56 | Ndesign = 157.08,
|
---|
57 | Table = ThermoPower.Choices.TurboMachinery.TableTypes.matrix,
|
---|
58 | Tdes_in = 293,
|
---|
59 | Tstart_in = 293,
|
---|
60 | Tstart_out = 600,
|
---|
61 | explicitIsentropicEnthalpy = true,
|
---|
62 | pstart_in = 1.01325e5,
|
---|
63 | pstart_out = 8.3e5,
|
---|
64 | tableEta = tableEtaC,
|
---|
65 | tablePR = tablePR,
|
---|
66 | tablePhic = tablePhicC)
|
---|
67 | annotation(
|
---|
68 | Placement(visible = true, transformation(origin = {-59, -31}, extent = {{-15, -15}, {15, 15}}, rotation = 0)));
|
---|
69 |
|
---|
70 | ThermoPower.Gas.Turbine turbine1(
|
---|
71 | redeclare package Medium = ThermoPower.Media.FlueGas,
|
---|
72 | Ndesign = 157.08,
|
---|
73 | Table = ThermoPower.Choices.TurboMachinery.TableTypes.matrix,
|
---|
74 | Tdes_in = 1370,
|
---|
75 | Tstart_in = 1370,
|
---|
76 | Tstart_out = 800,
|
---|
77 | pstart_in = 711000,
|
---|
78 | pstart_out = 101325,
|
---|
79 | tableEta = tableEtaT,
|
---|
80 | tablePhic = tablePhicT)
|
---|
81 | annotation(
|
---|
82 | Placement(visible = true, transformation(origin = {52, -30}, extent = {{-14, -14}, {14, 14}}, rotation = 0)));
|
---|
83 |
|
---|
84 | ThermoPower.Gas.PressDrop pressDrop1(
|
---|
85 | redeclare package Medium = ThermoPower.Media.Air,
|
---|
86 | A = 1,
|
---|
87 | Tstart = 600,
|
---|
88 | dpnom = 19000,
|
---|
89 | pstart = 8.3e5,
|
---|
90 | rhonom = 4.7,
|
---|
91 | wnom = 100)
|
---|
92 | annotation(
|
---|
93 | Placement(visible = true, transformation(origin = {-46, 18}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
|
---|
94 |
|
---|
95 | ThermoPower.Gas.PressDrop pressDrop2(
|
---|
96 | redeclare package Medium = ThermoPower.Media.FlueGas,
|
---|
97 | A = 1,
|
---|
98 | FFtype = ThermoPower.Choices.PressDrop.FFtypes.OpPoint,
|
---|
99 | Tstart = 1370,
|
---|
100 | dpnom = 100000,
|
---|
101 | pstart = 811000,
|
---|
102 | rhonom = 2,
|
---|
103 | wnom = 102)
|
---|
104 | annotation(
|
---|
105 | Placement(visible = true, transformation(origin = {40, 18}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
|
---|
106 |
|
---|
107 | ThermoPower.PowerPlants.HRSG.Components.StateReader_gas stateReader_gas1(
|
---|
108 | redeclare package Medium = ThermoPower.Media.Air)
|
---|
109 | annotation(
|
---|
110 | Placement(visible = true, transformation(origin = {-46, 48}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
|
---|
111 |
|
---|
112 | ThermoPower.PowerPlants.HRSG.Components.StateReader_gas stateReader_gas2(
|
---|
113 | redeclare package Medium = ThermoPower.Media.FlueGas)
|
---|
114 | annotation(
|
---|
115 | Placement(visible = true, transformation(origin = {40, 48}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
|
---|
116 |
|
---|
117 | Modelica.Mechanics.Rotational.Sensors.PowerSensor powerSensor1
|
---|
118 | annotation(
|
---|
119 | Placement(visible = true, transformation(origin = {78, -30}, extent = {{-6, -6}, {6, 6}}, rotation = 0)));
|
---|
120 |
|
---|
121 | ThermoPower.Electrical.Generator generator1(
|
---|
122 | J = 30,
|
---|
123 | initOpt = ThermoPower.Choices.Init.Options.steadyState)
|
---|
124 | annotation(
|
---|
125 | Placement(visible = true, transformation(origin = {100, -30}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
---|
126 |
|
---|
127 | ThermoPower.Electrical.NetworkGrid_Pmax networkGrid_Pmax1(
|
---|
128 | J = 30,
|
---|
129 | Pmax = 10e6,
|
---|
130 | initOpt = ThermoPower.Choices.Init.Options.steadyState)
|
---|
131 | annotation(
|
---|
132 | Placement(visible = true, transformation(origin = {126, -30}, extent = {{-8, -8}, {8, 8}}, rotation = 0)));
|
---|
133 |
|
---|
134 | Modelica.Blocks.Continuous.FirstOrder firstOrder1(
|
---|
135 | T = 1,
|
---|
136 | initType = Modelica.Blocks.Types.Init.SteadyState,
|
---|
137 | y_start = 56.8e6)
|
---|
138 | annotation(
|
---|
139 | Placement(visible = true, transformation(origin = {83, -55}, extent = {{-5, -5}, {5, 5}}, rotation = 0)));
|
---|
140 |
|
---|
141 | Modelica.Blocks.Interfaces.RealOutput GeneratedPower
|
---|
142 | annotation(
|
---|
143 | Placement(visible = true, transformation(origin = {110, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {110, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
---|
144 | inner ThermoPower.System system annotation(
|
---|
145 | Placement(visible = true, transformation(origin = {88, 90}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
---|
146 |
|
---|
147 | ThermoPower.Gas.FlangeA ExhaustOutlet(
|
---|
148 | redeclare package Medium = ThermoPower.Media.FlueGas)
|
---|
149 | annotation(
|
---|
150 | Placement(visible = true, transformation(origin = {84, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {84, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
|
---|
151 | equation
|
---|
152 | connect(turbine1.outlet, ExhaustOutlet) annotation(
|
---|
153 | Line(points = {{64, -18}, {64, -18}, {64, 0}, {84, 0}, {84, -2}}, color = {159, 159, 223}));
|
---|
154 | connect(SourceP1.flange, compressor1.inlet) annotation(
|
---|
155 | Line(points = {{-88, -18}, {-70, -18}}, color = {159, 159, 223}));
|
---|
156 | connect(GasFlowActuator.y, SourceW1.in_w0) annotation(
|
---|
157 | Line(points = {{-80, 86}, {-50, 86}, {-50, 81}}, color = {0, 0, 127}));
|
---|
158 | connect(SourceW1.flange, combustionChamber1.inf) annotation(
|
---|
159 | Line(points = {{-34, 76}, {0, 76}, {0, 74}}, color = {159, 159, 223}));
|
---|
160 | connect(firstOrder1.y, GeneratedPower) annotation(
|
---|
161 | Line(points = {{88, -54}, {110, -54}}, color = {0, 0, 127}));
|
---|
162 | connect(powerSensor1.power, firstOrder1.u) annotation(
|
---|
163 | Line(points = {{74, -36}, {74, -55}, {77, -55}}, color = {0, 0, 127}));
|
---|
164 | connect(powerSensor1.flange_b, generator1.shaft) annotation(
|
---|
165 | Line(points = {{84, -30}, {92, -30}, {92, -30}, {92, -30}}));
|
---|
166 | connect(turbine1.shaft_b, powerSensor1.flange_a) annotation(
|
---|
167 | Line(points = {{60, -30}, {72, -30}, {72, -30}, {72, -30}}));
|
---|
168 | connect(compressor1.shaft_b, turbine1.shaft_a) annotation(
|
---|
169 | Line(points = {{-50, -30}, {44, -30}}));
|
---|
170 | connect(pressDrop2.outlet, turbine1.inlet) annotation(
|
---|
171 | Line(points = {{40, 8}, {40, 8}, {40, -18}, {40, -18}}, color = {159, 159, 223}));
|
---|
172 | connect(stateReader_gas2.outlet, pressDrop2.inlet) annotation(
|
---|
173 | Line(points = {{40, 42}, {40, 42}, {40, 28}, {40, 28}}, color = {159, 159, 223}));
|
---|
174 | connect(combustionChamber1.out, stateReader_gas2.inlet) annotation(
|
---|
175 | Line(points = {{14, 60}, {40, 60}, {40, 56}, {40, 56}, {40, 54}}, color = {159, 159, 223}));
|
---|
176 | connect(stateReader_gas1.inlet, combustionChamber1.ina) annotation(
|
---|
177 | Line(points = {{-46, 54}, {-46, 54}, {-46, 60}, {-14, 60}, {-14, 60}}, color = {159, 159, 223}));
|
---|
178 | connect(pressDrop1.inlet, stateReader_gas1.outlet) annotation(
|
---|
179 | Line(points = {{-46, 28}, {-46, 28}, {-46, 42}, {-46, 42}}, color = {159, 159, 223}));
|
---|
180 | connect(compressor1.outlet, pressDrop1.outlet) annotation(
|
---|
181 | Line(points = {{-46, -18}, {-46, 8}}, color = {159, 159, 223}));
|
---|
182 | connect(FuelFlowRate, GasFlowActuator.u) annotation(
|
---|
183 | Line(points = {{-110, 0}, {-100, 0}, {-100, 85}, {-91, 85}}, color = {0, 0, 127}));
|
---|
184 | annotation(
|
---|
185 | uses(ThermoPower(version = "3.1"), Modelica(version = "3.2.2")));end BraytonCycle_CombinedCycle_1;
|
---|