modelScenario_5

5th Scenario

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_01.65e9World population in 1900
RealPollution_02.0e8Pollution in 1900
RealNat_Resources_09.0e11Unrecoverable natural resources in 1900
RealCap_Invest_04.0e8Capital 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_Area1.35e8Area of arable land
RealNRI9.0e11Initial natural resources
RealPOLS3.5999e9Standard 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
Sources.SourceSource1
Rates.Rate_1Birth_Rate
Levels.Reverse_LevelPopulation
Rates.Rate_1Death_Rate
Sources.SinkSink1
Sources.SourceSource2
Rates.Rate_1Generation
Levels.Reverse_LevelNatural_Resources
Rates.Rate_1Depletion
Sources.SinkSink2
Auxiliary.ConstGen_Const
Functions.TabularBRMM
Functions.TabularDRMM
Auxiliary.GainBR_norm
Auxiliary.Prod_5Prod_5_1
Auxiliary.Prod_5Prod_5_2
Functions.TabularBRFM
Functions.TabularBRPM
Functions.TabularBRCM
Functions.TabularDRCM
Functions.TabularDRPM
Functions.TabularDRFM
Auxiliary.GainCrowd_Rat
Auxiliary.Prod_2Prod_2_1
Functions.TabularNRMM
Sources.SourceSource3
Rates.Rate_1CI_Generation
Levels.Reverse_LevelCapital_Investment
Rates.Rate_1CI_Discard
Sources.SinkSink3
Auxiliary.GainCIG_norm
Auxiliary.Prod_2Prod_2_2
Auxiliary.GainCID_norm
Functions.TabularCIM
Auxiliary.GainMSL
Auxiliary.GainNRFR
Auxiliary.GainECIR
Auxiliary.Prod_3Prod_3_1
Functions.TabularNREM
Modelica.Blocks.Math.DivisionCIR
Sources.SourceSource4
Rates.Rate_1P_Generation
Levels.Reverse_LevelPollution
Rates.Rate_1P_Absorption
Sources.SinkSink4
Functions.LinearNotCIAF
Auxiliary.GainPol_Ratio
Functions.TabularFCM
Auxiliary.Prod_3Prod_3_2
Auxiliary.GainFood_Ratio
Sources.SourceSource5
Rates.Rate_1CIAFG
Levels.Reverse_LevelCIAF
Rates.Rate_1CIAFD
Sources.SinkSink5
Auxiliary.GainCIAF_D
Auxiliary.GainCIAF_G
Auxiliary.Prod_2Prod_2_3
Modelica.Blocks.Math.DivisionP_Abs
Auxiliary.Prod_2Prod_2_4
Functions.TabularPOLCM
Functions.TabularPOLAT
Functions.TabularCFIFR
Functions.TabularFPM
Auxiliary.Prod_2Prod_2_5
Auxiliary.GainCIRA
Functions.TabularFPCI
Functions.TabularCIQR
Modelica.Blocks.Math.DivisionQLMF
Functions.TabularQLM
Functions.TabularQLF
Auxiliary.Prod_4Prod_4_1
Functions.TabularQLC
Functions.TabularQLP
Auxiliary.GainQuality_of_Life
Utilities.Parameter_ChangeNR_norm
Utilities.Parameter_ChangePol_norm
Utilities.Parameter_ChangeDR_norm