modelScenario_5

5th Scenario
Diagram of Scenario_5

Information

This is yet another modification of Jay Forrester's WORLD2 model. We wish to introduce time reversal to the simulation. To this end, we replace the regular continuous levels of the System Dynamics methodology by reversible levels.


References:

  1. Cellier, F.E. (1991), Continuous System Modeling, Springer-Verlag, New York, ISBN: 0-387-97502-0, 755p.
  2. Forrester, J.W. (1971), World Dynamics, Pegasus Communications, 160p.


Simulate the model across 233 years with time reversal starting at year 200, i.e., we simulate the world model forward through time from the year 1900 until the year 2100, and then backward through time from the year 2100 until the year 2067. For this experiment, you need to set the simulation accuracy to 1e-10.

Plot the simulated world population against the calendar years.

You shall notice that time reversal in the world model is numerically problematic. The simulation is numerically unstable in backward direction. The time-reversed model simulates correctly for a few years, but as numerical errors get the trajectory away from its designed path, the backward trajectory starts diverging quickly from the forward trajectory.


Parameters

TypeNameDefaultDescription
RealPopulation_01650000000.0World population in 1900
RealPollution_0200000000.0Pollution in 1900
RealNat_Resources_0900000000000.0Unrecoverable natural resources in 1900
RealCap_Invest_0400000000.0Capital investment in 1900
RealCIAF_00.2Proportion of capital investment in agriculture in 1900
RealBRN0.04Normal birth rate
RealCIAFN0.3CIAF normalization
RealCIAFT15.0CIAF time constant
RealCIDN0.025Normal capital discard
RealCIGN0.05Normal capital generation
RealECIRN1.0Capital normalization
RealFC1.0Food coefficient
RealFN1.0Food normalization
RealLand_Area135000000.0Area of arable land
RealNRI900000000000.0Initial natural resources
RealPOLS3599900000.0Standard pollution
RealPop_dens_norm26.5Normal population density
RealQLS1.0Standard quality of life

Components

TypeNameDefaultDescription
RealyearsTime in calendar years
RealPopWorld population
RealPolPollution
RealPol_ratPollution ratio
RealCap_invCapital investment
RealQual_lifeQuality of life
RealNat_resNatural unrecoverable resources
RealNRUNNormal resource utilization
RealPOLNNormal pollution
RealDRNNormal death rate
RealPop_meas
SystemDynamics.Sources.SourceSource1
SystemDynamics.Rates.Rate_1Birth_Rate
SystemDynamics.Levels.Reverse_LevelPopulation
SystemDynamics.Rates.Rate_1Death_Rate
SystemDynamics.Sources.SinkSink1
SystemDynamics.Sources.SourceSource2
SystemDynamics.Rates.Rate_1Generation
SystemDynamics.Levels.Reverse_LevelNatural_Resources
SystemDynamics.Rates.Rate_1Depletion
SystemDynamics.Sources.SinkSink2
SystemDynamics.Auxiliary.ConstGen_Const
SystemDynamics.Functions.TabularBRMM
SystemDynamics.Functions.TabularDRMM
SystemDynamics.Auxiliary.GainBR_norm
SystemDynamics.Auxiliary.Prod_5Prod_5_1
SystemDynamics.Auxiliary.Prod_5Prod_5_2
SystemDynamics.Functions.TabularBRFM
SystemDynamics.Functions.TabularBRPM
SystemDynamics.Functions.TabularBRCM
SystemDynamics.Functions.TabularDRCM
SystemDynamics.Functions.TabularDRPM
SystemDynamics.Functions.TabularDRFM
SystemDynamics.Auxiliary.GainCrowd_Rat
SystemDynamics.Auxiliary.Prod_2Prod_2_1
SystemDynamics.Functions.TabularNRMM
SystemDynamics.Sources.SourceSource3
SystemDynamics.Rates.Rate_1CI_Generation
SystemDynamics.Levels.Reverse_LevelCapital_Investment
SystemDynamics.Rates.Rate_1CI_Discard
SystemDynamics.Sources.SinkSink3
SystemDynamics.Auxiliary.GainCIG_norm
SystemDynamics.Auxiliary.Prod_2Prod_2_2
SystemDynamics.Auxiliary.GainCID_norm
SystemDynamics.Functions.TabularCIM
SystemDynamics.Auxiliary.GainMSL
SystemDynamics.Auxiliary.GainNRFR
SystemDynamics.Auxiliary.GainECIR
SystemDynamics.Auxiliary.Prod_3Prod_3_1
SystemDynamics.Functions.TabularNREM
Modelica.Blocks.Math.DivisionCIR
SystemDynamics.Sources.SourceSource4
SystemDynamics.Rates.Rate_1P_Generation
SystemDynamics.Levels.Reverse_LevelPollution
SystemDynamics.Rates.Rate_1P_Absorption
SystemDynamics.Sources.SinkSink4
SystemDynamics.Functions.LinearNotCIAF
SystemDynamics.Auxiliary.GainPol_Ratio
SystemDynamics.Functions.TabularFCM
SystemDynamics.Auxiliary.Prod_3Prod_3_2
SystemDynamics.Auxiliary.GainFood_Ratio
SystemDynamics.Sources.SourceSource5
SystemDynamics.Rates.Rate_1CIAFG
SystemDynamics.Levels.Reverse_LevelCIAF
SystemDynamics.Rates.Rate_1CIAFD
SystemDynamics.Sources.SinkSink5
SystemDynamics.Auxiliary.GainCIAF_D
SystemDynamics.Auxiliary.GainCIAF_G
SystemDynamics.Auxiliary.Prod_2Prod_2_3
Modelica.Blocks.Math.DivisionP_Abs
SystemDynamics.Auxiliary.Prod_2Prod_2_4
SystemDynamics.Functions.TabularPOLCM
SystemDynamics.Functions.TabularPOLAT
SystemDynamics.Functions.TabularCFIFR
SystemDynamics.Functions.TabularFPM
SystemDynamics.Auxiliary.Prod_2Prod_2_5
SystemDynamics.Auxiliary.GainCIRA
SystemDynamics.Functions.TabularFPCI
SystemDynamics.Functions.TabularCIQR
Modelica.Blocks.Math.DivisionQLMF
SystemDynamics.Functions.TabularQLM
SystemDynamics.Functions.TabularQLF
SystemDynamics.Auxiliary.Prod_4Prod_4_1
SystemDynamics.Functions.TabularQLC
SystemDynamics.Functions.TabularQLP
SystemDynamics.Auxiliary.GainQuality_of_Life
SystemDynamics.WorldDynamics.World2.Utilities.Parameter_ChangeNR_norm
SystemDynamics.WorldDynamics.World2.Utilities.Parameter_ChangePol_norm
SystemDynamics.WorldDynamics.World2.Utilities.Parameter_ChangeDR_norm