package SystemDynamicsExamples package AuxComponents block CapacityConverter extends SystemDynamics.Interfaces.GenericConverter3; equation out1 = in2 / (1 - in1 / in3); end CapacityConverter; block ECIRConverter extends SystemDynamics.Interfaces.GenericConverter4; equation out1 = in2 * in3 * (1 - in4) / (1 - in1); end ECIRConverter; model CapitalInvest Modelica.Blocks.Interfaces.RealInput realinput1 annotation(Placement(visible = true, transformation(origin = {-104,0}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-100.95,14.4893}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealOutput y annotation(Placement(visible = true, transformation(origin = {106,0}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {100.95,9.97625}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealInput u annotation(Placement(visible = true, transformation(origin = {-103.762,70}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-103.762,70}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSource cloudsource1 annotation(Placement(visible = true, transformation(origin = {-2.54191,44.3805}, extent = {{-8.10249,8.10249},{8.10249,-8.10249}}, rotation = -90))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin = {-2.22899,-60.4727}, extent = {{-9.1182,9.1182},{9.1182,-9.1182}}, rotation = -90))); SystemDynamics.Flows.Mult3Flow mult3flow1 annotation(Placement(visible = true, transformation(origin = {-2.61283,19.715}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 0.05) annotation(Placement(visible = true, transformation(origin = {-35.6295,10.9264}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.ConstantConverter constantconverter2(constValue = 0.025) annotation(Placement(visible = true, transformation(origin = {-35.3919,-43.4679}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Flows.Mult2Flow mult2flow1 annotation(Placement(visible = true, transformation(origin = {-2.13777,-37.7672}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.Div2Converter div2converter1 annotation(Placement(visible = true, transformation(origin = {64.3705,0.950119}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Reservoirs.Stock stock1(m0 = 400000000.0) annotation(Placement(visible = true, transformation(origin = {-2.61087,-9.02613}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.GraphConverter CIM(table = Resources.World2.cim) annotation(Placement(visible = true, transformation(origin = {-49.8812,28.0285}, extent = {{-12,-12},{12,12}}, rotation = -90))); equation connect(CIM.out1,mult3flow1.in2) annotation(Line(points={{-36.6812, 28.0285},{-36.6812,28.0285},{-29.2162,28.0285},{-29.2162,19.715}, {-15.8128,19.715},{-15.8128,19.715}})); connect(realinput1,CIM.in1) annotation(Line(points={{-104,0},{-80.285,0}, {-80.285,28.0285},{-61.8812,28.0285},{-63.0812,28.0285}})); connect(mult3flow1.outflow,stock1.inflow) annotation(Line(points={{ -2.61283,5.315},{-2.61283,7.71496},{-2.61283,5.37387},{-2.61087, 5.37387}})); connect(stock1.outflow,mult2flow1.inflow) annotation(Line(points={{ -2.61087,-23.4261},{-2.61087,-23.4261},{-2.61087,-23.3672},{ -2.13777,-23.3672}})); connect(stock1.out1,div2converter1.in1) annotation(Line(points={{6.98913, -9.02613},{6.98913,-9.26366},{18.5273,-9.26366},{18.5273,8.07601}, {52.3705,8.07601},{52.3705,8.15012}})); connect(stock1.out2,mult2flow1.in1) annotation(Line(points={{-12.2109, -9.02613},{-12.2109,-9.02613},{-23.9905,-9.02613},{-23.9905, -31.5914},{-15.3378,-31.5914},{-15.3378,-32.0072}})); connect(div2converter1.out1,y) annotation(Line(points={{77.5705,0.950119}, {77.5705,0.950119},{106,0.950119},{106,0}})); connect(u,div2converter1.in2) annotation(Line(points = {{-103.762,70},{30.4038,70},{30.4038,-5.93824},{52.3705,-6.24988},{52.3705,-6.24988}})); connect(mult2flow1.outflow,cloudsink1.inflow) annotation(Line(points={{ -2.13777,-52.1672},{-2.13777,-52.1672},{-2.13777,-50.4427},{ -2.22899,-50.4427}})); connect(constantconverter2.out,mult2flow1.in2) annotation(Line(points={{ -22.1919,-43.4679},{-23.3919,-43.4679},{-15.3378,-43.4679},{ -15.3378,-43.7672}})); connect(constantconverter1.out,mult3flow1.in3) annotation(Line(points={{ -22.4295,10.9264},{-22.4295,11.1639},{-15.8128,11.1639},{-15.8128, 14.915}})); connect(cloudsource1.outflow,mult3flow1.inflow) annotation(Line(points={{ -2.54191,35.4678},{-2.54191,35.4678},{-2.54191,34.115},{-2.61283, 34.115}})); connect(mult3flow1.in1,u) annotation(Line(points={{-15.8128,24.515},{ -15.8128,27.791},{-25.1781,27.791},{-25.1781,70.0713},{-103.762, 70.0713},{-103.762,70}})); annotation(Diagram, Icon(graphics={ Rectangle(rotation = 0, lineColor = {0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent = {{-100,-100},{100,100}}),Text(rotation = 0, extent = {{-90,25},{90,-15}}, fontName= "Times New Roman", textString="CapitalInvest", textColor={0,0,0})})); end CapitalInvest; model EffectiveCapInvestRatio Modelica.Blocks.Interfaces.RealInput realinput2 annotation(Placement(visible = true, transformation(origin = {-106,0}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-98.6238,13.1101}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.MultPower3Converter multpower3converter1(k2 = -1.0) annotation(Placement(visible = true, transformation(origin = {0.595914,70.9138}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.Div2Converter div2converter1 annotation(Placement(visible = true, transformation(origin = {-69.1261,-49.4609}, extent={{-12,-12}, {12,12}}, rotation = 90))); SystemDynamics.Converters.ConstantConverter constantconverter2 annotation(Placement(visible = true, transformation(origin={-29.8814, -42.3099}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamicsExamples.AuxComponents.ECIRConverter ecirconverter1 annotation (Placement(visible=true, transformation( origin={18.4733,-14.5999}, extent={{-12,-12},{12,12}}, rotation=-90))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 0.3) annotation(Placement(visible = true, transformation(origin = {-28.3059,-3.87344}, extent = {{-12,-12},{12,12}}, rotation = -90))); Modelica.Blocks.Interfaces.RealOutput realoutput1 annotation(Placement(visible = true, transformation(origin = {-106,-50}, extent = {{-12,12},{12,-12}}, rotation = -180), iconTransformation(origin = {-106,-50}, extent = {{-12,12},{12,-12}}, rotation = -180))); Modelica.Blocks.Interfaces.RealInput u annotation(Placement(visible = true, transformation(origin = {106,33}, extent = {{-12,12},{12,-12}}, rotation = -180), iconTransformation(origin = {106,33}, extent = {{-12,12},{12,-12}}, rotation = -180))); Modelica.Blocks.Interfaces.RealInput realinput1 annotation(Placement(visible = true, transformation(origin = {106,-33}, extent = {{-12,12},{12,-12}}, rotation = -180), iconTransformation(origin = {106,-33}, extent = {{-12,12},{12,-12}}, rotation = -180))); Modelica.Blocks.Interfaces.RealOutput y annotation(Placement(visible = true, transformation(origin = {0,106}, extent = {{-12,-12},{12,12}}, rotation = 90), iconTransformation(origin = {0,106}, extent = {{-12,-12},{12,12}}, rotation = 90))); equation connect(constantconverter1.out,ecirconverter1.in1) annotation(Line(points={{ -15.1059,-3.87344},{-16.3059,-3.87344},{6.4733,-3.87344},{6.4733, -3.7999}})); connect(multpower3converter1.in2,constantconverter1.out) annotation(Line(points={{ 0.595914,58.9138},{0.595914,-3.87344},{-15.1059,-3.87344},{ -15.1059,-3.87344}})); connect(multpower3converter1.out1,y) annotation(Line(points={{0.595914, 84.1138},{0.595914,98.0279},{0,98.0279},{0,106}})); connect(u,multpower3converter1.in1) annotation(Line(points = {{106,33},{-8.64076,33},{-8.64076,58.9138},{-9.00409,58.9138}})); connect(ecirconverter1.in2,u) annotation(Line(points={{6.4733,-10.9999},{ 6.4733,-11.0244},{-8.64076,-11.0244},{-8.64076,33.0733},{106, 33.0733},{106,33}})); connect(multpower3converter1.in3,realinput1) annotation(Line(points={{10.1959, 58.9138},{10.1959,47.9711},{65.5506,47.9711},{65.5506,-33.0733},{ 106,-33.0733},{106,-33}})); connect(ecirconverter1.in4,realinput1) annotation(Line(points={{6.4733, -25.3999},{6.4733,-25.3264},{-4.76732,-25.3264},{-4.76732, -33.0733},{106,-33.0733},{106,-33}})); connect(div2converter1.out1,realoutput1) annotation(Line(points={{ -82.3261,-49.4609},{-81.1261,-49.4609},{-106,-49.4609},{-106,-50}})); connect(realinput2,ecirconverter1.in3) annotation(Line(points={{-106,0},{ -81.0444,0},{-81.0444,-18},{6,-18},{6,-18.1999},{6.4733,-18.1999}})); connect(div2converter1.in1,ecirconverter1.out1) annotation(Line(points={{ -57.1261,-56.6609},{-57.1261,-56.6119},{43.5018,-56.6119},{ 43.5018,-14.5999},{31.6733,-14.5999},{31.6733,-14.5999}})); connect(constantconverter2.out,div2converter1.in2) annotation(Line(points={{ -43.0814,-42.3099},{-57.1261,-42.3099},{-57.1261,-42.2609}})); annotation(Diagram, Icon(graphics={ Rectangle(rotation = 0, lineColor = {0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent = {{-100,-100},{100,100}}),Text(rotation = 0, lineColor={0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent={{ -91.4041,34.2682},{96,-30}}, fontName= "Times New Roman", textString="Effektive CapInvestRatio")})); end EffectiveCapInvestRatio; model FoodRatio SystemDynamics.Converters.GraphConverter FPCI(table = Resources.World2.fpci) annotation(Placement(visible = true, transformation(origin = {-0.266033,-47.3539}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.GraphConverter FPM(table = Resources.World2.fpm) annotation(Placement(visible = true, transformation(origin = {49.2162,-47.3539}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.GraphConverter FCM(table = Resources.World2.fcm) annotation(Placement(visible = true, transformation(origin = {-52.1425,-46.8219}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter1 annotation(Placement(visible = true, transformation(origin = {-20.7506,-17.0261}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter2 annotation(Placement(visible = true, transformation(origin = {22.8789,-18.0903}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.Mult5Converter mult5converter1 annotation(Placement(visible = true, transformation(origin = {-0.266033,32.19}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealOutput y annotation(Placement(visible = true, transformation(origin = {0,106}, extent = {{-12,-12},{12,12}}, rotation = 90), iconTransformation(origin = {0,106}, extent = {{-12,-12},{12,12}}, rotation = 90))); Modelica.Blocks.Interfaces.RealInput u annotation(Placement(visible = true, transformation(origin = {-50,-106}, extent = {{-12,-12},{12,12}}, rotation = 90), iconTransformation(origin = {-50,-106}, extent = {{-12,-12},{12,12}}, rotation = 90))); Modelica.Blocks.Interfaces.RealInput realinput1 annotation(Placement(visible = true, transformation(origin = {0,-106}, extent = {{-12,-12},{12,12}}, rotation = 90), iconTransformation(origin = {0,-106}, extent = {{-12,-12},{12,12}}, rotation = 90))); Modelica.Blocks.Interfaces.RealInput realinput2 annotation(Placement(visible = true, transformation(origin = {50,-106}, extent = {{-12,-12},{12,12}}, rotation = 90), iconTransformation(origin = {50,-106}, extent = {{-12,-12},{12,12}}, rotation = 90))); equation connect(FPM.in1,realinput2) annotation(Line(points={{49.2162,-60.5539},{ 49.2162,-101.359},{50,-101.359},{50,-106}})); connect(FPCI.in1,realinput1) annotation(Line(points={{-0.266033,-60.5539}, {-0.266033,-101.625},{0,-101.625},{0,-106}})); connect(FCM.in1,u) annotation(Line(points={{-52.1425,-60.0219},{-52.1425, -98.9644},{-50,-98.9644},{-50,-106}})); connect(mult5converter1.out1,y) annotation(Line(points={{-0.266033,45.39}, {-0.266033,97.6342},{0,97.6342},{0,106}})); connect(FPM.out1,mult5converter1.in5) annotation(Line(points={{49.2162, -34.1539},{49.2162,9.31116},{10.9074,9.31116},{10.9074,20.19},{ 10.534,20.19}})); connect(FCM.out1,mult5converter1.in1) annotation(Line(points={{-52.1425, -33.6219},{-52.1425,9.31116},{-10.9074,9.31116},{-10.9074,20.19}, {-11.066,20.19}})); connect(constantconverter2.out,mult5converter1.in4) annotation(Line(points={{22.8789, -4.8903},{22.8789,2.66033},{5.05463,2.66033},{5.05463,20.31},{ 5.13397,20.31}})); connect(constantconverter1.out,mult5converter1.in2) annotation(Line(points={{ -20.7506,-3.8261},{-20.7506,2.66033},{-5.5867,2.66033},{-5.5867, 20.19},{-5.66603,20.19}})); connect(FPCI.out1,mult5converter1.in3) annotation(Line(points={{-0.266033, -34.1539},{-0.266033,19.6865},{-0.266033,20.19},{-0.266033,20.19}})); annotation(Diagram, Icon(graphics={ Rectangle(rotation = 0, lineColor = {0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent = {{-100,-100},{100,100}}),Text(rotation = 0, extent = {{-90,25},{90,-15}}, fontName= "Times New Roman", textString="Food Ratio", textColor={0,0,0})})); end FoodRatio; model InvestAgrar SystemDynamics.Flows.Mult2DivFlow mult2divflow1 annotation(Placement(visible = true, transformation(origin = {-33.7862,9.5772}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Div2Flow div2flow1 annotation(Placement(visible = true, transformation(origin = {31.1259,9.5772}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 15) annotation(Placement(visible = true, transformation(origin = {-0.7981,-39.1069}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.GraphConverter CFIFR(table = Resources.World2.cfifr) annotation(Placement(visible = true, transformation(origin = {-33.2542,-75.0214}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.Stock stock1(m0 = 0.2) annotation(Placement(visible = true, transformation(origin = {0.266033,9.31116}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSource cloudsource1 annotation(Placement(visible = true, transformation(origin = {-61.487,9.74667}, extent = {{-7.39096,-7.39096},{7.39096,7.39096}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin = {59.5327,9.87968}, extent = {{-7.99511,-7.99511},{7.99511,7.99511}}, rotation = 0))); Modelica.Blocks.Interfaces.RealInput u annotation(Placement(visible = true, transformation(origin = {-33,-106}, extent = {{-12,-12},{12,12}}, rotation = 90), iconTransformation(origin = {-33,-106}, extent = {{-12,-12},{12,12}}, rotation = 90))); Modelica.Blocks.Interfaces.RealInput realinput1 annotation(Placement(visible = true, transformation(origin = {33,-106}, extent = {{-12,-12},{12,12}}, rotation = 90), iconTransformation(origin = {33,-106}, extent = {{-12,-12},{12,12}}, rotation = 90))); Modelica.Blocks.Interfaces.RealOutput y annotation(Placement(visible = true, transformation(origin = {0,106}, extent = {{-12,-12},{12,12}}, rotation = 90), iconTransformation(origin = {0,106}, extent = {{-12,-12},{12,12}}, rotation = 90))); equation connect(stock1.out1,y) annotation(Line(points={{0.266033,18.9112},{ 0.266033,97.9002},{0,97.9002},{0,106}})); connect(mult2divflow1.in2,realinput1) annotation(Line(points={{-33.7862, -3.6228},{-33.7862,-52.6746},{32.9881,-52.6746},{32.9881,-106},{ 33,-106}})); connect(CFIFR.in1,u) annotation(Line(points={{-33.2542,-88.2214},{ -33.2542,-100.827},{-33,-100.827},{-33,-106}})); connect(div2flow1.outflow,cloudsink1.inflow) annotation(Line(points={{45.5259, 9.5772},{49.7482,9.5772},{50.7381,9.5772},{50.7381,9.87968}})); connect(cloudsource1.outflow,mult2divflow1.inflow) annotation(Line(points={{ -53.3569,9.74667},{-44.6936,9.74667},{-44.6936,9.5772},{-48.1862, 9.5772}})); connect(stock1.out2,div2flow1.in1) annotation(Line(points={{0.266033, -0.28884},{0.266033,-10.6413},{25.2732,-10.6413},{25.2732,-3.6228}, {25.3659,-3.6228}})); connect(stock1.outflow,div2flow1.inflow) annotation(Line(points={{14.666, 9.31116},{19.4204,9.31116},{19.4204,9.5772},{16.7259,9.5772}})); connect(mult2divflow1.outflow,stock1.inflow) annotation(Line(points={{ -19.3862,9.5772},{-12.7696,9.5772},{-12.7696,9.31116},{-14.134, 9.31116}})); connect(CFIFR.out1,mult2divflow1.in1) annotation(Line(points={{-33.2542, -61.8214},{-33.2542,-56.2613},{-40.2993,-56.2613},{-40.2993, -3.6228},{-38.5862,-3.6228}})); connect(mult2divflow1.in3,constantconverter1.out) annotation(Line(points={{ -28.9862,-3.6228},{-28.9862,-19.9525},{-0.7981,-19.9525},{-0.7981, -25.9069},{-0.7981,-25.9069}})); connect(constantconverter1.out,div2flow1.in2) annotation(Line(points={{-0.7981, -25.9069},{-0.7981,-19.9525},{36.9786,-19.9525},{36.9786,-2.92637}, {37.1259,-2.92637},{37.1259,-3.6228}})); annotation(Diagram, Icon(graphics={ Rectangle(rotation = 0, lineColor = {0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent = {{-100,-100},{100,100}}),Text(rotation = 0, extent = {{-90,25},{90,-15}}, textString = "Invest. Agrar", fontName = "Times New Roman")})); end InvestAgrar; model NatResources Modelica.Blocks.Interfaces.RealInput u annotation(Placement(visible = true, transformation(origin = {-106,33}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-98.8124,48.2185}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealInput realinput1 annotation(Placement(visible = true, transformation(origin = {-106,-33}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-100.713,-52.7316}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealOutput y annotation(Placement(visible = true, transformation(origin = {106,0}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {105.762,0}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Mult3Flow mult3flow1 annotation(Placement(visible = true, transformation(origin = {-0.712589,24.4656}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.ConstantConverter constantconverter1 annotation(Placement(visible = true, transformation(origin = {38.2345,24.4656}, extent = {{12,-12},{-12,12}}, rotation = -270))); SystemDynamics.Converters.GraphConverter NRMM(table = Resources.World2.nrmm) annotation(Placement(visible = true, transformation(origin={61.6238, 33.0493}, extent = {{12,-12},{-12,12}}, rotation = -270))); SystemDynamics.Converters.Div2Converter div2converter1 annotation(Placement(visible = true, transformation(origin={34.6793, -21.639}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.GraphConverter NREM(table = Resources.World2.nrem) annotation(Placement(visible = true, transformation(origin={65.3207, -21.639}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.ConstantConverter constantconverter2(constValue = 900000000000.0) annotation(Placement(visible = true, transformation(origin={-9.73872, -46.8171}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Reservoirs.Stock stock1(m0 = 900000000000.0) annotation(Placement(visible = true, transformation(origin={ -0.477018,-14.04}, extent = {{-12,-12},{12,12}}, rotation = 90))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin = {-0.972263,54.1814}, extent = {{-8.48057,-8.48057},{8.48057,8.48057}}, rotation = 90))); equation connect(mult3flow1.outflow,cloudsink1.inflow) annotation(Line(points={{ -0.712589,10.0656},{-0.969897,10.0656},{-0.969897,41.7056},{ -0.972263,41.7056},{-0.972263,44.8528}})); connect(stock1.out2,div2converter1.in1) annotation(Line(points={{9.12298, -14.04},{9.12298,-14.038},{22.6793,-14.038},{22.6793,-14.439}})); connect(mult3flow1.inflow,stock1.outflow) annotation(Line(points={{ -0.712589,38.8656},{-0.323299,38.8656},{-0.323299,0.36},{ -0.477018,0.36}})); connect(constantconverter2.out,div2converter1.in2) annotation(Line(points={{3.46128, -46.8171},{13.0641,-46.8171},{13.0641,-29.0024},{22.6793,-29.0024}, {22.6793,-28.839}})); connect(div2converter1.out1,NREM.in1) annotation(Line(points={{47.8793, -21.639},{52.1207,-21.639}})); connect(NREM.out1,y) annotation(Line(points={{78.5207,-21.639},{81.7102, -21.639},{81.7102,0},{106,0}})); connect(mult3flow1.in1,u) annotation(Line(points={{12.4874,29.2656},{ 12.4874,32},{24,32},{24,75.0054},{-57.2239,75.0054},{-57.2239, 33.2998},{-106,33.2998},{-106,33}})); connect(NRMM.in1,realinput1) annotation(Line(points={{74.8238,33.0493},{ 74.8238,82.4412},{-73.7122,82.4412},{-73.7122,-32.9765},{-106, -32.9765},{-106,-33}})); connect(NRMM.out1,mult3flow1.in3) annotation(Line(points={{48.4238, 33.0493},{48.4238,16.9765},{12.4874,16.9765},{12.4874,19.6656}})); connect(constantconverter1.out,mult3flow1.in2) annotation(Line(points={{25.0345, 24.4656},{25.0345,24.4656},{12.4874,24.4656},{12.4874,24.4656}})); annotation(Diagram, Icon(graphics={ Rectangle(rotation = 0, lineColor = {0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent = {{-100,-100},{100,100}}),Text(rotation = 0, extent = {{-90,25},{90,-15}}, fontName= "Times New Roman", textString="Nat. Resources", textColor={0,0,0})})); end NatResources; model Pollution Modelica.Blocks.Interfaces.RealInput u annotation(Placement(visible = true, transformation(origin = {-106,33}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-98.3373,33.0166}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealInput realinput1 annotation(Placement(visible = true, transformation(origin = {-106,-31}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-97.1496,-35.6295}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealOutput y annotation(Placement(visible = true, transformation(origin = {106,0}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {100,5.22565}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.GraphConverter POLCM(table = Resources.World2.polcm) annotation(Placement(visible = true, transformation(origin = {-72.209,2.61283}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.Stock stock1(m0 = 200000000.0) annotation(Placement(visible = true, transformation(origin = {-1.90024,13.5392}, extent={{-12,-12}, {12,12}}, rotation = -90))); SystemDynamics.Converters.GraphConverter POLAT(table = Resources.World2.polat) annotation(Placement(visible = true, transformation(origin = {0.475059,-75.772}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Reservoirs.CloudSource cloudsource1 annotation(Placement(visible = true, transformation(origin = {-2.07497,69.814}, extent = {{-7.62322,7.62322},{7.62322,-7.62322}}, rotation = -90))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin = {-1.43136,-49.3804}, extent = {{-8.73406,8.73406},{8.73406,-8.73406}}, rotation = -90))); SystemDynamics.Flows.Mult3Flow mult3flow1 annotation(Placement(visible = true, transformation(origin = {-1.90024,44.4181}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.ConstantConverter constantconverter2 annotation(Placement(visible = true, transformation(origin = {-35.3919,52.9691}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.Div2Converter div2converter1 annotation(Placement(visible = true, transformation(origin = {63.8955,6.4133}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 3600000000.0) annotation(Placement(visible = true, transformation(origin = {30.8789,-0.712589}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Flows.Div2Flow div2flow1 annotation(Placement(visible = true, transformation(origin = {-1.90024,-16.6271}, extent = {{-12,-12},{12,12}}, rotation = -90))); equation connect(stock1.outflow,div2flow1.inflow) annotation(Line(points={{ -1.90024,-0.8608},{-1.90024,-0.8608},{-1.90024,-2.2271},{-1.90024, -2.2271}})); connect(div2flow1.outflow,cloudsink1.inflow) annotation(Line(points={{ -1.90024,-31.0271},{-1.90024,-28.6271},{-1.90024,-39.7729},{ -1.43136,-39.7729}})); connect(POLAT.out1,div2flow1.in2) annotation(Line(points={{-12.7249, -75.772},{-12.7249,-75.772},{-26.6033,-75.772},{-26.6033,-22.5653}, {-15.1002,-22.5653},{-15.1002,-22.6271}})); connect(stock1.out2,div2flow1.in1) annotation(Line(points={{-11.5002, 13.5392},{-11.5002,13.5392},{-25.1781,13.5392},{-25.1781,-10.4513}, {-15.1002,-10.4513},{-15.1002,-10.8671}})); connect(constantconverter1.out,div2converter1.in2) annotation(Line(points={{44.0789, -0.712589},{42.8789,-0.712589},{51.8955,-0.712589},{51.8955, -0.7867}})); connect(stock1.out1,div2converter1.in1) annotation(Line(points={{7.69976, 13.5392},{7.69976,13.5392},{51.8955,13.5392},{51.8955,13.6133}})); connect(POLAT.in1,div2converter1.out1) annotation(Line(points={{13.6751, -75.772},{13.6751,-75.5344},{76.0095,-75.5344},{76.0095,6.4133},{ 77.0955,6.4133}})); connect(div2converter1.out1,y) annotation(Line(points={{77.0955,6.4133},{ 77.0955,-0.0855107},{106,-0.0855107},{106,0}})); connect(constantconverter2.out,mult3flow1.in1) annotation(Line(points={{ -22.1919,52.9691},{-23.3919,52.9691},{-15.1002,52.9691},{-15.1002, 49.2181}})); connect(mult3flow1.inflow,cloudsource1.outflow) annotation(Line(points={{ -1.90024,58.8181},{-1.90024,56.4181},{-1.90024,61.4285},{-2.07497, 61.4285}})); connect(mult3flow1.outflow,stock1.inflow) annotation(Line(points={{ -1.90024,30.0181},{-1.90024,32.4181},{-1.90024,27.9392},{-1.90024, 27.9392}})); connect(u,mult3flow1.in2) annotation(Line(points={{-106,33},{-87.1734,33}, {-87.1734,44.4181},{-15.1002,44.4181},{-15.1002,44.4181}})); connect(POLCM.out1,mult3flow1.in3) annotation(Line(points={{-72.209, 15.8128},{-72.209,36.1045},{-15.1002,36.1045},{-15.1002,39.6181}})); connect(realinput1,POLCM.in1) annotation(Line(points={{-106,-31},{-72.209, -31},{-72.209,-10.5872},{-72.209,-10.5872}})); annotation(Diagram, Icon(graphics={ Rectangle(rotation = 0, lineColor = {0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent = {{-100,-100},{100,100}}),Text(rotation = 0, extent = {{-90,25},{90,-15}}, fontName= "Times New Roman", textString="Pollution", textColor={0,0,0})})); end Pollution; model Population Modelica.Blocks.Interfaces.RealInput u annotation(Placement(visible = true, transformation(origin = {-106,-33}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-106,-33}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealOutput realoutput1 annotation(Placement(visible = true, transformation(origin={152,-33}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {106,-33}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter PDN(constValue = 26.5) annotation(Placement(visible = true, transformation(origin = {53.9729,-16.4917}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Mult6Flow DR annotation(Placement(visible = true, transformation(origin = {-20.9895,-22.4888}, extent={{-12,-12}, {12,12}}, rotation = -90))); SystemDynamics.Converters.GraphConverter DRFM(table = Resources.World2.drfm) annotation(Placement(visible = true, transformation(origin = {16.4917,-22.1889}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.GraphConverter DRPM(table = Resources.World2.drpm) annotation(Placement(visible = true, transformation(origin = {16.4918,-36.5817}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Flows.Mult6Flow BR annotation(Placement(visible = true, transformation(origin = {-20.3898,38.6806}, extent={{-12,-12}, {12,12}}, rotation = -90))); SystemDynamics.Reservoirs.Stock stock1(m0 = 1650000000.0) annotation(Placement(visible = true, transformation(origin = {-20.3898,8.69565}, extent={{-12,-12}, {12,12}}, rotation = -90))); SystemDynamics.Converters.GraphConverter BRPM(table = Resources.World2.brpm) annotation(Placement(visible = true, transformation(origin = {16.7916,38.6806}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.GraphConverter BRFM(table = Resources.World2.brfm) annotation(Placement(visible = true, transformation(origin = {16.4918,53.3733}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.GraphConverter BRCM(table = Resources.World2.brcm) annotation(Placement(visible = true, transformation(origin = {16.7916,24.2879}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.GraphConverter DRCM(table = Resources.World2.drcm) annotation(Placement(visible = true, transformation(origin = {16.7916,-5.39735}, extent = {{12,-12},{-12,12}}, rotation = -270))); SystemDynamics.Converters.ConstantConverter BRN(constValue = 0.04) annotation(Placement(visible = true, transformation(origin = {-50.8375,65.0338}, extent = {{12,-12},{-12,12}}, rotation = -180))); SystemDynamics.Converters.ConstantConverter DRN(constValue = 0.028) annotation(Placement(visible = true, transformation(origin = {-55.7721,-22.1889}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.GraphConverter DRMM(table = Resources.World2.drmm) annotation(Placement(visible = true, transformation(origin = {-55.7721,-38.9805}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.GraphConverter BRMM(table = Resources.World2.brmm) annotation(Placement(visible = true, transformation(origin = {-53.3733,38.3808}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin = {-20.7892,-48.5408}, extent = {{-8.703,8.703},{8.703,-8.703}}, rotation = -90))); SystemDynamics.Reservoirs.CloudSource cloudsource1 annotation(Placement(visible = true, transformation(origin = {-20.5579,62.0449}, extent = {{-7.39235,7.39235},{7.39235,-7.39235}}, rotation = -90))); SystemDynamics.Converters.MultPower3Converter CR(k1 = -1.0, k3 = -1.0) annotation(Placement(visible = true, transformation(origin = {71.3643,8.3958}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.ConstantConverter LA(constValue = 135000000.0) annotation(Placement(visible = true, transformation(origin = {52.7736,31.1844}, extent = {{12,-12},{-12,12}}, rotation = -180))); Modelica.Blocks.Interfaces.RealOutput y annotation(Placement(visible = true, transformation(origin = {-106,33}, extent = {{-12,12},{12,-12}}, rotation = -180), iconTransformation(origin = {-106,33}, extent = {{-12,12},{12,-12}}, rotation = -180))); Modelica.Blocks.Interfaces.RealInput realinput1 annotation(Placement(visible = true, transformation(origin={152,66}, extent = {{-12,12},{12,-12}}, rotation = -180), iconTransformation(origin = {106,66}, extent = {{-12,12},{12,-12}}, rotation = -180))); Modelica.Blocks.Interfaces.RealInput realinput2 annotation(Placement(visible = true, transformation(origin={152,33}, extent = {{-12,12},{12,-12}}, rotation = -180), iconTransformation(origin = {106,33}, extent = {{-12,12},{12,-12}}, rotation = -180))); equation connect(stock1.out1,CR.in2) annotation(Line(points={{-10.7898,8.69565},{ -10.7898,8.69565},{59.3643,8.69565},{59.3643,8.3958}})); connect(PDN.out,CR.in3) annotation(Line(points={{53.9729,-3.2917},{ 53.9729,-1.49925},{59.3643,-1.49925},{59.3643,-1.2042}})); connect(CR.out1,realoutput1) annotation(Line(points={{84.5643,8.3958},{ 134,8.3958},{134,-33},{152,-33}})); connect(cloudsource1.outflow,BR.inflow) annotation(Line(points={{-20.5579, 53.9133},{-20.5579,53.9133},{-20.5579,53.0806},{-20.3898,53.0806}})); connect(DR.outflow,cloudsink1.inflow) annotation(Line(points={{-20.9895, -36.8888},{-20.9895,-36.8888},{-20.9895,-38.9675},{-20.7892, -38.9675}})); connect(y,stock1.out2) annotation(Line(points={{-106,33},{-86.9565,33},{ -86.9565,8.69565},{-29.9898,8.69565},{-29.9898,8.69565}})); connect(BRMM.out1,BR.in2) annotation(Line(points={{-40.1733,38.3808},{ -40.1733,38.6806},{-33.5898,38.6806},{-33.5898,38.6806}})); connect(DRMM.out1,DR.in3) annotation(Line(points={{-42.5721,-38.9805},{ -38,-38.9805},{-38,-30},{-34.1895,-30},{-34.1895,-29.6888}})); connect(DRN.out,DR.in2) annotation(Line(points={{-42.5721,-22.1889},{ -42.5721,-22.4888},{-34.1895,-22.4888},{-34.1895,-22.4888}})); connect(BRPM.out1,BR.in5) annotation(Line(points={{3.5916,38.6806},{ 3.5916,38.6378},{-8.3898,38.6378},{-8.3898,38.6806}})); connect(BR.outflow,stock1.inflow) annotation(Line(points={{-20.3898, 24.2806},{-20.6897,24.2806},{-20.6897,23.0956},{-20.3898,23.0956}})); connect(stock1.outflow,DR.inflow) annotation(Line(points={{-20.3898, -5.70435},{-20.3898,-5.4033},{-20.3898,-8.0888},{-20.9895,-8.0888}})); connect(DRFM.out1,DR.in5) annotation(Line(points={{3.2917,-22.1889},{ 3.2917,-22.4888},{-8.9895,-22.4888},{-8.9895,-22.4888}})); connect(u, BRMM.in1) annotation (Line(points={{-106,-33},{-78,-33},{-78, 38.3808},{-66.5733,38.3808}}, color={0,0,127})); connect(DRMM.in1, BRMM.in1) annotation (Line(points={{-68.9721,-38.9805}, {-78,-38.9805},{-78,38.3808},{-66.5733,38.3808}}, color={0,0,127})); connect(DR.in1, stock1.out2) annotation (Line(points={{-34.1895,-15.2888}, {-40,-15.2888},{-40,8.69565},{-29.9898,8.69565}}, color={0,0,127})); connect(BR.in3, stock1.out2) annotation (Line(points={{-33.5898,31.4806}, {-40,31.4806},{-40,8.69565},{-29.9898,8.69565}}, color={0,0,127})); connect(BRN.out, BR.in1) annotation (Line(points={{-50.8375,51.8338},{ -50.8375,45.8806},{-33.5898,45.8806}}, color={0,0,127})); connect(BRFM.out1, BR.in4) annotation (Line(points={{3.2918,53.3733},{-2, 53.3733},{-2,45.8806},{-8.3898,45.8806}}, color={0,0,127})); connect(BRCM.out1, BR.in6) annotation (Line(points={{3.5916,24.2879},{-2, 24.2879},{-2,31.4806},{-8.3898,31.4806}}, color={0,0,127})); connect(LA.out, CR.in1) annotation (Line(points={{52.7736,17.9844},{ 56.069,17.9844},{56.069,17.9958},{59.3643,17.9958}}, color={0,0, 127})); connect(DR.in4, DRCM.out1) annotation (Line(points={{-8.9895,-15.2888},{ -2,-15.2888},{-2,-5.39735},{3.5916,-5.39735}}, color={0,0,127})); connect(DR.in6, DRPM.out1) annotation (Line(points={{-8.9895,-29.6888},{ -4,-29.6888},{-4,-36.5817},{3.2918,-36.5817}}, color={0,0,127})); connect(BRFM.in1, realinput1) annotation (Line(points={{29.6918,53.3733}, {29.6918,54},{136,54},{136,66},{152,66}}, color={0,0,127})); connect(DRFM.in1, realinput1) annotation (Line(points={{29.6917,-22.1889}, {34,-22.1889},{34,54},{136,54},{136,66},{152,66}}, color={0,0,127})); connect(BRPM.in1, realinput2) annotation (Line(points={{29.9916,38.6806}, {38,38.6806},{38,46},{118,46},{118,33},{152,33}}, color={0,0,127})); connect(DRPM.in1, realinput2) annotation (Line(points={{29.6918,-36.5817}, {118,-36.5817},{118,33},{152,33}}, color={0,0,127})); connect(DRCM.in1, realoutput1) annotation (Line(points={{29.9916,-5.39735}, {42,-5.39735},{42,-28},{100,-28},{100,8},{134,8},{134,-33},{152, -33}}, color={0,0,127})); connect(BRCM.in1, realoutput1) annotation (Line(points={{29.9916,24.2879}, {42,24.2879},{42,-28},{100,-28},{100,8},{134,8},{134,-33},{152, -33}}, color={0,0,127})); annotation ( Icon(coordinateSystem(extent={{-100,-100},{140,100}}), graphics={ Rectangle(rotation = 0, lineColor = {0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent = {{-100,-100},{100,100}}),Text(rotation = 0, extent = {{-90,25},{90,-15}}, fontName= "Times New Roman", textString="Population", textColor={0,0,0})}), Diagram(coordinateSystem(extent={{-100,-100},{140,100}}))); end Population; model QualityOfLife Modelica.Blocks.Interfaces.RealInput realinput3 annotation(Placement(visible = true, transformation(origin = {-106,33}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-106,33}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.MultPower5Converter multpower5converter1 annotation(Placement(visible = true, transformation(origin = {-0.266033,68.9026}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.GraphConverter QLM(table = Resources.World2.qlm) annotation(Placement(visible = true, transformation(origin = {-5.5867,-7.65083}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.GraphConverter QLC(table = Resources.World2.qlc) annotation(Placement(visible = true, transformation(origin = {-74.4893,32.7221}, extent={{-12,-12}, {12,12}}, rotation = -90))); SystemDynamics.Converters.GraphConverter QLP(table = Resources.World2.qlp) annotation(Placement(visible = true, transformation(origin = {68.6366,32.9881}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.Mult2GraphConverter CIQR(table = Resources.World2.ciqr) annotation(Placement(visible = true, transformation(origin = {-69.4347,-32.9881}, extent={{-12,-12}, {12,12}}, rotation = 90))); SystemDynamics.Converters.GraphConverter QLF(table = Resources.World2.qlf) annotation(Placement(visible = true, transformation(origin = {67.8385,-40.7031}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.ConstantConverter constantconverter1 annotation(Placement(visible = true, transformation(origin = {55.601,13.5677}, extent = {{12,-12},{-12,12}}, rotation = 90))); Modelica.Blocks.Interfaces.RealInput realinput1 annotation(Placement(visible = true, transformation(origin = {106,33}, extent = {{-12,12},{12,-12}}, rotation = -180), iconTransformation(origin = {106,33.2882}, extent = {{-12,12},{12,-12}}, rotation = -180))); Modelica.Blocks.Interfaces.RealInput realinput2 annotation(Placement(visible = true, transformation(origin = {106,-33}, extent = {{-12,12},{12,-12}}, rotation = -180), iconTransformation(origin = {106,-32.7118}, extent = {{-12,12},{12,-12}}, rotation = -180))); Modelica.Blocks.Interfaces.RealInput u annotation(Placement(visible = true, transformation(origin = {0,-106}, extent = {{-12,-12},{12,12}}, rotation = 90), iconTransformation(origin = {0,-106}, extent = {{-12,-12},{12,12}}, rotation = 90))); Modelica.Blocks.Interfaces.RealOutput y annotation(Placement(visible = true, transformation(origin = {0,106}, extent = {{-12,-12},{12,12}}, rotation = 90), iconTransformation(origin = {0,106}, extent = {{-12,-12},{12,12}}, rotation = 90))); Modelica.Blocks.Interfaces.RealOutput realoutput1 annotation(Placement(visible = true, transformation(origin = {-106,-33}, extent = {{-12,12},{12,-12}}, rotation = -180), iconTransformation(origin = {-97.6945,-54.755}, extent = {{12,-12},{-12,12}}, rotation = 0))); equation connect(multpower5converter1.out1,y) annotation(Line(points={{-0.266033, 82.1026},{-0.266033,97.9002},{0,97.9002},{0,106}})); connect(QLM.in1,u) annotation(Line(points={{-5.5867,-20.8508},{-5.5867, -81.1401},{0,-81.1401},{0,-106},{0,-106}})); connect(QLF.in1,realinput2) annotation(Line(points={{81.0385,-40.7031},{ 81.0385,-40.7031},{86.1948,-40.7031},{86.1948,-32.9881},{106, -32.9881},{106,-33}})); connect(QLP.in1,realinput1) annotation(Line(points={{81.8366,32.9881},{ 80.6366,32.9881},{106,32.9881},{106,33}})); connect(CIQR.out1,realoutput1) annotation(Line(points={{-82.6347,-32.9881}, {-81.4347,-32.9881},{-106,-32.9881},{-106,-33}})); connect(constantconverter1.out,multpower5converter1.in4) annotation(Line(points={{42.401, 13.5677},{42.401,13.5677},{5.32067,13.5677},{5.32067,56.6651},{ 5.13397,56.6651},{5.13397,57.0226}})); connect(multpower5converter1.in3,QLF.out1) annotation(Line(points={{ -0.266033,56.9026},{-0.266033,3.72447},{35.6485,3.72447},{35.6485, -40.7031},{54.6385,-40.7031},{54.6385,-40.7031}})); connect(QLM.out1,CIQR.in2) annotation(Line(points={{-5.5867,5.54917},{ -5.5867,12.5036},{-47.0879,12.5036},{-47.0879,-25.8052},{-57.4347, -25.8052},{-57.4347,-25.7881}})); connect(multpower5converter1.in2,QLM.out1) annotation(Line(points={{ -5.66603,56.9026},{-5.66603,4.52257},{-5.5867,4.52257},{-5.5867, 5.54917}})); connect(QLF.out1,CIQR.in1) annotation(Line(points={{54.6385,-40.7031},{ 54.6385,-40.7031},{-57.4347,-40.7031},{-57.4347,-40.1881}})); connect(QLP.out1,multpower5converter1.in5) annotation(Line(points={{55.4366, 32.9881},{55.4366,32.9881},{10.6413,32.9881},{10.6413,56.9026},{ 10.534,56.9026}})); connect(QLC.out1,multpower5converter1.in1) annotation(Line(points={{ -61.2893,32.7221},{-61.2893,32.7221},{-10.9074,32.7221},{-10.9074, 56.9026},{-11.066,56.9026}})); connect(realinput3,QLC.in1) annotation(Line(points={{-106,33},{-86.9929, 33},{-86.9929,32.7221},{-87.6893,32.7221}})); annotation(Diagram, Icon(graphics={ Rectangle(rotation = 0, lineColor = {0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent = {{-100,-100},{100,100}}),Text(rotation = 0, lineColor={0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent = {{-92.0857,27.4441},{87.9143,-12.5559}}, fontName= "Times New Roman", textString="Quality of Life")})); end QualityOfLife; model NatResourcesA Modelica.Blocks.Interfaces.RealInput u annotation(Placement(visible = true, transformation(origin = {-106,33}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-98.8124,48.2185}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealInput realinput1 annotation(Placement(visible = true, transformation(origin = {-106,-33}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-100.713,-52.7316}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealOutput y annotation(Placement(visible = true, transformation(origin = {106,0}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {105.762,0}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Mult3Flow mult3flow1 annotation(Placement(visible = true, transformation(origin = {-0.712589,24.4656}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.GraphConverter NRMM(table = Resources.World2.nrmm) annotation(Placement(visible = true, transformation(origin = {61.6238,33.0493}, extent = {{12,-12},{-12,12}}, rotation = -270))); SystemDynamics.Converters.TimeSwitchedConverter timeswitchedconverter1(switchTime = 70, oldValue = 1, newValue = 0.25) annotation(Placement(visible = true, transformation(origin = {44.1065,24.3346}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.Div2Converter div2converter1 annotation(Placement(visible = true, transformation(origin = {34.6793,-11.8746}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.ConstantConverter constantconverter2(constValue = 900000000000.0) annotation(Placement(visible = true, transformation(origin = {-9.73872,-36.8171}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.GraphConverter NREM(table = Resources.World2.nrem) annotation(Placement(visible = true, transformation(origin = {65.3207,-11.639}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Reservoirs.Stock stock1(m0 = 900000000000.0) annotation(Placement(visible = true, transformation(origin = {-0.241447,-4.03996}, extent = {{-12,-12},{12,12}}, rotation = 90))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin = {-0.856714,51.2345}, extent = {{-8.12497,-8.12497},{8.12497,8.12497}}, rotation = 90))); equation connect(mult3flow1.outflow,cloudsink1.inflow) annotation(Line(points={{ -0.712589,10.0656},{-0.969897,10.0656},{-0.969897,41.7056},{ -0.856714,41.7056},{-0.856714,42.297}})); connect(stock1.out2,div2converter1.in1) annotation(Line(points={{9.35855, -4.03996},{9.35855,-4.038},{22.6793,-4.038},{22.6793,-4.6746}})); connect(mult3flow1.inflow,stock1.outflow) annotation(Line(points={{ -0.712589,38.8656},{-0.323299,38.8656},{-0.323299,10.36},{ -0.241447,10.36}})); connect(div2converter1.out1,NREM.in1) annotation(Line(points={{47.8793, -11.8746},{47.8793,-11.639},{52.1207,-11.639},{52.1207,-11.639}})); connect(NREM.out1,y) annotation(Line(points={{78.5207,-11.639},{78.5207, -11.639},{81.7102,-11.639},{81.7102,0},{106,0},{106,0}})); connect(constantconverter2.out,div2converter1.in2) annotation(Line(points={{3.46128, -36.8171},{3.46128,-36.8171},{13.0641,-36.8171},{13.0641,-19.0024}, {22.6793,-19.0024},{22.6793,-19.0746}})); connect(timeswitchedconverter1.out,mult3flow1.in2) annotation(Line(points={{30.9065, 24.3346},{30.9065,24.5881},{12.4874,24.5881},{12.4874,24.4656}})); connect(mult3flow1.in1,u) annotation(Line(points={{12.4874,29.2656},{ 12.4874,15.5184},{21.0144,15.5184},{21.0144,75.0054},{-57.2239, 75.0054},{-57.2239,33.2998},{-106,33.2998},{-106,33}})); connect(NRMM.in1,realinput1) annotation(Line(points={{74.8238,33.0493},{ 74.8238,82.4412},{-73.7122,82.4412},{-73.7122,-32.9765},{-106, -32.9765},{-106,-33}})); connect(NRMM.out1,mult3flow1.in3) annotation(Line(points={{48.4238, 33.0493},{48.4238,32.9765},{12.4874,32.9765},{12.4874,19.6656}})); annotation(Diagram, Icon(graphics={ Rectangle(rotation = 0, lineColor = {0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent = {{-100,-100},{100,100}}),Text(rotation = 0, extent = {{-90,25},{90,-15}}, fontName= "Times New Roman", textString="Nat. Resources (A)", textColor={0,0,0})})); end NatResourcesA; model PollutionA Modelica.Blocks.Interfaces.RealInput u annotation(Placement(visible = true, transformation(origin = {-106,33}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-98.3373,33.0166}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealInput realinput1 annotation(Placement(visible = true, transformation(origin = {-106,-31}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-97.1496,-35.6295}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealOutput y annotation(Placement(visible = true, transformation(origin = {106,0}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {100,5.22565}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.GraphConverter POLCM(table = Resources.World2.polcm) annotation(Placement(visible = true, transformation(origin = {-72.209,2.61283}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.GraphConverter POLAT(table = Resources.World2.polat) annotation(Placement(visible = true, transformation(origin = {0.475059,-75.772}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Flows.Mult3Flow mult3flow1 annotation(Placement(visible = true, transformation(origin = {-1.90024,44.4181}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.TimeSwitchedConverter timeswitchedconverter1(switchTime = 70, oldValue = 1, newValue = 0.7) annotation(Placement(visible = true, transformation(origin = {-41.3204,52.7379}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Flows.Div2Flow div2flow1 annotation(Placement(visible = true, transformation(origin = {-1.90024,-16.6271}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Reservoirs.Stock stock1(m0 = 200000000.0) annotation(Placement(visible = true, transformation(origin = {-1.90024,12.8325}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.Div2Converter div2converter1 annotation(Placement(visible = true, transformation(origin = {63.8955,6.4133}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 3600000000.0) annotation(Placement(visible = true, transformation(origin = {30.8789,-0.712589}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin = {-1.95204,-39.5444}, extent = {{-9.15566,9.15566},{9.15566,-9.15566}}, rotation = -90))); SystemDynamics.Reservoirs.CloudSource cloudsource1 annotation(Placement(visible = true, transformation(origin = {-1.8394,70.0496}, extent = {{-8.56551,8.56551},{8.56551,-8.56551}}, rotation = -90))); equation connect(mult3flow1.inflow,cloudsource1.outflow) annotation(Line(points={{ -1.90024,58.8181},{-1.90024,56.4181},{-1.90024,60.6275},{-1.8394, 60.6275}})); connect(div2flow1.outflow,cloudsink1.inflow) annotation(Line(points={{ -1.90024,-31.0271},{-1.90024,-28.6271},{-1.90024,-29.4732},{ -1.95204,-29.4732}})); connect(constantconverter1.out,div2converter1.in2) annotation(Line(points={{44.0789, -0.712589},{42.8789,-0.712589},{51.8955,-0.712589},{51.8955, -0.7867}})); connect(stock1.out1,div2converter1.in1) annotation(Line(points={{7.69976, 12.8325},{7.69976,13.5392},{51.8955,13.5392},{51.8955,13.6133}})); connect(POLAT.in1,div2converter1.out1) annotation(Line(points={{13.6751, -75.772},{13.6751,-75.5344},{76.0095,-75.5344},{76.0095,6.4133},{ 77.0955,6.4133}})); connect(div2converter1.out1,y) annotation(Line(points={{77.0955,6.4133},{ 77.0955,-0.0855107},{106,-0.0855107},{106,0}})); connect(stock1.outflow,div2flow1.inflow) annotation(Line(points={{ -1.90024,-1.5675},{-1.90024,-1.5675},{-1.90024,-2.2271},{-1.90024, -2.2271}})); connect(stock1.out2,div2flow1.in1) annotation(Line(points={{-11.5002, 12.8325},{-11.5002,13.5392},{-25.1781,13.5392},{-25.1781,-10.4513}, {-15.1002,-10.4513},{-15.1002,-10.8671}})); connect(mult3flow1.outflow,stock1.inflow) annotation(Line(points={{ -1.90024,30.0181},{-1.90024,32.4181},{-1.90024,27.2325},{-1.90024, 27.2325}})); connect(POLAT.out1,div2flow1.in2) annotation(Line(points={{-12.7249, -75.772},{-12.7249,-75.772},{-26.6033,-75.772},{-26.6033,-22.5653}, {-15.1002,-22.5653},{-15.1002,-22.6271}})); connect(timeswitchedconverter1.out,mult3flow1.in1) annotation(Line(points={{ -28.1204,52.7379},{-28.1204,53.0097},{-15.1002,53.0097},{-15.1002, 49.2181}})); connect(u,mult3flow1.in2) annotation(Line(points={{-106,33},{-87.1734,33}, {-87.1734,44.4181},{-15.1002,44.4181},{-15.1002,44.4181}})); connect(POLCM.out1,mult3flow1.in3) annotation(Line(points={{-72.209, 15.8128},{-72.209,36.1045},{-15.1002,36.1045},{-15.1002,39.6181}})); connect(realinput1,POLCM.in1) annotation(Line(points={{-106,-31},{-72.209, -31},{-72.209,-10.5872},{-72.209,-10.5872}})); annotation(Diagram, Icon(graphics={ Rectangle(rotation = 0, lineColor = {0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent = {{-100,-100},{100,100}}),Text(rotation = 0, extent = {{-90,25},{90,-15}}, fontName= "Times New Roman", textString="Pollution (A)", textColor={0,0,0})})); end PollutionA; model PopulationA Modelica.Blocks.Interfaces.RealInput u annotation(Placement(visible = true, transformation(origin = {-106,-33}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {-106,-33}, extent = {{-12,-12},{12,12}}, rotation = 0))); Modelica.Blocks.Interfaces.RealOutput realoutput1 annotation(Placement(visible = true, transformation(origin = {106,-33}, extent = {{-12,-12},{12,12}}, rotation = 0), iconTransformation(origin = {106,-33}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter PDN(constValue = 26.5) annotation(Placement(visible = true, transformation(origin = {53.9729,-16.4917}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.GraphConverter DRFM(table = Resources.World2.drfm) annotation(Placement(visible = true, transformation(origin = {16.4917,-22.1889}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.GraphConverter DRPM(table = Resources.World2.drpm) annotation(Placement(visible = true, transformation(origin = {16.4918,-36.5817}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.GraphConverter BRPM(table = Resources.World2.brpm) annotation(Placement(visible = true, transformation(origin = {16.7916,38.6806}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.GraphConverter BRFM(table = Resources.World2.brfm) annotation(Placement(visible = true, transformation(origin = {16.4918,53.3733}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.GraphConverter BRCM(table = Resources.World2.brcm) annotation(Placement(visible = true, transformation(origin = {16.7916,24.2879}, extent = {{12,-12},{-12,12}}, rotation = 90))); SystemDynamics.Converters.GraphConverter DRCM(table = Resources.World2.drcm) annotation(Placement(visible = true, transformation(origin = {16.7916,-5.39735}, extent = {{12,-12},{-12,12}}, rotation = -270))); SystemDynamics.Converters.MultPower3Converter CR(k1 = -1.0, k3 = -1.0) annotation(Placement(visible = true, transformation(origin = {71.3643,8.3958}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.ConstantConverter LA(constValue = 135000000.0) annotation(Placement(visible = true, transformation(origin = {52.7736,31.1844}, extent = {{12,-12},{-12,12}}, rotation = -180))); SystemDynamics.Converters.ConstantConverter DRN(constValue = 0.028) annotation(Placement(visible = true, transformation(origin = {-55.7721,-22.1889}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.GraphConverter DRMM(table = Resources.World2.drmm) annotation(Placement(visible = true, transformation(origin = {-55.7721,-38.9805}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.GraphConverter BRMM(table = Resources.World2.brmm) annotation(Placement(visible = true, transformation(origin = {-53.3733,38.3808}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.TimeSwitchedConverter timeswitchedconverter1(switchTime = 70, oldValue = 0.04, newValue = 0.028) annotation(Placement(visible = true, transformation(origin = {-49.4062,64.6081}, extent = {{12,-12},{-12,12}}, rotation = -180))); SystemDynamics.Flows.Mult6Flow BR annotation(Placement(visible = true, transformation(origin = {-20.3898,38.445}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Flows.Mult6Flow DR annotation(Placement(visible = true, transformation(origin = {-20.7539,-22.2532}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Reservoirs.Stock stock1(m0 = 1650000000.0) annotation(Placement(visible = true, transformation(origin = {-20.6254,8.69565}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin = {-20.8586,-44.9116}, extent = {{-8.63363,8.63363},{8.63363,-8.63363}}, rotation = -90))); SystemDynamics.Reservoirs.CloudSource cloudsource1 annotation(Placement(visible = true, transformation(origin = {-20.3223,62.9872}, extent = {{-9.04135,9.04135},{9.04135,-9.04135}}, rotation = -90))); Modelica.Blocks.Interfaces.RealOutput y annotation(Placement(visible = true, transformation(origin = {-106,33}, extent = {{-12,12},{12,-12}}, rotation = -180), iconTransformation(origin = {-106,33}, extent = {{-12,12},{12,-12}}, rotation = -180))); Modelica.Blocks.Interfaces.RealInput realinput1 annotation(Placement(visible = true, transformation(origin = {106,66}, extent = {{-12,12},{12,-12}}, rotation = -180), iconTransformation(origin = {106,66}, extent = {{-12,12},{12,-12}}, rotation = -180))); Modelica.Blocks.Interfaces.RealInput realinput2 annotation(Placement(visible = true, transformation(origin = {106,33}, extent = {{-12,12},{12,-12}}, rotation = -180), iconTransformation(origin = {106,33}, extent = {{-12,12},{12,-12}}, rotation = -180))); equation connect(cloudsource1.outflow,BR.inflow) annotation(Line(points={{-20.3223, 53.0417},{-20.3223,53.0417},{-20.3223,52.845},{-20.3898,52.845}})); connect(DR.outflow,cloudsink1.inflow) annotation(Line(points={{-20.7539, -36.6532},{-20.7539,-34.4888},{-20.7539,-35.4146},{-20.8586, -35.4146}})); connect(y,stock1.out2) annotation(Line(points={{-106,33},{-86.9565,33},{ -86.9565,8.69565},{-30.2254,8.69565},{-30.2254,8.69565}})); connect(BR.in3,stock1.out2) annotation(Line(points={{-33.5898,31.245},{ -33.5898,29.9851},{-37.4813,29.9851},{-37.4813,8.69565},{-30.2254, 8.69565},{-30.2254,8.69565}})); connect(stock1.outflow,DR.inflow) annotation(Line(points={{-20.6254, -5.70435},{-20.6254,-5.4033},{-20.6254,-7.8532},{-20.7539,-7.8532}})); connect(BR.outflow,stock1.inflow) annotation(Line(points={{-20.3898, 24.045},{-20.3898,26.6806},{-20.3898,23.0956},{-20.6254,23.0956}})); connect(DR.in1,stock1.out2) annotation(Line(points={{-33.9539,-15.0532},{ -33.9539,-14.093},{-37.4813,-14.093},{-37.4813,8.69565},{-30.2254, 8.69565},{-30.2254,8.69565}})); connect(stock1.out1,CR.in2) annotation(Line(points={{-11.0254,8.69565},{ -11.6254,8.69565},{59.3643,8.69565},{59.3643,8.3958}})); connect(DRN.out,DR.in2) annotation(Line(points={{-42.5721,-22.1889},{ -42.5721,-22.4888},{-33.9539,-22.4888},{-33.9539,-22.2532}})); connect(DRMM.out1,DR.in3) annotation(Line(points={{-42.5721,-38.9805},{ -42.5721,-38.9805},{-37.4813,-38.9805},{-37.4813,-30.6532},{ -33.9539,-30.6532},{-33.9539,-29.4532}})); connect(DRFM.out1,DR.in5) annotation(Line(points={{3.2917,-22.1889},{ 3.2917,-22.4888},{-8.7539,-22.4888},{-8.7539,-22.2532}})); connect(DRPM.out1,DR.in6) annotation(Line(points={{3.2918,-36.5817},{ 3.2918,-36.5817},{-1.7991,-36.5817},{-1.7991,-30.6532},{-8.7539, -30.6532},{-8.7539,-29.4532}})); connect(DRCM.out1,DR.in4) annotation(Line(points={{3.5916,-5.39735},{ 3.5916,-5.35446},{-1.7991,-5.35446},{-1.7991,-14.093},{-8.7539, -14.093},{-8.7539,-15.0532}})); connect(BRMM.out1,BR.in2) annotation(Line(points={{-40.1733,38.3808},{ -40.1733,38.6806},{-33.5898,38.6806},{-33.5898,38.445}})); connect(BRCM.out1,BR.in6) annotation(Line(points={{3.5916,24.2879},{ 3.5916,23.988},{-1.49925,23.988},{-1.49925,30.2849},{-8.3898, 30.2849},{-8.3898,31.245}})); connect(BRPM.out1,BR.in5) annotation(Line(points={{3.5916,38.6806},{ 3.5916,38.6378},{-8.3898,38.6378},{-8.3898,38.445}})); connect(BRFM.out1,BR.in4) annotation(Line(points={{3.2918,53.3733},{ 3.2918,53.3305},{-1.49925,53.3305},{-1.49925,47.0765},{-8.3898, 47.0765},{-8.3898,45.645}})); connect(timeswitchedconverter1.out,BR.in1) annotation(Line(points={{ -49.4062,51.4081},{-49.4062,52.6081},{-33.5898,52.6081},{-33.5898, 45.645}})); connect(BRMM.in1,u) annotation(Line(points={{-66.5733,38.3808},{-66.5733, 38.3808},{-79.1604,38.3808},{-79.1604,-32.3635},{-106,-32.3635},{ -106,-33}})); connect(DRMM.in1,u) annotation(Line(points={{-68.9721,-38.9805},{-68.9721, -39.1069},{-79.2779,-39.1069},{-79.2779,-32.4561},{-106,-32.4561}, {-106,-33}})); connect(LA.out,CR.in1) annotation(Line(points={{52.7736,17.9844},{52.7736, 19.1844},{59.3643,19.1844},{59.3643,17.9958}})); connect(PDN.out,CR.in3) annotation(Line(points={{53.9729,-3.2917},{ 53.9729,-1.49925},{59.3643,-1.49925},{59.3643,-1.2042}})); connect(CR.out1,realoutput1) annotation(Line(points={{84.5643,8.3958},{ 84.5643,8.31174},{86.3568,8.31174},{86.3568,-33.1323},{106, -33.1323},{106,-33}})); connect(DRCM.in1,CR.out1) annotation(Line(points={{29.9916,-5.39735},{ 29.9916,-5.09745},{42.2789,-5.09745},{42.2789,-33.1774},{86.3568, -33.1774},{86.3568,8.31174},{83.6582,8.31174},{84.5643,8.31174},{ 84.5643,8.3958}})); connect(BRCM.in1,CR.out1) annotation(Line(points={{29.9916,24.2879},{ 29.9916,24.063},{42.2789,24.063},{42.2789,-33.1774},{86.3568, -33.1774},{86.3568,8.34255},{84.5643,8.34255},{84.5643,8.3958}})); connect(BRPM.in1,realinput2) annotation(Line(points={{29.9916,38.6806},{ 29.9916,38.5748},{79.0119,38.5748},{79.0119,32.9881},{106,32.9881}, {106,33}})); connect(DRPM.in1,realinput2) annotation(Line(points={{29.6918,-36.5817},{ 29.6918,-36.7126},{42.0333,-36.7126},{42.0333,-47.0879},{113.33, -47.0879},{113.33,33},{106,33}})); connect(BRFM.in1,realinput1) annotation(Line(points={{29.6918,53.3733},{ 29.6918,53.5447},{78.7106,53.5447},{78.7106,65.9038},{106,65.9038}, {106,66}})); connect(DRFM.in1,realinput1) annotation(Line(points={{29.6917,-22.1889},{ 29.6917,-21.9533},{38.0167,-21.9533},{38.0167,-61.0409},{121.566, -61.0409},{121.566,65.1041},{106,65.1041},{106,66}})); annotation(Diagram, Icon(graphics={ Rectangle(rotation = 0, lineColor = {0,0,0}, fillColor = {0,0,0}, pattern = LinePattern.Solid, fillPattern = FillPattern.None, lineThickness = 0.25, extent = {{-100,-100},{100,100}}),Text(rotation = 0, extent = {{-90,25},{90,-15}}, fontName= "Times New Roman", textString="Population (A)", textColor={0,0,0})})); end PopulationA; end AuxComponents; package Resources model PredatorPrey constant Real cpp[11,2]= {{0.0, 0.0000}, {1.0, 0.9879}, {2.0, 1.9830}, {3.0, 2.4116}, {4.0, 2.7167}, {5.0, 2.8620}, {6.0, 2.9419}, {7.0, 2.9823}, {8.0, 2.9910}, {9.0, 2.9970}, {10.0, 3.0000}}; end PredatorPrey; model World2 constant Real brcm[6,2]= {{0, 1.05}, {1, 1.00}, {2, 0.90}, {3, 0.70}, {4, 0.60}, {5, 0.55}}; constant Real brfm[5,2]= {{0, 0.0}, {1, 1.0}, {2, 1.6}, {3, 1.9}, {4, 2.0}}; constant Real brmm[6,2]= {{0, 1.20}, {1, 1.00}, {2, 0.85}, {3, 0.75}, {4, 0.70}, {5, 0.70}}; constant Real brpm[7,2]= {{0, 1.02}, {10, 0.90}, {20, 0.70}, {30, 0.40}, {40, 0.25}, {50, 0.15}, {60, 0.10}}; constant Real cfifr[5,2]= {{0.00, 1.00}, {0.50, 0.60}, {1.00, 0.30}, {1.50, 0.15}, {2.00, 0.10}}; constant Real cim[6,2]= {{0, 0.1}, {1, 1.0}, {2, 1.8}, {3, 2.4}, {4, 2.8}, {5, 3.0}}; constant Real ciqr[5,2]= {{0.0, 0.7}, {0.5, 0.8}, {1.0, 1.0}, {1.5, 1.5}, {2.0, 2.0}}; constant Real drcm[6,2]= {{0, 0.9}, {1, 1.0}, {2, 1.2}, {3, 1.5}, {4, 1.9}, {5, 3.0}}; constant Real drfm[9,2]= {{0.00, 30.0}, {0.25, 3.0}, {0.50, 2.0}, {0.75, 1.4}, {1.00, 1.0}, {1.25, 0.7}, {1.50, 0.6}, {1.75, 0.5}, {2.00, 0.5}}; constant Real drmm[11,2]= {{0.0, 3.00}, {0.5, 1.80}, {1.0, 1.00}, {1.5, 0.80}, {2.0, 0.70}, {2.5, 0.60}, {3.0, 0.53}, {3.5, 0.50}, {4.0, 0.50}, {4.5, 0.50}, {5.0, 0.50}}; constant Real drpm[7,2]= {{0, 0.92}, {10, 1.30}, {20, 2.00}, {30, 3.20}, {40, 4.80}, {50, 6.80}, {60, 9.20}}; constant Real fcm[6,2]= {{0, 2.4}, {1, 1.0}, {2, 0.6}, {3, 0.4}, {4, 0.3}, {5, 0.2}}; constant Real fpci[7,2]= {{0, 0.50}, {1, 1.00}, {2, 1.40}, {3, 1.70}, {4, 1.90}, {5, 2.05}, {6, 2.20}}; constant Real fpm[7,2]= {{0, 1.02}, {10, 0.90}, {20, 0.65}, {30, 0.35}, {40, 0.20}, {50, 0.10}, {60, 0.05}}; constant Real nrem[5,2]= {{0.00, 0.00}, {0.25, 0.15}, {0.50, 0.50}, {0.75, 0.85}, {1.00, 1.00}}; constant Real nrmm[11,2]= {{0, 0.00}, {1, 1.00}, {2, 1.80}, {3, 2.40}, {4, 2.90}, {5, 3.30}, {6, 3.60}, {7, 3.80}, {8, 3.90}, {9, 3.95}, {10, 4.00}}; constant Real polat[7,2]= {{0, 0.6}, {10, 2.5}, {20, 5.0}, {30, 8.0}, {40, 11.5}, {50, 15.5}, {60, 20.0}}; constant Real polcm[6,2]= {{0, 0.05}, {1, 1.00}, {2, 3.00}, {3, 5.40}, {4, 7.40}, {5, 8.00}}; constant Real qlc[11,2]= {{0.0, 2.00}, {0.5, 1.30}, {1.0, 1.00}, {1.5, 0.75}, {2.0, 0.55}, {2.5, 0.45}, {3.0, 0.38}, {3.5, 0.30}, {4.0, 0.25}, {4.5, 0.22}, {5.0, 0.20}}; constant Real qlf[5,2]= {{0, 0.0}, {1, 1.0}, {2, 1.8}, {3, 2.4}, {4, 2.7}}; constant Real qlm[6,2]= {{0, 0.2}, {1, 1.0}, {2, 1.7}, {3, 2.3}, {4, 2.7}, {5, 2.9}}; constant Real qlp[7,2]= {{0, 1.04}, {10, 0.85}, {20, 0.60}, {30, 0.30}, {40, 0.15}, {50, 0.05}, {60, 0.02}}; end World2; end Resources; package Examples model Inflow SystemDynamics.Reservoirs.Stock stock1(m0 = 2) annotation(Placement(visible = true, transformation(origin = {25.26,54.0862}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 0.5) annotation(Placement(visible = true, transformation(origin = {-12.1842,17.8306}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Flow flow1 annotation(Placement(visible = true, transformation(origin = {-12.4814,54.0862}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSource cloudsource1 annotation(Placement(visible = true, transformation(origin={-46.9395, 54.1787}, extent = {{-10,-10},{10,10}}, rotation = 0))); equation connect(cloudsource1.outflow,flow1.inflow) annotation(Line(points={{ -35.9395,54.1787},{-24.4957,54.1787},{-24.4957,54.0862},{-26.8814, 54.0862}})); connect(constantconverter1.out,flow1.in1) annotation(Line(points={{-12.1842, 31.0306},{-12.1842,41.6048},{-12.4814,41.6048},{-12.4814,40.8862}})); connect(stock1.inflow,flow1.outflow) annotation(Line(points={{10.86,54.0862}, {0,54.0862},{0,54.0862},{1.9186,54.0862}})); annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-06), __Dymola_Commands(file="plotZufluss.mos" "plotZufluss"), __OpenModelica_simulationFlags(lv="LOG_STATS", s="dassl")); end Inflow; model Outflow SystemDynamics.Flows.Flow flow1 annotation(Placement(visible = true, transformation(origin = {-12.4814,54.0862}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 0.5) annotation(Placement(visible = true, transformation(origin = {-12.4868,18.1332}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSink cloudsink2 annotation(Placement(visible = true, transformation(origin = {21.902,54.1787}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.SaturatedStock saturatedstock1(m0=4, minLevel=0) annotation ( Placement(visible = true, transformation(origin = {-47.8064, 53.8578}, extent = {{-12, -12}, {12, 12}}, rotation = 0))); equation connect(flow1.outflow, cloudsink2.inflow) annotation ( Line(points = {{1.9186, 54.0862}, {12.1037, 54.0862}, {12.1037, 54.1787}, {10.902, 54.1787}})); connect(constantconverter1.out, flow1.in1) annotation ( Line(points = {{-12.4868, 31.3332}, {-12.4868, 41.6048}, {-12.4814, 41.6048}, {-12.4814, 40.8862}})); connect(flow1.inflow, saturatedstock1.outflow) annotation ( Line(points = {{-26.8814, 54.0862}, {-35.4009, 54.0862}, {-35.4009, 53.8578}, {-33.4064, 53.8578}})); annotation(experiment(StartTime = 0.0, StopTime = 10, Tolerance = 1e-06), __Dymola_Commands(file="plotAbfluss.mos" "plotAbfluss"), __OpenModelica_simulationFlags(lv="LOG_STATS", s="dassl")); end Outflow; model Population1 SystemDynamics.Flows.Mult2Flow mult2flow1 annotation(Placement(visible = true, transformation(origin = {-43.9822,51.7088}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Mult2Flow mult2flow2 annotation(Placement(visible = true, transformation(origin={36.8499, 51.7088}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.Stock stock1(m0 = 10) annotation(Placement(visible = true, transformation(origin={-1.48588, 51.7088}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 0.03) annotation(Placement(visible = true, transformation(origin = {-49.9257,15.7504}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter2(constValue = 0.01) annotation(Placement(visible = true, transformation(origin = {42.7935,15.9433}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSource cloudsource2 annotation(Placement(visible = true, transformation(origin={-82.3689, 51.7088}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSink cloudsink2 annotation(Placement(visible = true, transformation(origin={70.0288, 51.7088}, extent = {{-10,-10},{10,10}}, rotation = 0))); equation connect(cloudsource2.outflow, mult2flow1.inflow) annotation (Line(points= {{-71.3689,51.7088},{-58.3822,51.7088}}, color={0,0,0})); connect(mult2flow1.outflow, stock1.inflow) annotation (Line(points={{ -29.5822,51.7088},{-15.8859,51.7088}}, color={0,0,0})); connect(stock1.outflow, mult2flow2.inflow) annotation (Line(points={{ 12.9141,51.7088},{22.4499,51.7088}}, color={0,0,0})); connect(mult2flow2.outflow, cloudsink2.inflow) annotation (Line(points={{ 51.2499,51.7088},{59.0288,51.7088}}, color={0,0,0})); connect(constantconverter1.out, mult2flow1.in1) annotation (Line(points={ {-49.9257,28.9504},{-49.9257,33.7296},{-49.7422,33.7296},{ -49.7422,38.5088}}, color={0,0,127})); connect(mult2flow1.in2, stock1.out2) annotation (Line(points={{-37.9822, 38.5088},{-37.9822,26},{-1.48588,26},{-1.48588,42.1088}}, color={ 0,0,127})); connect(constantconverter2.out, mult2flow2.in2) annotation (Line(points={{43, 29},{43, 32.826},{42.8499,32.826},{42.8499, 38.5088}}, color={0,0,127})); connect(mult2flow2.in1, stock1.out2) annotation (Line(points={{31.0899, 38.5088},{31.0899,26},{-1.48588,26},{-1.48588,42.1088}}, color={0, 0,127})); annotation(experiment(StartTime = 0.0, StopTime = 200, Tolerance = 1e-06), __Dymola_Commands(file="plotBevoelkerung.mos" "plotBevoelkerung")); end Population1; model Population2 SystemDynamics.Flows.Mult2Flow mult2flow1 annotation(Placement(visible = true, transformation(origin = {-43.9822,51.7088}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Mult2Flow mult2flow2 annotation(Placement(visible = true, transformation(origin={36.8499, 51.7088}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.Stock stock1(m0 = 10) annotation(Placement(visible = true, transformation(origin={-1.48588, 51.7088}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 0.03) annotation(Placement(visible = true, transformation(origin = {-49.9257,15.7504}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.MultPower3Converter multpower3converter1(k1 = 1.0, k2 = 1.0, k3 = -1.0) annotation(Placement(visible = true, transformation(origin={42.5787, 16.4918}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter2(constValue = 0.01) annotation(Placement(visible = true, transformation(origin={42.4936, -20.2397}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter3(constValue = 50) annotation(Placement(visible = true, transformation(origin={61.0769, -20.09}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSource cloudsource2 annotation(Placement(visible = true, transformation(origin={-80.3343, 51.7088}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSink cloudsink2 annotation(Placement(visible = true, transformation(origin={72.2997, 51.7088}, extent = {{-10,-10},{10,10}}, rotation = 0))); equation connect(mult2flow2.outflow,cloudsink2.inflow) annotation(Line(points={{51.2499, 51.7088},{61.2997,51.7088}})); connect(cloudsource2.outflow,mult2flow1.inflow) annotation(Line(points={{ -69.3343,51.7088},{-58.3822,51.7088}})); connect(multpower3converter1.in1,stock1.out2) annotation(Line(points={{32.9787, 4.4918},{32.9787,-1.51286},{-1.51286,-1.51286},{-1.51286,42.1088}, {-1.48588,42.1088}})); connect(multpower3converter1.in3,constantconverter3.out) annotation(Line(points={{52.1787, 4.4918},{52.1787,-0.907716},{60.8169,-0.907716},{60.8169,-6.89},{ 61.0769,-6.89}})); connect(constantconverter2.out,multpower3converter1.in2) annotation(Line(points={{42.4936, -7.0397},{42.4936,3.89805},{42.5787,3.89805},{42.5787,4.4918}})); connect(mult2flow2.in1,stock1.out2) annotation(Line(points={{31.0899, 38.5088},{31.0899,28.8262},{-1.48588,28.8262},{-1.48588,42.1088}})); connect(stock1.out2,mult2flow1.in2) annotation(Line(points={{-1.48588, 42.1088},{-1.48588,28.8262},{-37.4443,28.8262},{-37.4443,38.5088}, {-37.9822,38.5088}})); connect(constantconverter1.out,mult2flow1.in1) annotation(Line(points={{ -49.9257,28.9504},{-49.9257,38.9302},{-49.7422,38.9302},{-49.7422, 38.5088}})); connect(multpower3converter1.out1, mult2flow2.in2) annotation (Line( points={{42.5787,29.6918},{42.5787,33.9517},{42.8499,33.9517},{ 42.8499,38.5088}}, color={0,0,127})); connect(mult2flow1.outflow, stock1.inflow) annotation (Line(points={{ -29.5822,51.7088},{-15.8859,51.7088}}, color={0,0,0})); connect(stock1.outflow, mult2flow2.inflow) annotation (Line(points={{ 12.9141,51.7088},{22.4499,51.7088}}, color={0,0,0})); annotation(experiment(StartTime = 0.0, StopTime = 300, Tolerance = 1e-06), __Dymola_Commands(file="plotBevoelkerung.mos" "plotBevoelkerung"), __OpenModelica_simulationFlags(lv="LOG_STATS", s="dassl")); end Population2; model Population3 SystemDynamics.Flows.Mult2Flow mult2flow1 annotation(Placement(visible = true, transformation(origin = {-43.9822,51.7088}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.Stock stock1(m0 = 10) annotation(Placement(visible = true, transformation(origin={-1.48588, 51.7088}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 0.03) annotation(Placement(visible = true, transformation(origin = {-49.9257,15.7504}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter2(constValue = 0.01) annotation(Placement(visible = true, transformation(origin = {43.088,-20.2397}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamicsExamples.AuxComponents.CapacityConverter capacityconverter2 annotation (Placement(visible=true, transformation( origin={42.9652,15.4312}, extent={{-12,-12},{12,12}}, rotation=0))); SystemDynamics.Converters.ConstantConverter constantconverter3(constValue = 225) annotation(Placement(visible = true, transformation(origin = {61.6929,-20.0873}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin={72.5559, 51.7088}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSource cloudsource2 annotation(Placement(visible = true, transformation(origin={-79.0678, 51.7088}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Flows.Mult2Flow mult2flow2 annotation(Placement(visible = true, transformation(origin={37.4263, 51.7088}, extent = {{-12,-12},{12,12}}, rotation = 0))); equation connect(stock1.out2,mult2flow2.in1) annotation(Line(points={{-1.48588, 42.1088},{-1.72911,42.1088},{-1.72911,28.8184},{31.7003,28.8184}, {31.7003,38.5088},{31.6663,38.5088}})); connect(mult2flow2.outflow,cloudsink1.inflow) annotation(Line(points={{51.8263, 51.7088},{61.5559,51.7088}})); connect(capacityconverter2.out1,mult2flow2.in2) annotation(Line(points={{42.9652, 28.6312},{42.9652,39.3343},{43.4263,39.3343},{43.4263,38.5088}})); connect(cloudsource2.outflow,mult2flow1.inflow) annotation(Line(points={{ -68.0678,51.7088},{-58.3822,51.7088}})); connect(capacityconverter2.in1,stock1.out2) annotation(Line(points={{33.3652, 3.4312},{33.3652,-3.93343},{-1.51286,-3.93343},{-1.51286,42.1088}, {-1.48588,42.1088}})); connect(capacityconverter2.in3,constantconverter3.out) annotation(Line(points={{52.5652, 3.4312},{52.5652,-2.72315},{61.7247,-2.72315},{61.7247,-8.77458}, {61.6929,-8.77458},{61.6929,-6.8873}})); connect(capacityconverter2.in2,constantconverter2.out) annotation(Line(points={{42.9652, 3.4312},{42.9652,-8.77458},{43.088,-8.77458},{43.088,-7.0397}})); connect(stock1.out2,mult2flow1.in2) annotation(Line(points={{-1.48588, 42.1088},{-1.48588,28.8262},{-37.4443,28.8262},{-37.4443,38.5088}, {-37.9822,38.5088}})); connect(constantconverter1.out,mult2flow1.in1) annotation(Line(points={{ -49.9257,28.9504},{-49.9257,38.9302},{-49.7422,38.9302},{-49.7422, 38.5088}})); connect(mult2flow1.outflow, stock1.inflow) annotation (Line(points={{ -29.5822,51.7088},{-15.8859,51.7088}}, color={0,0,0})); connect(stock1.outflow, mult2flow2.inflow) annotation (Line(points={{12.9141, 51.7088},{23.0263,51.7088}}, color={0,0,0})); annotation(experiment(StartTime = 0.0, StopTime = 300.0, Tolerance = 1e-06), conversion(noneFromVersion=""), __Dymola_Commands(file="plotBevoelkerung.mos"), __OpenModelica_simulationFlags(lv="LOG_STATS", s="dassl")); end Population3; model PredatorPrey1 SystemDynamics.Reservoirs.Stock Prey(m0= 500) annotation (Placement(visible =true, transformation( origin={-3.26895,73.1055}, extent={{-12,-12},{12,12}}, rotation=0))); SystemDynamics.Flows.Mult2Flow mult2flow1 annotation(Placement(visible = true, transformation(origin={-43.0906, 73.1055}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Mult2AddFlow mult2addflow1 annotation(Placement(visible = true, transformation(origin={37.581, 73.1055}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Mult2SubDiv2Flow mult2subdiv2flow1 annotation(Placement(visible = true, transformation(origin = {36.8816,-41.3793}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.Stock Predator(m0=20) annotation (Placement( visible=true, transformation( origin={-3.29835,-41.6792}, extent={{-12,-12},{12,12}}, rotation=0))); SystemDynamics.Flows.Mult2Flow mult2flow2 annotation(Placement(visible = true, transformation(origin = {-42.5787,-41.979}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 0.2) annotation(Placement(visible = true, transformation(origin={-48.8756, 42.3778}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter5(constValue = 0.2) annotation(Placement(visible = true, transformation(origin={33.2834, -78.4618}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter4(constValue = 0.1) annotation(Placement(visible = true, transformation(origin={-48.8756, -78.2609}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter6(constValue = 2) annotation(Placement(visible = true, transformation(origin={46.2759, -78.4618}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter2(constValue = 0.1) annotation(Placement(visible = true, transformation(origin={37.5832, 41.6792}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter3(constValue = 0.01) annotation(Placement(visible = true, transformation(origin = {-25.1874,15.8921}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.Mult3Converter mult3converter1 annotation(Placement(visible = true, transformation(origin = {22.1889,15.8921}, extent = {{12,-12},{-12,12}}, rotation = -90))); SystemDynamics.Reservoirs.CloudSource cloudsource2 annotation(Placement(visible = true, transformation(origin={-77.1988, -42.0749}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSource cloudsource1 annotation(Placement(visible = true, transformation(origin={-78.0807, 73.1055}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin={71.9769, 73.1055}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSink cloudsink2 annotation(Placement(visible = true, transformation(origin = {74.0634,-41.4986}, extent = {{-10,-10},{10,10}}, rotation = 0))); equation connect(mult2subdiv2flow1.outflow,cloudsink2.inflow) annotation(Line(points={{51.2816, -41.3793},{64.0634,-41.3793},{64.0634,-41.4986},{63.0634,-41.4986}})); connect(mult2addflow1.outflow,cloudsink1.inflow) annotation(Line(points={{51.981, 73.1055},{60.9769,73.1055}})); connect(cloudsource2.outflow,mult2flow2.inflow) annotation(Line(points={{ -66.1988,-42.0749},{-54.755,-42.0749},{-54.755,-41.979},{-56.9787, -41.979}})); connect(mult3converter1.in3, Prey.out2) annotation (Line(points = {{10.1889, 25.4921}, {-3.26895, 25.4921}, {-3.26895, 63.5055}})); connect(mult3converter1.in1, Predator.out1) annotation (Line(points={{ 10.1889,6.2921},{10.1889,5.997},{-2.9985,5.997},{-2.9985,-32.0792}, {-3.29835,-32.0792}})); connect(constantconverter3.out,mult3converter1.in2) annotation(Line(points={{ -11.9874,15.8921},{-11.9874,15.8921},{10.1889,15.8921},{10.1889, 15.8921}})); connect(mult2subdiv2flow1.in3,mult3converter1.out1) annotation(Line(points={{39.2816, -54.5793},{39.2816,-61.6702},{56,-61.6702},{56,16},{34.4828,16},{ 34.4828,15.8921},{35.3889,15.8921}})); connect(constantconverter6.out,mult2subdiv2flow1.in4) annotation(Line(points={{46.2759, -65.2618},{46.2759,-58},{44.0816,-58},{44.0816,-54.5793}})); connect(Predator.out2, mult2flow2.in2) annotation (Line(points={{-3.29835, -51.2792},{-3.29835,-62.9685},{-36.5817,-62.9685},{-36.5817,-55.179}, {-36.5787,-55.179}})); connect(mult2subdiv2flow1.in1, Predator.out2) annotation (Line(points={{ 29.6816,-54.5793},{29.6816,-62.6687},{-3.29835,-62.6687},{-3.29835, -51.2792},{-3.29835,-51.2792}})); connect(mult2addflow1.in1, Prey.out2) annotation (Line(points = {{32.781, 59.9055}, {32.781, 55.7721}, {-3.26895, 55.7721}, {-3.26895, 63.5055}})); connect(Prey.out2, mult2flow1.in2) annotation (Line(points={{-3.26895, 63.5055},{-3.26895,55.7721},{-36.8816,55.7721},{-36.8816,59.9055}, {-37.0906,59.9055}})); connect(constantconverter1.out,mult2flow1.in1) annotation(Line(points={{ -48.8756,55.5778},{-48.8756,62.069},{-48.8506,62.069},{-48.8506, 59.9055}})); connect(Predator.inflow, mult2flow2.outflow) annotation (Line(points={{ -17.6983,-41.6792},{-29.985,-41.6792},{-29.985,-41.979},{-28.1787, -41.979}})); connect(mult2subdiv2flow1.inflow, Predator.outflow) annotation (Line( points={{22.4816,-41.3793},{8.9955,-41.3793},{8.9955,-41.6792},{ 11.1016,-41.6792}})); connect(constantconverter5.out, mult2subdiv2flow1.in2) annotation (Line( points={{33.2834,-65.2618},{33.2834,-57.6309},{34.4816,-57.6309},{ 34.4816,-54.5793}}, color={0,0,127})); connect(constantconverter4.out, mult2flow2.in1) annotation (Line(points={ {-48.8756,-65.0609},{-48.8756,-61.12},{-48.3387,-61.12},{-48.3387, -55.179}}, color={0,0,127})); connect(cloudsource1.outflow, mult2flow1.inflow) annotation (Line(points= {{-67.0807,73.1055},{-57.4906,73.1055}}, color={0,0,0})); connect(mult2flow1.outflow, Prey.inflow) annotation (Line(points={{ -28.6906,73.1055},{-17.6689,73.1055}}, color={0,0,0})); connect(Prey.outflow, mult2addflow1.inflow) annotation (Line(points={{ 11.131,73.1055},{23.181,73.1055}}, color={0,0,0})); connect(constantconverter2.out, mult2addflow1.in2) annotation (Line( points={{37.5832,54.8792},{37.5832,57.3924},{37.581,57.3924},{ 37.581,59.9055}}, color={0,0,127})); connect(mult2addflow1.in3, mult3converter1.out1) annotation (Line(points= {{42.381,59.9055},{42.381,54},{56,54},{56,16},{34.4828,16},{ 34.4828,15.8921},{35.3889,15.8921}}, color={0,0,127})); annotation(experiment(StartTime = 0.0, StopTime = 250, Tolerance = 1e-06), __Dymola_Commands(file="plotRaeuberbeute.mos" "plotRaeuberbeute")); end PredatorPrey1; model PredatorPrey2A SystemDynamics.Reservoirs.Stock Prey(m0=50) annotation (Placement(visible =true, transformation( origin={-3.26895,73.10550000000001}, extent={{-12,-12},{12,12}}, rotation=0))); SystemDynamics.Flows.Mult2Flow mult2flow1 annotation(Placement(visible = true, transformation(origin={-41.0906, 73.1055}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Mult2AddFlow mult2addflow1 annotation(Placement(visible = true, transformation(origin={37.581, 73.1055}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Mult2SubDiv2Flow mult2subdiv2flow1 annotation(Placement(visible = true, transformation(origin = {36.8816,-41.3793}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.Stock Predator(m0=20) annotation (Placement( visible=true, transformation( origin={-3.29835,-41.6792}, extent={{-12,-12},{12,12}}, rotation=0))); SystemDynamics.Flows.Mult2Flow mult2flow2 annotation(Placement(visible = true, transformation(origin = {-42.5787,-41.979}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 0.2) annotation(Placement(visible = true, transformation(origin={-46.8756, 42.3778}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter5(constValue = 0.2) annotation(Placement(visible = true, transformation(origin = {33.2834,-76.4618}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter4(constValue = 0.1) annotation(Placement(visible = true, transformation(origin = {-48.8756,-78.26090000000001}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter6(constValue = 2) annotation(Placement(visible = true, transformation(origin = {48.2759,-76.4618}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter2(constValue = 0.1) annotation(Placement(visible = true, transformation(origin={37.5832, 41.6792}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter3(constValue = 0.01) annotation(Placement(visible = true, transformation(origin = {-45.8771,9.5952}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.Mult2Converter faengeProRaeuber annotation(Placement(visible = true, transformation(origin = {-11.994,16.7916}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.Mult2Converter mult2converter2 annotation(Placement(visible = true, transformation(origin = {19.7901,9.5952}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Reservoirs.CloudSource cloudsource3 annotation(Placement(visible = true, transformation(origin={-75.2161, 73.1055}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSource cloudsource1 annotation(Placement(visible = true, transformation(origin={-75.487, -41.7867}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin={73.4179, 73.1055}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSink cloudsink2 annotation(Placement(visible = true, transformation(origin = {72.3343,-41.4986}, extent = {{-10,-10},{10,10}}, rotation = 0))); equation connect(mult2subdiv2flow1.outflow,cloudsink2.inflow) annotation(Line(points={{51.2816, -41.3793},{62.3343,-41.3793},{62.3343,-41.4986},{61.3343,-41.4986}})); connect(mult2addflow1.outflow,cloudsink1.inflow) annotation(Line(points={{51.981, 73.1055},{62.4179,73.1055}})); connect(cloudsource1.outflow,mult2flow2.inflow) annotation(Line(points={{-64.487, -41.7867},{-54.4669,-41.7867},{-54.4669,-41.979},{-56.9787, -41.979}})); connect(cloudsource3.outflow,mult2flow1.inflow) annotation(Line(points={{ -64.2161,73.1055},{-55.4906,73.1055}})); connect(mult2subdiv2flow1.in3,mult2converter2.out1) annotation(Line(points={{39.2816, -54.5793},{39.2816,-60},{56,-60},{56,9.29535},{31.7841,9.29535},{ 31.7841,9.5952},{32.9901,9.5952}})); connect(faengeProRaeuber.out1,mult2converter2.in1) annotation(Line(points={{1.206, 16.7916},{1.206,16.6415},{7.7901,16.6415},{7.7901,16.7952}})); connect(mult2converter2.in2, Predator.out1) annotation (Line(points={{ 7.7901,2.3952},{7.7901,2.42057},{-3.32829,2.42057},{-3.32829,-32.0792}, {-3.29835,-32.0792}})); connect(constantconverter3.out,faengeProRaeuber.in2) annotation(Line(points={{ -32.6771,9.5952},{-32.6771,9.98487},{-23.994,9.98487},{-23.994,9.5916}})); connect(constantconverter2.out,mult2addflow1.in2) annotation(Line(points={{37.5832, 54.8792},{37.5832,61.7691},{37.581,61.7691},{37.581,59.9055}})); connect(constantconverter6.out,mult2subdiv2flow1.in4) annotation(Line(points={{48.2759, -63.2618},{48.2759,-57.973},{44.0816,-57.973},{44.0816,-54.5793}})); connect(Predator.out2, mult2flow2.in2) annotation (Line(points={{-3.29835, -51.2792},{-3.29835,-62.9685},{-36.5817,-62.9685},{-36.5817,-55.179}, {-36.5787,-55.179}})); connect(mult2subdiv2flow1.in1, Predator.out2) annotation (Line(points={{ 29.6816,-54.5793},{29.6816,-62.6687},{-3.29835,-62.6687},{-3.29835, -51.2792},{-3.29835,-51.2792}})); connect(constantconverter4.out,mult2flow2.in1) annotation(Line(points={{ -48.8756,-65.0609},{-48.8756,-54.2729},{-48.3387,-54.2729},{ -48.3387,-55.179}})); connect(constantconverter1.out,mult2flow1.in1) annotation(Line(points={{ -46.8756,55.5778},{-46.8756,62.069},{-46.8506,62.069},{-46.8506, 59.9055}})); connect(Predator.inflow, mult2flow2.outflow) annotation (Line(points={{ -17.6983,-41.6792},{-29.985,-41.6792},{-29.985,-41.979},{-28.1787, -41.979}})); connect(mult2subdiv2flow1.inflow, Predator.outflow) annotation (Line( points={{22.4816,-41.3793},{8.9955,-41.3793},{8.9955,-41.6792},{ 11.1016,-41.6792}})); connect(mult2addflow1.inflow, Prey.outflow) annotation (Line(points={{23.181,73.1055},{11.131,73.1055}})); connect(constantconverter5.out, mult2subdiv2flow1.in2) annotation (Line( points={{33.2834,-63.2618},{33.2834,-59.6309},{34.4816,-59.6309},{ 34.4816,-54.5793}}, color={0,0,127})); connect(mult2flow1.in2, faengeProRaeuber.in1) annotation (Line(points={{ -35.0906,59.9055},{-35.0906,23.9916},{-23.994,23.9916}}, color={0, 0,127})); connect(Prey.out2, faengeProRaeuber.in1) annotation (Line(points={{-3.26895, 63.5055},{-3.26895,54},{-35.0906,54},{-35.0906,23.9916},{-23.994, 23.9916}}, color={0,0,127})); connect(mult2addflow1.in1, faengeProRaeuber.in1) annotation (Line(points= {{32.781,59.9055},{32.781,54},{-35.0906,54},{-35.0906,23.9916},{ -23.994,23.9916}}, color={0,0,127})); connect(mult2flow1.outflow, Prey.inflow) annotation (Line(points={{ -26.6906,73.1055},{-17.6689,73.1055}}, color={0,0,0})); connect(mult2addflow1.in3, mult2converter2.out1) annotation (Line(points= {{42.381,59.9055},{42.381,52},{56,52},{56,9.29535},{31.7841, 9.29535},{31.7841,9.5952},{32.9901,9.5952}}, color={0,0,127})); annotation(experiment( StopTime=1000, __Dymola_NumberOfIntervals=5000, Tolerance=1e-06, __Dymola_Algorithm="Dassl"), __Dymola_Commands(file= "plotRaeuberbeute.mos")); end PredatorPrey2A; model PredatorPrey2B SystemDynamics.Flows.Mult2Flow mult2flow1 annotation(Placement(visible = true, transformation(origin = {-43.0906,73.997}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Mult2AddFlow mult2addflow1 annotation(Placement(visible = true, transformation(origin = {33.581,73.6999}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Mult2SubDiv2Flow mult2subdiv2flow1 annotation(Placement(visible = true, transformation(origin = {36.8816,-41.3793}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.Stock Predator(m0=20) annotation (Placement( visible=true, transformation( origin={-3.29835,-41.6792}, extent={{-12,-12},{12,12}}, rotation=0))); SystemDynamics.Flows.Mult2Flow mult2flow2 annotation(Placement(visible = true, transformation(origin = {-42.5787,-41.979}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter1(constValue = 0.2) annotation(Placement(visible = true, transformation(origin = {-48.8756,44.3778}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter5(constValue = 0.2) annotation(Placement(visible = true, transformation(origin = {33.2834,-76.4618}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter4(constValue = 0.1) annotation(Placement(visible = true, transformation(origin = {-48.8756,-78.2609}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter6(constValue = 2) annotation(Placement(visible = true, transformation(origin = {48.2759,-76.4618}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter constantconverter2(constValue = 0.1) annotation(Placement(visible = true, transformation(origin = {33.5832,41.6792}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.Stock Prey(m0= 500) annotation (Placement( visible=true, transformation( origin={-3.26895,74.2942}, extent={{-12,-12},{12,12}}, rotation=0))); SystemDynamics.Converters.ConstantConverter constantconverter3(constValue = 0.01) annotation(Placement(visible = true, transformation(origin = {-45.8771,9.89505}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.Mult2GraphConverter faengeProRaeuber(table= Resources.PredatorPrey.cpp) annotation(Placement(visible = true, transformation(origin = {-11.6914,17.0915}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Converters.Mult2Converter mult2converter2 annotation(Placement(visible = true, transformation(origin = {19.7901,9.5952}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Reservoirs.CloudSource cloudsource1 annotation(Placement(visible = true, transformation(origin = {-75.7925,-42.0749}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSource cloudsource3 annotation(Placement(visible = true, transformation(origin = {-78.098,73.7752}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSink cloudsink2 annotation(Placement(visible = true, transformation(origin = {74.0634,-41.4986}, extent = {{-10,-10},{10,10}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin = {67.7233,73.7752}, extent = {{-10,-10},{10,10}}, rotation = 0))); equation connect(mult2addflow1.outflow,cloudsink1.inflow) annotation(Line(points={{47.981, 73.6999},{58.5014,73.6999},{56.7233,73.6999},{56.7233,73.7752}})); connect(mult2subdiv2flow1.outflow,cloudsink2.inflow) annotation(Line(points={{51.2816, -41.3793},{64.0634,-41.3793},{64.0634,-41.4986},{63.0634,-41.4986}})); connect(cloudsource3.outflow,mult2flow1.inflow) annotation(Line(points={{-67.098, 73.7752},{-55.0432,73.7752},{-55.0432,73.997},{-57.4906,73.997}})); connect(cloudsource1.outflow,mult2flow2.inflow) annotation(Line(points={{ -64.7925,-42.0749},{-54.755,-42.0749},{-54.755,-41.979},{-56.9787, -41.979}})); connect(mult2converter2.out1,mult2addflow1.in3) annotation(Line(points={{32.9901, 9.5952},{32.9901,9.29535},{54.5727,9.29535},{54.5727,52.4738},{40, 52.4738},{40,60.4999},{38.381,60.4999}})); connect(mult2subdiv2flow1.in3,mult2converter2.out1) annotation(Line(points={{39.2816, -54.5793},{39.2816,-60.8696},{54.5728,-60.8696},{54.5728,9.29535}, {31.7841,9.29535},{31.7841,9.5952},{32.9901,9.5952}})); connect(faengeProRaeuber.out1,mult2converter2.in1) annotation(Line(points={{1.5086, 17.0915},{1.5086,16.944},{7.7901,16.944},{7.7901,16.7952}})); connect(Predator.out1, mult2converter2.in2) annotation (Line(points={{-3.29835, -32.0792},{-3.29835,2.42057},{7.7901,2.42057},{7.7901,2.3952}})); connect(constantconverter3.out,faengeProRaeuber.in2) annotation(Line(points={{ -32.6771,9.89505},{-32.6771,9.98487},{-23.6914,9.98487},{-23.6914, 9.8915}})); connect(faengeProRaeuber.in1, Prey.out2) annotation (Line(points={{-23.6914, 24.2915},{-23.6914,24.2057},{-36.9138,24.2057},{-36.9138,55.6732}, {-3.32829,55.6732},{-3.32829,64.6942},{-3.26895,64.6942}})); connect(mult2flow1.outflow, Prey.inflow) annotation (Line(points={{ -28.6906,73.997},{-14.6927,73.997},{-14.6927,74.2942},{-17.6689, 74.2942}})); connect(mult2addflow1.inflow, Prey.outflow) annotation (Line(points={{ 19.181,73.6999},{9.29535,73.6999},{9.29535,74.2942},{11.131, 74.2942}})); connect(Prey.out2, mult2flow1.in2) annotation (Line(points={{-3.26895, 64.6942},{-3.26895,55.7721},{-36.8816,55.7721},{-36.8816,60.797}, {-37.0906,60.797}})); connect(mult2addflow1.in1, Prey.out2) annotation (Line(points={{28.781, 60.4999},{28.781,55.7721},{-3.29052,55.7721},{-3.29052,64.6942},{ -3.26895,64.6942}})); connect(constantconverter2.out,mult2addflow1.in2) annotation(Line(points={{33.5832, 54.8792},{33.5832,61.7691},{33.581,61.7691},{33.581,60.4999}})); connect(constantconverter6.out,mult2subdiv2flow1.in4) annotation(Line(points={{48.2759, -63.2618},{48.2759,-60},{48,-60},{48,-58},{44.0816,-58},{44.0816, -54.5793}})); connect(Predator.out2, mult2flow2.in2) annotation (Line(points={{-3.29835, -51.2792},{-3.29835,-62.9685},{-36.5817,-62.9685},{-36.5817,-55.179}, {-36.5787,-55.179}})); connect(mult2subdiv2flow1.in1, Predator.out2) annotation (Line(points={{ 29.6816,-54.5793},{29.6816,-62.6687},{-3.29835,-62.6687},{-3.29835, -51.2792},{-3.29835,-51.2792}})); connect(constantconverter4.out,mult2flow2.in1) annotation(Line(points={{ -48.8756,-65.0609},{-48.8756,-54.2729},{-48.3387,-54.2729},{ -48.3387,-55.179}})); connect(constantconverter1.out,mult2flow1.in1) annotation(Line(points={{ -48.8756,57.5778},{-48.8756,62.069},{-48.8506,62.069},{-48.8506, 60.797}})); connect(Predator.inflow, mult2flow2.outflow) annotation (Line(points={{ -17.6983,-41.6792},{-29.985,-41.6792},{-29.985,-41.979},{-28.1787, -41.979}})); connect(mult2subdiv2flow1.inflow, Predator.outflow) annotation (Line( points={{22.4816,-41.3793},{8.9955,-41.3793},{8.9955,-41.6792},{ 11.1016,-41.6792}})); connect(constantconverter5.out, mult2subdiv2flow1.in2) annotation (Line( points={{33.2834,-63.2618},{33.2834,-59.6309},{34.4816,-59.6309},{ 34.4816,-54.5793}}, color={0,0,127})); annotation(experiment( StopTime=1000, __Dymola_NumberOfIntervals=5000, Tolerance=1e-10, __Dymola_Algorithm="Dassl"), __Dymola_Commands(file= "plotRaeuberbeute.mos" "plotRaeuberbeute")); end PredatorPrey2B; model World2A import SystemDynamics.*; Reservoirs.Stock P(m0=1.65*(10^9)) annotation(Placement(transformation(origin={154.0,281.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Reservoirs.Stock NR(m0=9.0*(10^11)) annotation(Placement(transformation(origin={164.0,-176.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=90))); Reservoirs.Stock POL(m0=2.0*(10^8)) annotation(Placement(transformation(origin={813.0,87.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Reservoirs.Stock CIAF(m0=0.2) annotation(Placement(transformation(origin={588,-247}, extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Reservoirs.Stock CI(m0=4.0*(10^8)) annotation(Placement(transformation(origin={370.0,-63.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Flows.Mult6Flow BR annotation(Placement(transformation(origin={154.0,348.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Flows.Mult6Flow DR annotation(Placement(transformation(origin={154.0,222.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Reservoirs.CloudSink CS1 annotation(Placement(transformation(origin={154.0,164.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Reservoirs.CloudSource CS2 annotation(Placement(transformation(origin={154.0,429.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Flows.Mult3Flow POLG annotation(Placement(transformation(origin={813.0,147.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Reservoirs.CloudSource CS3 annotation(Placement(transformation(origin={813.0,203.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Flows.Div2Flow POLA annotation(Placement(transformation(origin={813.0,24.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Reservoirs.CloudSink CS4 annotation(Placement(transformation(origin={813.0,-34.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Flows.Mult3Flow NRUR annotation(Placement(transformation(origin={164.0,-117.0},extent={{-20.0,20.0},{20.0,-20.0}},rotation=90))); Reservoirs.CloudSink CS5 annotation(Placement(transformation(origin={164.0,-62.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=90))); Flows.Mult3Flow CIG annotation(Placement(transformation(origin={370.0,-6.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Flows.Mult2Flow CID annotation(Placement(transformation(origin={370.0,-127.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Reservoirs.CloudSource CS6 annotation(Placement(transformation(origin={370.0,52.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Reservoirs.CloudSink CS7 annotation(Placement(transformation(origin={370.0,-186.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Flows.Div2Flow CIAFD annotation(Placement(transformation(origin={646.0,-247.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Reservoirs.CloudSink CS8 annotation(Placement(transformation(origin={704.0,-247.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Flows.Mult2DivFlow CIAFG annotation(Placement(transformation(origin={526.0,-247.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Reservoirs.CloudSource CS9 annotation(Placement(transformation(origin={468.0,-247.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Converters.GraphConverter BRMM(table = Resources.World2.brmm) annotation(Placement(transformation(origin={24.0,312.6666564941406},extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Converters.GraphConverter BRFM(table = Resources.World2.brfm) annotation(Placement(transformation(origin={231.0,404.6666564941406},extent={{-20.0,-20.0},{20.0,20.0}},rotation=90))); Converters.GraphConverter BRPM(table = Resources.World2.brpm) annotation(Placement(transformation(origin={289.0,365.6666564941406},extent={{-20.0,-20.0},{20.0,20.0}},rotation=90))); Converters.GraphConverter BRCM(table = Resources.World2.brcm) annotation(Placement(transformation(origin={247.0,323.6666564941406},extent={{-20.0,-20.0},{20.0,20.0}},rotation=90))); Converters.GraphConverter DRMM(table = Resources.World2.drmm) annotation(Placement(transformation(origin={102.0,134.66665649414062},extent={{20.0,-20.0},{-20.0,20.0}},rotation=0))); Converters.GraphConverter DRCM(table = Resources.World2.drcm) annotation(Placement(transformation(origin={279.0,224.66665649414062},extent={{-20.0,-20.0},{20.0,20.0}},rotation=90))); Converters.GraphConverter DRFM(table = Resources.World2.drfm) annotation(Placement(transformation(origin={284.0,171.66665649414062},extent={{-20.0,-20.0},{20.0,20.0}},rotation=90))); Converters.GraphConverter DRPM(table = Resources.World2.drpm) annotation(Placement(transformation(origin={313.0,135.66665649414062},extent={{-20.0,-20.0},{20.0,20.0}},rotation=90))); Converters.GraphConverter CIM(table = Resources.World2.cim) annotation(Placement(transformation(origin={240, -6.33337}, extent={{20.000015258789062,-19.99999237060547},{-20.000015258789062,19.99999237060547}},rotation=-90))); Converters.GraphConverter NRMM(table = Resources.World2.nrmm) annotation(Placement(transformation(origin={119.0,-195.3333740234375},extent={{20.0,-20.0},{-20.0,20.0}},rotation=0))); Converters.GraphConverter POLCM(table = Resources.World2.polcm) annotation(Placement(transformation(origin={734.0,119.66665649414062},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Converters.GraphConverter POLAT(table = Resources.World2.polat) annotation(Placement(transformation(origin={827.0,-94.3333740234375},extent={{-20.0,-20.0},{20.0,20.0}},rotation=90))); Converters.Mult2GraphConverter CIQR(table = Resources.World2.ciqr) annotation(Placement(transformation(origin={699.0,-363.3333740234375},extent={{-20.0,20.0},{20.0,-20.0}},rotation=-90))); Converters.GraphConverter CFIFR(table = Resources.World2.cfifr) annotation(Placement(transformation(origin={621.0,-397.3333740234375},extent={{20.0,20.0},{-20.0,-20.0}},rotation=-90))); Converters.GraphConverter NREM(table = Resources.World2.nrem) annotation(Placement(transformation(origin={361.00001525878906,-253.3333740234375},extent={{20.000015258789062,-20.0},{-20.000015258789062,20.0}},rotation=-90))); Converters.GraphConverter FCM(table = Resources.World2.fcm) annotation(Placement(transformation(origin={626.0,305.6666564941406},extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Converters.GraphConverter FPCI(table = Resources.World2.fpci) annotation(Placement(transformation(origin={723, 305.667}, extent={{20.0,-20.0},{-20.0,20.0}},rotation=0))); Converters.GraphConverter FPM(table = Resources.World2.fpm) annotation(Placement(transformation(origin={808, 305.667}, extent={{20.0,-20.0},{-20.0,20.0}},rotation=0))); Converters.GraphConverter QLP(table = Resources.World2.qlp) annotation(Placement(transformation(origin={867.0,-195.3333740234375},extent={{-20.0,-20.0},{20.0,20.0}},rotation=90))); Converters.GraphConverter QLC(table = Resources.World2.qlc) annotation(Placement(transformation(origin={662.0,-160.3333740234375},extent={{-20.0,20.0},{20.0,-20.0}},rotation=90))); Converters.GraphConverter QLF(table = Resources.World2.qlf) annotation(Placement(transformation(origin={873, -375.333}, extent={{-20.0,-20.0},{20.0,20.0}},rotation=90))); Converters.GraphConverter QLM(table = Resources.World2.qlm) annotation(Placement(transformation(origin={775.0,-329.3333740234375},extent={{-20.0,20.0},{20.0,-20.0}},rotation=180))); Converters.ConstantConverter DRN(constValue=0.28e-1) annotation(Placement(transformation(origin={74.0,222.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Converters.ConstantConverter NRUN(constValue=1.0) annotation(Placement(transformation(origin={80.0,-117.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Converters.ConstantConverter NRI(constValue=9.0*(10^11)) annotation(Placement(transformation(origin={203.0,-265.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Converters.Div2Converter NRFR annotation(Placement(transformation(origin={277.0,-253.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Converters.ConstantConverter CIGN(constValue=0.5e-1) annotation(Placement(transformation(origin={293.0,-21.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Converters.ConstantConverter CIDN(constValue=0.25e-1) annotation(Placement(transformation(origin={303.0,-137.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Converters.ConstantConverter LA(constValue=1.35*(10^8)) annotation(Placement(transformation(origin={346.0,341.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-180))); Converters.ConstantConverter PDN(constValue=26.5) annotation(Placement(transformation(origin={348.0,213.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Converters.MultPower3Converter CR(k1=-1, k2=1, k3=-1) annotation(Placement(transformation(origin={390.0,281.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Converters.Div2Converter MSL annotation(Placement(transformation(origin={381.0,-308.0},extent={{20.0,-20.0},{-20.0,20.0}},rotation=90))); Converters.ConstantConverter ECIRN(constValue=1.0) annotation(Placement(transformation(origin={444.0,-320.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=90))); Converters.Div2Converter CIR annotation(Placement(transformation(origin={470.0,-41.0},extent={{20.0,-20.0},{-20.0,20.0}},rotation=-90))); Converters.ConstantConverter CIAFT(constValue=15) annotation(Placement(transformation(origin={593,-328}, extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Converters.ConstantConverter QLS(constValue=1.0) annotation(Placement(transformation(origin={821.0,-246.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Converters.Mult5Converter QL annotation(Placement(transformation(origin={784.0,-158.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Converters.ConstantConverter CIAFN(constValue=0.3) annotation(Placement(transformation(origin={556.0,-87.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-180))); Converters.MultPower3Converter CIRA(k1=1, k2=-1, k3=1) annotation(Placement(transformation(origin={584.0,29.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Converters.ConstantConverter FN(constValue=1.0) annotation(Placement(transformation(origin={676, 305.667}, extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Converters.ConstantConverter FC(constValue=1.0) annotation(Placement(transformation(origin={771, 305.667}, extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Converters.ConstantConverter POLN(constValue=1.0) annotation(Placement(transformation(origin={745.0,177.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); Converters.Mult5Converter FR annotation(Placement(transformation(origin={723.0,372.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=0))); Converters.ConstantConverter POLS(constValue=3.6*(10^9)) annotation(Placement(transformation(origin={845.0,63.0},extent={{-20.0,20.0},{20.0,-20.0}},rotation=-270))); Converters.Div2Converter POLR annotation(Placement(transformation(origin={893.0,75.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); SystemDynamicsExamples.AuxComponents.ECIRConverter ECIRC1 annotation(Placement(transformation(origin={548.0,-163.0},extent={{-20.0,-20.0},{20.0,20.0}},rotation=-90))); SystemDynamics.Converters.ConstantConverter BRN(constValue=0.04) annotation(Placement(transformation(origin={60,413}, extent={{-20.0,-20.0},{20.0,20.0}},rotation=-180))); equation connect(CS2.outflow, BR.inflow) annotation (Line(points={{154,407},{154,372}}, color={0,0,0})); connect(BR.outflow, P.inflow) annotation (Line(points={{154,324},{154,305}}, color={0,0,0})); connect(P.outflow, DR.inflow) annotation (Line(points={{154,257},{154,246}}, color={0,0,0})); connect(DR.outflow, CS1.inflow) annotation (Line(points={{154,198},{154,186}}, color={0,0,0})); connect(NR.outflow, NRUR.inflow) annotation (Line(points={{164,-152},{164,-141}}, color={0,0,0})); connect(NRUR.outflow, CS5.inflow) annotation (Line(points={{164,-93},{164,-84}}, color={0,0,0})); connect(CS6.outflow, CIG.inflow) annotation (Line(points={{370,30},{370,18}}, color={0,0,0})); connect(CIG.outflow, CI.inflow) annotation (Line(points={{370,-30},{370,-39}}, color={0,0,0})); connect(CI.outflow, CID.inflow) annotation (Line(points={{370,-87},{370,-103}}, color={0,0,0})); connect(CID.outflow, CS7.inflow) annotation (Line(points={{370,-151},{370,-164}}, color={0,0,0})); connect(CS9.outflow, CIAFG.inflow) annotation (Line(points={{490,-247},{502,-247}}, color={0,0,0})); connect(CIAFG.outflow, CIAF.inflow) annotation (Line(points={{550,-247},{564,-247}}, color={0,0,0})); connect(CIAF.outflow, CIAFD.inflow) annotation (Line(points={{612,-247},{622,-247}}, color={0,0,0})); connect(CIAFD.outflow, CS8.inflow) annotation (Line(points={{670,-247},{676, -247},{676,-247},{682,-247}}, color={0,0,0})); connect(CS3.outflow, POLG.inflow) annotation (Line(points={{813,181},{813,171}}, color={0,0,0})); connect(POLG.outflow, POL.inflow) annotation (Line(points={{813,123},{813,111}}, color={0,0,0})); connect(POL.outflow, POLA.inflow) annotation (Line(points={{813,63},{813,48}}, color={0,0,0})); connect(POLA.outflow, CS4.inflow) annotation (Line(points={{813,-7.10543e-15},{813,-12}}, color={0,0,0})); connect(BRMM.out1, BR.in2) annotation (Line(points={{24,334.667},{24,348}, {132,348}},color={0,0,127})); connect(BRN.out, BR.in1) annotation (Line(points={{60,391},{60,360},{132,360}}, color={0,0,127})); connect(BRFM.out1, BR.in4) annotation (Line(points={{209,404.667},{190, 404.667},{190,360},{174,360}}, color={0,0,127})); connect(BRPM.out1, BR.in5) annotation (Line(points={{267,365.667},{268, 365.667},{268,366},{218,366},{218,348},{174,348}}, color={0,0,127})); connect(BRCM.out1, BR.in6) annotation (Line(points={{225,323.667},{225, 324},{194,324},{194,336},{174,336}}, color={0,0,127})); connect(P.out1, CR.in2) annotation (Line(points={{170,281},{370,281}}, color={0,0,127})); connect(DRN.out, DR.in2) annotation (Line(points={{96,222},{132,222}}, color={0,0,127})); connect(DRMM.out1, DR.in3) annotation (Line(points={{102,156.667},{102, 210},{132,210}}, color={0,0,127})); connect(DRCM.out1, DR.in4) annotation (Line(points={{257,224.667},{244, 224.667},{244,234},{174,234}}, color={0,0,127})); connect(DRFM.out1, DR.in5) annotation (Line(points={{262,171.667},{234, 171.667},{234,222},{174,222}}, color={0,0,127})); connect(DRPM.out1, DR.in6) annotation (Line(points={{291,135.667},{218, 135.667},{218,210},{174,210}}, color={0,0,127})); connect(LA.out, CR.in1) annotation (Line(points={{346,319},{346,297},{370,297}}, color={0,0,127})); connect(PDN.out, CR.in3) annotation (Line(points={{348,235},{348,265},{370,265}}, color={0,0,127})); connect(FPCI.out1, FR.in3) annotation (Line(points={{723,327.667},{723,352}}, color={0,0,127})); connect(FN.out, FR.in2) annotation (Line(points={{676,327.667},{676,332},{714, 332},{714,352}}, color={0,0,127})); connect(FR.in1, FCM.out1) annotation (Line(points={{705,352},{705,340},{ 626,340},{626,327.667}}, color={0,0,127})); connect(FC.out, FR.in4) annotation (Line(points={{771,327.667},{770,327.667}, {770,330},{732,330},{732,352.2}}, color={0,0,127})); connect(FPM.out1, FR.in5) annotation (Line(points={{808,327.667},{808,338},{ 742,338},{742,352},{741,352}}, color={0,0,127})); connect(P.out2, BR.in3) annotation (Line(points={{138,281},{110,281},{110,336}, {132,336}}, color={0,0,127})); connect(DR.in1, BR.in3) annotation (Line(points={{132,234},{110,234},{110,336}, {132,336}}, color={0,0,127})); connect(NRMM.out1, NRUR.in1) annotation (Line(points={{119,-173.333},{119, -125},{142,-125}}, color={0,0,127})); connect(NRUN.out, NRUR.in2) annotation (Line(points={{102,-117},{142,-117}}, color={0,0,127})); connect(DR.in1, POLG.in2) annotation (Line(points={{132,234},{132,234.375},{ 110,234.375},{110,280},{48,280},{48,90},{540,90},{540,147},{791,147}}, color={0,0,127})); connect(POLN.out, POLG.in1) annotation (Line(points={{767,177},{778,177},{778, 155},{791,155}}, color={0,0,127})); connect(POLCM.out1, POLG.in3) annotation (Line(points={{756,119.667},{756, 120},{776,120},{776,139},{791,139}}, color={0,0,127})); connect(POL.out2, POLA.in1) annotation (Line(points={{797,87},{776,87},{776, 33.6},{791,33.6}}, color={0,0,127})); connect(POLAT.out1, POLA.in2) annotation (Line(points={{805,-94.3334},{ 776,-94.3334},{776,14},{791,14}}, color={0,0,127})); connect(POL.out1, POLR.in1) annotation (Line(points={{829,87},{830,87},{830, 87},{873,87}}, color={0,0,127})); connect(POLS.out, POLR.in2) annotation (Line(points={{867,63},{873,63}}, color={0,0,127})); connect(FR.out1, BRFM.in1) annotation (Line(points={{723,394},{722,394},{ 722,404.667},{253,404.667}}, color={0,0,127})); connect(CR.out1, BRCM.in1) annotation (Line(points={{412,281},{426,281},{ 426,250},{322,250},{322,323.667},{269,323.667}}, color={0,0,127})); connect(DRCM.in1, BRCM.in1) annotation (Line(points={{301,224.667},{322, 224.667},{322,323.667},{269,323.667}}, color={0,0,127})); connect(DRFM.in1, BRFM.in1) annotation (Line(points={{306,171.667},{448, 171.667},{448,404.667},{253,404.667}}, color={0,0,127})); connect(POLR.out1, FPM.in1) annotation (Line(points={{915,75},{936,75},{936, 252},{808,252},{808,283.667}}, color={0,0,127})); connect(FCM.in1, BRCM.in1) annotation (Line(points={{626,283.667},{626, 280},{426,280},{426,250},{322,250},{322,323.667},{269,323.667}}, color={0,0, 127})); connect(CIRA.out1, FPCI.in1) annotation (Line(points={{584,51},{584,214},{724, 214},{724,283.667},{723,283.667}}, color={0,0,127})); connect(DRPM.in1, FPM.in1) annotation (Line(points={{335,135.667},{464, 135.667},{464,252},{808,252},{808,283.667}}, color={0,0,127})); connect(BRPM.in1, FPM.in1) annotation (Line(points={{311,365.667},{464, 365.667},{464,252},{808,252},{808,283.667}}, color={0,0,127})); connect(CIM.out1, CIG.in2) annotation (Line(points={{262,-6.33337},{262,-6},{ 348,-6}}, color={0,0,127})); connect(CIGN.out, CIG.in3) annotation (Line(points={{315,-21},{332,-21},{332, -14},{348,-14}}, color={0,0,127})); connect(CIG.in1, POLG.in2) annotation (Line(points={{348,2},{290,2},{290,90}, {540,90},{540,147},{791,147}}, color={0,0,127})); connect(CIDN.out, CID.in2) annotation (Line(points={{325,-137},{348,-137}}, color={0,0,127})); connect(CI.out2, CID.in1) annotation (Line(points={{354,-63},{334,-63},{334, -117.4},{348,-117.4}}, color={0,0,127})); connect(CI.out1, CIR.in1) annotation (Line(points={{386,-63},{386,-64},{436, -64},{436,-53},{450,-53}}, color={0,0,127})); connect(CIR.in2, POLG.in2) annotation (Line(points={{450,-29},{434,-29},{434, 90},{540,90},{540,147},{791,147}}, color={0,0,127})); connect(NRFR.out1, NREM.in1) annotation (Line(points={{299,-253},{319, -253},{319,-253.333},{339,-253.333}}, color={0,0,127})); connect(NRI.out, NRFR.in2) annotation (Line(points={{225,-265},{257,-265}}, color={0,0,127})); connect(NR.out2, NRFR.in1) annotation (Line(points={{180,-176},{226,-176},{ 226,-241},{257,-241}}, color={0,0,127})); connect(NRUR.in3, POLG.in2) annotation (Line(points={{142,-109},{120,-109},{ 120,90},{540,90},{540,147},{791,147}}, color={0,0,127})); connect(ECIRN.out, MSL.in2) annotation (Line(points={{422,-320},{401,-320}}, color={0,0,127})); connect(MSL.out1, NRMM.in1) annotation (Line(points={{359,-308},{119,-308}, {119,-217.333}},color={0,0,127})); connect(BRMM.in1, NRMM.in1) annotation (Line(points={{24,290.667},{24, -308},{119,-308},{119,-217.333}}, color={0,0,127})); connect(DRMM.in1, NRMM.in1) annotation (Line(points={{102,112.667},{102, 64},{24,64},{24,-308},{119,-308},{119,-217.333}}, color={0,0,127})); connect(CIM.in1, NRMM.in1) annotation (Line(points={{218,-6.33337},{24, -6.33337},{24,-308},{119,-308},{119,-217.333}}, color={0,0,127})); connect(CFIFR.out1, CIAFG.in1) annotation (Line(points={{599,-397.333},{ 518,-397.333},{518,-269}}, color={0,0,127})); connect(CIQR.out1, CIAFG.in2) annotation (Line(points={{677,-363.333},{ 677,-364},{526,-364},{526,-269}}, color={0,0,127})); connect(CIAFT.out, CIAFG.in3) annotation (Line(points={{593,-306},{594,-306}, {594,-294},{534,-294},{534,-269}}, color={0,0,127})); connect(CIAFD.in2, CIAFG.in3) annotation (Line(points={{656,-269},{656,-294}, {534,-294},{534,-269}}, color={0,0,127})); connect(CIAF.out2, CIAFD.in1) annotation (Line(points={{588,-263},{588,-282}, {636.4,-282},{636.4,-269}}, color={0,0,127})); connect(CIAF.out1, CIRA.in3) annotation (Line(points={{588,-231},{588,-208},{ 600,-208},{600,9}}, color={0,0,127})); connect(CIAFN.out, CIRA.in2) annotation (Line(points={{556,-109},{556,-126},{ 584,-126},{584,9}}, color={0,0,127})); connect(ECIRC1.in1, CIRA.in2) annotation (Line(points={{528,-145},{510,-145}, {510,-126},{584,-126},{584,9}}, color={0,0,127})); connect(FCM.in1, QLC.in1) annotation (Line(points={{626,283.667},{626, -160.333},{640,-160.333}}, color={0,0,127})); connect(CIR.out1, POLCM.in1) annotation (Line(points={{492,-41},{660,-41}, {660,119.667},{712,119.667}},color={0,0,127})); connect(CIRA.in1, POLCM.in1) annotation (Line(points={{568,9},{568,-40},{ 566,-40},{566,-41},{660,-41},{660,119.667},{712,119.667}}, color={0,0,127})); connect(ECIRC1.in2, POLCM.in1) annotation (Line(points={{528,-157},{500, -157},{500,-41},{660,-41},{660,119.667},{712,119.667}}, color={0,0,127})); connect(NREM.out1, ECIRC1.in3) annotation (Line(points={{383,-253.333},{ 414,-253.333},{414,-169},{528,-169}}, color={0,0,127})); connect(CIAF.out1, ECIRC1.in4) annotation (Line(points={{588,-231},{588,-208}, {502,-208},{502,-181},{528,-181}}, color={0,0,127})); connect(ECIRC1.out1, MSL.in1) annotation (Line(points={{570,-163},{582,-163}, {582,-196},{432,-196},{432,-296},{401,-296}}, color={0,0,127})); connect(QLC.out1, QL.in1) annotation (Line(points={{684,-160.333},{718, -160.333},{718,-194},{766,-194},{766,-178}}, color={0,0,127})); connect(QLM.out1, QL.in2) annotation (Line(points={{775,-307.333},{775,-178}}, color={0,0,127})); connect(QLF.out1, CIQR.in2) annotation (Line(points={{851,-375.333},{786, -375.333},{786,-375.333},{719,-375.333}}, color={0,0,127})); connect(CIQR.in1, QL.in2) annotation (Line(points={{719,-351.333},{738, -351.333},{738,-292},{775,-292},{775,-178}}, color={0,0,127})); connect(QLM.in1, NRMM.in1) annotation (Line(points={{775,-351.333},{775, -420},{342,-420},{342,-308},{119,-308},{119,-217.333}}, color={0,0,127})); connect(QL.in3, CIQR.in2) annotation (Line(points={{784,-178},{784,-250}, {800,-250},{800,-375.333},{719,-375.333}}, color={0,0,127})); connect(QLS.out, QL.in4) annotation (Line(points={{821,-224},{822,-224},{822, -216},{793,-216},{793,-177.8}}, color={0,0,127})); connect(QLP.out1, QL.in5) annotation (Line(points={{845,-195.333},{802, -195.333},{802,-178}}, color={0,0,127})); connect(CFIFR.in1, BRFM.in1) annotation (Line(points={{643,-397.333},{960, -397.333},{960,404},{722,404},{722,404.667},{253,404.667}}, color={0, 0,127})); connect(QLF.in1, BRFM.in1) annotation (Line(points={{895,-375.333},{914, -375.333},{914,-397.333},{960,-397.333},{960,404},{722,404},{722, 404.667},{253,404.667}}, color={0,0,127})); connect(QLP.in1, FPM.in1) annotation (Line(points={{889,-195.333},{934, -195.333},{934,75},{936,75},{936,252},{808,252},{808,283.667}}, color= {0,0,127})); connect(POLAT.in1, FPM.in1) annotation (Line(points={{849,-94.3334},{934, -94.3334},{934,75},{936,75},{936,252},{808,252},{808,283.667}}, color= {0,0,127})); annotation ( Diagram(coordinateSystem(preserveAspectRatio=true, extent={{-40,-460}, {1000,500}})), Icon(coordinateSystem(preserveAspectRatio=true, extent={{-40,-460},{ 1000,500}})), experiment( StartTime = 0, StopTime = 200.0, Tolerance = 0.1000000000e-4), conversion(noneFromVersion=""), __Dymola_Commands(file="plotWorld2a.mos")); end World2A; model World2B SystemDynamicsExamples.AuxComponents.Population population annotation ( Placement(visible=true, transformation( origin={-62.4703,84.32299999999999}, extent={{-12,-12},{12,12}}, rotation=0))); SystemDynamicsExamples.AuxComponents.CapitalInvest capitalInvest annotation(Placement(visible = true, transformation(origin = {-62.7078,53.9192}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamicsExamples.AuxComponents.FoodRatio foodRatio annotation (Placement(visible=true, transformation( origin={54.6318,66.27079999999999}, extent={{-12,-12},{12,12}}, rotation=0))); SystemDynamicsExamples.AuxComponents.InvestAgrar investAgrar annotation(Placement(visible = true, transformation(origin = {0.23753,-40.9447}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamicsExamples.AuxComponents.Pollution pollution annotation ( Placement(visible=true, transformation( origin={55.8195,9.849270000000001}, extent={{-12,-12},{12,12}}, rotation=0))); SystemDynamicsExamples.AuxComponents.EffectiveCapInvestRatio effectiveCapInvestRatio annotation (Placement(visible=true, transformation( origin={-23.4141,-8.403169999999999}, extent={{-12,-12},{12,12}}, rotation=0))); SystemDynamicsExamples.AuxComponents.NatResources natResources annotation(Placement(visible = true, transformation(origin = {-66.1448,-7.06455}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamicsExamples.AuxComponents.QualityOfLife qualityOfLife annotation (Placement(visible=true, transformation( origin={55.6628,-40.9654}, extent={{-12.0605,-12.0605},{12.0605,12.0605}}, rotation=0))); equation connect(population.y, capitalInvest.u) annotation( Line(points = {{-75.0703, 88.283}, {-95.8775, 88.283}, {-95.8775, 62.4264}, {-75.1592, 62.4264}, {-75.1592, 62.3192}})); connect(foodRatio.y, qualityOfLife.realinput2) annotation( Line(points = {{54.6318, 78.9908}, {54.6525, 78.9908}, {54.6525, 92.3439}, {88.5748, 92.3439}, {88.5748, -44.7585}, {68.4469, -44.7585}, {68.4469, -44.9106}})); connect(population.realoutput1, foodRatio.u) annotation( Line(points = {{-53.8703, 80.363}, {20.0236, 80.363}, {20.0236, 45.7008}, {48.5277, 45.7008}, {48.5277, 53.5508}, {48.6318, 53.5508}})); connect(population.realoutput1, qualityOfLife.realinput3) annotation( Line(points = {{-53.8703, 80.363}, {20.0236, 80.363}, {20.0236, -36.7491}, {42.8787, -36.7491}, {42.8787, -36.9854}})); connect(capitalInvest.y, pollution.realinput1) annotation( Line(points = {{-50.5938, 55.1163}, {4.61095, 55.1163}, {4.61095, 5.76369}, {44.1615, 5.76369}, {44.1615, 5.57373}})); connect(capitalInvest.y, effectiveCapInvestRatio.u) annotation( Line(points = {{-50.5938, 55.1163}, {4.61095, 55.1163}, {4.61095, -4.32277}, {-10.6941, -4.32277}, {-10.6941, -4.44317}})); connect(qualityOfLife.realoutput1, investAgrar.realinput1) annotation( Line(points = {{43.8804, -47.5691}, {19.6228, -47.5691}, {19.6228, -62.466}, {4.41514, -62.466}, {4.41514, -54}, {4, -54}})); connect(effectiveCapInvestRatio.realoutput1, qualityOfLife.u) annotation( Line(points = {{-36.1341, -14.4032}, {-43.5159, -14.4032}, {-43.5159, -81.8444}, {55.6628, -81.8444}, {55.6628, -53.7495}, {55.6628, -53.7495}})); connect(pollution.y, qualityOfLife.realinput1) annotation( Line(points = {{67.8195, 10.4763}, {78.6744, 10.4763}, {78.6744, -36.5994}, {68.4469, -36.5994}, {68.4469, -36.9507}})); connect(pollution.y, foodRatio.realinput2) annotation( Line(points = {{67.8195, 10.4763}, {78.6744, 10.4763}, {78.6744, 44.3804}, {60.8069, 44.3804}, {60.8069, 53.5508}, {60.6318, 53.5508}})); connect(pollution.y, population.realinput2) annotation( Line(points = {{67.8195, 10.4763}, {78.6744, 10.4763}, {78.6744, 88.4726}, {-53.8703, 88.4726}, {-53.8703, 88.283}})); connect(foodRatio.realinput1, effectiveCapInvestRatio.y) annotation( Line(points = {{54.6318, 53.5508}, {54.755, 53.5508}, {54.755, 33.4294}, {-23.3429, 33.4294}, {-23.3429, 4.31683}, {-23.4141, 4.31683}})); connect(effectiveCapInvestRatio.realoutput1, natResources.realinput1) annotation( Line(points = {{-36.1341, -14.4032}, {-43.5159, -14.4032}, {-43.5159, -81.8444}, {-89.3372, -81.8444}, {-89.3372, -13.5447}, {-78.2304, -13.5447}, {-78.2304, -13.3923}})); connect(natResources.y, effectiveCapInvestRatio.realinput2) annotation( Line(points = {{-53.4534, -7.06455}, {-35.7349, -7.06455}, {-35.7349, -6.82996}, {-35.249, -6.82996}})); connect(natResources.u, population.y) annotation( Line(points = {{-78.0023, -1.27833}, {-95.9903, -1.27833}, {-95.9903, 88.4569}, {-75.0703, 88.4569}, {-75.0703, 88.283}})); connect(effectiveCapInvestRatio.realoutput1, capitalInvest.realinput1) annotation( Line(points = {{-36.1341, -14.4032}, {-43.5159, -14.4032}, {-43.5159, -81.8444}, {-89.3372, -81.8444}, {-89.3372, 55.9078}, {-74.8218, 55.9078}, {-74.8218, 55.6579}})); connect(investAgrar.y, effectiveCapInvestRatio.realinput1) annotation( Line(points = {{0, -28}, {0, -12.5786}, {-10.6941, -12.5786}, {-10.6941, -12.3632}})); connect(population.u, effectiveCapInvestRatio.realoutput1) annotation( Line(points = {{-75.0703, 80.363}, {-89.3082, 80.363}, {-89.3082, -81.8477}, {-43.525, -81.8477}, {-43.525, -14.4032}, {-36.1341, -14.4032}, {-36.1341, -14.4032}})); connect(foodRatio.y, investAgrar.u) annotation( Line(points = {{54.6318, 78.9908}, {54.6318, 92.4528}, {88.6792, 92.4528}, {88.6792, -74.7255}, {-3.77358, -74.7255}, {-3.77358, -54}, {-4, -54}})); connect(foodRatio.y, population.realinput1) annotation( Line(points = {{54.6318, 78.9908}, {54.6318, 92.4528}, {-53.8703, 92.4528}, {-53.8703, 92.243}})); connect(pollution.u, population.y) annotation( Line(points = {{44.019, 13.8113}, {-95.9119, 13.8113}, {-95.9119, 88.3648}, {-75.0703, 88.3648}, {-75.0703, 88.283}})); annotation(experiment(StartTime = 0.0, StopTime = 200.0, Tolerance = 1e-06), conversion(noneFromVersion=""), __Dymola_Commands(file="plotWorld2b.mos" "plotWorld2b")); end World2B; model TestConveyor SystemDynamics.Reservoirs.StockD stockd1(startTime = 0.1) annotation(Placement(visible = true, transformation(origin = {63.2375,49.6218}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Flow flow1 annotation(Placement(visible = true, transformation(origin = {-42.9652,49.9244}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.Mult2Converter mult2converter1 annotation(Placement(visible = true, transformation(origin = {-42.9652,19.6672}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.TimeSwitchedConverter timeswitchedconverter1(switchTime = 13, oldValue = 5, newValue = 0) annotation(Placement(visible = true, transformation(origin = {-30.2572,-12.708}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.TimeSwitchedConverter timeswitchedconverter2(switchTime = 2.5) annotation(Placement(visible = true, transformation(origin = {-56.5809,-12.4054}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSource cloudsource1 annotation(Placement(visible = true, transformation(origin={-78.9033, 49.4809}, extent = {{-10.8641,-10.8641},{10.8641,10.8641}}, rotation = 0))); SystemDynamics.Flows.ConstantFlow constantflow1 annotation(Placement(visible = true, transformation(origin = {29.6939,49.6164}, extent = {{-10.4233,-10.4233},{10.4233,10.4233}}, rotation = 0))); SystemDynamics.Reservoirs.Conveyor conveyor1(nDelay = 3, startTime = 0.1) annotation(Placement(visible = true, transformation(origin = {-6.68877,49.7928}, extent = {{-12.7406,-12.7406},{12.7406,12.7406}}, rotation = 0))); equation connect(conveyor1.outflow,constantflow1.inflow) annotation(Line(points={{8.59995, 49.7928},{18.5907,49.7928},{17.1859,49.7928},{17.1859,49.6164}})); connect(flow1.outflow,conveyor1.inflow) annotation(Line(points={{-28.5652, 49.9244},{-19.062,49.9244},{-21.9775,49.9244},{-21.9775,49.7928}})); connect(constantflow1.outflow,stockd1.inflow) annotation(Line(points={{42.2019, 49.6164},{51.7398,49.6164},{51.7398,49.6218},{48.8375,49.6218}})); connect(cloudsource1.outflow,flow1.inflow) annotation(Line(points={{ -66.9528,49.4809},{-54.7655,49.4809},{-54.7655,49.9244},{-57.3652, 49.9244}})); connect(timeswitchedconverter1.out,mult2converter1.in2) annotation(Line(points={{ -30.2572,0.492},{-30.2572,1.81543},{-35.7652,1.81543},{-35.7652, 7.6672}})); connect(timeswitchedconverter2.out,mult2converter1.in1) annotation(Line(points={{ -56.5809,0.7946},{-56.5809,3.02572},{-50.1652,3.02572},{-50.1652, 7.6672}})); connect(mult2converter1.out1,flow1.in1) annotation(Line(points={{-42.9652, 32.8672},{-42.9652,38.7292},{-42.9652,36.7244},{-42.9652,36.7244}})); annotation(experiment(StartTime = 0.0, StopTime = 20, Tolerance = 1e-06), __Dymola_Commands(file="plotTestConveyor.mos" "plotTestConveyor")); end TestConveyor; model TestOven SystemDynamics.Reservoirs.Oven oven1(startTime = 0.1) annotation(Placement(visible = true, transformation(origin = {-5.34918,50.2229}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Flows.Flow flow1 annotation(Placement(visible = true, transformation(origin = {-39.3343,50.2269}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.TimeSwitchedConverter timeswitchedconverter1(switchTime = 0.5, newValue = 2.0) annotation(Placement(visible = true, transformation(origin = {-39.3343,15.1286}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSource cloudsource1 annotation(Placement(visible = true, transformation(origin = {-72.92059999999999,50.3454}, extent = {{-9.99959,-9.99959},{9.99959,9.99959}}, rotation = 0))); SystemDynamics.Reservoirs.CloudSink cloudsink1 annotation(Placement(visible = true, transformation(origin = {68.2739,49.9176}, extent = {{-9.28359,-9.28359},{9.28359,9.28359}}, rotation = 0))); SystemDynamics.Flows.ConstantFlow constantflow1 annotation(Placement(visible = true, transformation(origin = {31.3364,50.063}, extent = {{-12.0227,-12.0227},{12.0227,12.0227}}, rotation = 0))); equation connect(oven1.outflow,constantflow1.inflow) annotation(Line(points={{9.05082, 50.2229},{9.05082,50.2229},{16.9092,50.2229},{16.9092,50.063}})); connect(cloudsink1.inflow,constantflow1.outflow) annotation(Line(points={{58.062, 49.9176},{58.062,49.9176},{45.7636,49.9176},{45.7636,50.063}})); connect(flow1.inflow,cloudsource1.outflow) annotation(Line(points={{ -53.7343,50.2269},{-61.7247,50.2269},{-61.9211,50.2269},{-61.9211, 50.3454}})); connect(timeswitchedconverter1.out,flow1.in1) annotation(Line(points={{ -39.3343,28.3286},{-39.3343,38.1241},{-39.3343,37.0269},{-39.3343, 37.0269}})); connect(flow1.outflow,oven1.inflow) annotation(Line(points={{-24.9343, 50.2269},{-16.944,50.2269},{-16.944,50.2269},{-19.7492,50.2269},{ -19.7492,50.2229}})); annotation(experiment(StartTime = 0.0, StopTime = 8.0, Tolerance = 1e-06), __Dymola_Commands(file="plotTestOven.mos" "plotTestOven")); end TestOven; model AssemblyLine SystemDynamics.Flows.Flow path1 annotation(Placement(visible = true, transformation(origin={-86.9777, 63.4829}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.Oven machine1(capacity = 4) annotation(Placement(visible = true, transformation(origin={32.0386, 63.4829}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.Conveyor conveyor12(nDelay = 2) annotation(Placement(visible = true, transformation(origin={108.068, 63.4829}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.Oven machine2(capacity = 2, cookingTime = 1) annotation(Placement(visible = true, transformation(origin={20.5643, -8.4285}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.StockD inputStore(m0 = 7) annotation(Placement(visible = true, transformation(origin={-46.5749, 63.4829}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.StockD outputStore annotation(Placement(visible = true, transformation(origin={102.222, -8.4285}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Reservoirs.SaturatedStockD intermediateStore(minLevel = 0) annotation(Placement(visible = true, transformation(origin={-60.2935, -8.4285}, extent = {{-12,-12},{12,12}}, rotation = 0))); SystemDynamics.Converters.ConstantConverter inputRate(constValue = 2) annotation(Placement(visible = true, transformation(origin={-110.522, 35.0609}, extent = {{-12,-12},{12,12}}, rotation = -90))); SystemDynamics.Reservoirs.CloudSource externalIn annotation(Placement(visible = true, transformation(origin={-119.231, 63.4829}, extent = {{-9.0998,-9.0998},{9.0998,9.0998}}, rotation = 0))); SystemDynamics.Flows.ConstantFlow path2(constRate = 2) annotation(Placement(visible = true, transformation(origin={-9.89019, 63.4829}, extent = {{-12.1622,-12.1622},{12.1622,12.1622}}, rotation = 0))); SystemDynamics.Flows.ConstantFlow path3 annotation(Placement(visible = true, transformation(origin={70.2393, 63.4829}, extent = {{-11.8959,-11.8959},{11.8959,11.8959}}, rotation = 0))); SystemDynamics.Flows.ConstantFlow path4 annotation(Placement(visible = true, transformation(origin={-100.534, -8.4285}, extent = {{-12.3079,-12.3079},{12.3079,12.3079}}, rotation = 0))); SystemDynamics.Flows.ConstantFlow path5(constRate = 2) annotation(Placement(visible = true, transformation(origin={-20.4104, -8.4285}, extent = {{-12.6639,-12.6639},{12.6639,12.6639}}, rotation = 0))); SystemDynamics.Flows.ConstantFlow path6 annotation(Placement(visible = true, transformation(origin={61.777, -8.4285}, extent = {{-12.1633,-12.1633},{12.1633,12.1633}}, rotation = 0))); equation connect(machine2.outflow, path6.inflow) annotation( Line(points = {{34.9643, -8.4285}, {47.181, -8.4285}})); connect(path6.outflow, outputStore.inflow) annotation( Line(points = {{76.373, -8.4285}, {87.822, -8.4285}})); connect(path5.outflow, machine2.inflow) annotation( Line(points = {{-5.21372, -8.4285}, {6.1643, -8.4285}})); connect(intermediateStore.outflow, path5.inflow) annotation( Line(points = {{-45.8935, -8.4285}, {-35.6071, -8.4285}})); connect(path4.inflow, conveyor12.outflow) annotation( Line(points = {{-115.303, -8.4285}, {-126, -8.4285}, {-126, 18}, {130, 18}, {130, 63.4829}, {122.468, 63.4829}})); connect(path4.outflow, intermediateStore.inflow) annotation( Line(points = {{-85.7645, -8.4285}, {-74.6935, -8.4285}})); connect(machine1.outflow, path3.inflow) annotation( Line(points = {{46.4386, 63.4829}, {55.9642, 63.4829}})); connect(path3.outflow, conveyor12.inflow) annotation( Line(points = {{84.5144, 63.4829}, {93.668, 63.4829}})); connect(path2.outflow, machine1.inflow) annotation( Line(points = {{4.70445, 63.4829}, {17.6386, 63.4829}})); connect(inputStore.outflow, path2.inflow) annotation( Line(points = {{-32.1749, 63.4829}, {-24.4848, 63.4829}})); connect(externalIn.outflow, path1.inflow) annotation( Line(points = {{-109.221, 63.4829}, {-101.378, 63.4829}})); connect(inputRate.out, path1.in1) annotation( Line(points = {{-97.322, 35.0609}, {-86.9777, 35.0609}, {-86.9777, 50.2829}})); connect(path1.outflow, inputStore.inflow) annotation( Line(points = {{-72.5777, 63.4829}, {-60.9749, 63.4829}})); annotation(experiment(StartTime = 0.0, StopTime = 25.0, Tolerance = 1e-06), Diagram(coordinateSystem(extent = {{-140, -100}, {140, 100}}), graphics = {Text(origin = {31, 81}, extent = {{-17, 3}, {17, -3}}, textString = "machine1", fontSize = 12), Text(origin = {20, 9}, extent = {{-16, 3}, {16, -3}}, textString = "machine2", fontSize = 12), Text(origin = {-48, 81}, extent = {{-20, 3}, {20, -3}}, textString = "inputStore", fontSize = 12), Text(origin = {100, 9}, extent = {{-22, 5}, {22, -5}}, textString = "outputStore", fontSize = 12), Text(origin = {-59, 8}, extent = {{-33, 4}, {33, -4}}, textString = "intermediate Store", fontSize = 12), Text(origin = {109, 82}, extent = {{-19, 2}, {19, -2}}, textString = "conveyor12", fontSize = 12), Text(origin = {-86, 81}, extent = {{-10, 3}, {10, -3}}, textString = "path1", fontSize = 12), Text(origin = {-10, 81}, extent = {{-10, 3}, {10, -3}}, textString = "path2", fontSize = 12), Text(origin = {70, 81}, extent = {{-10, 3}, {10, -3}}, textString = "path3", fontSize = 12), Text(origin = {-100, 9}, extent = {{-10, 3}, {10, -3}}, textString = "path4", fontSize = 12), Text(origin = {-20, 9}, extent = {{-10, 3}, {10, -3}}, textString = "path5", fontSize = 12), Text(origin = {62, 9}, extent = {{-10, 3}, {10, -3}}, textString = "path6", fontSize = 12)}), Icon(coordinateSystem(extent={{-140,-100},{140,100}})), __Dymola_Commands(file="plotFertigung.mos" "plotFertigung")); end AssemblyLine; end Examples; annotation (uses(Modelica(version="4.0.0"))); end SystemDynamicsExamples;