Shantzis and Behrens' 1973 Model of the Tsembaga

A Stella version of the 1973 Dynamo model is shown here. The model is organized as four sectors.

Human Population Sector:
This sector keeps track of the growth and decline in the human population. All humans are combined into a single stock A bi-flow is used to keep track of their increase (due to births) and /or their decrease due to deaths from longevity and deaths due to war. The net effects of births and deaths is controlled by the "net human population change rate" which is a nonlinear frunction of the food per capita. Food is a ghosted variable which is calculated in the land yield sector.

Pig Population Sector:
The pig sector uses a similar stock and flow combination to simulate the size of the pig population. The model assumes that food is first assigned to meet the humans' needs. The remainder is available for the pigs.

Land Yield Sector
Shantzis and Behrens assign a stock to represent the yield per acre. This stock may decline due to degradation or it may increase through regeneration. Actual food produced is the product of the yield per acre, the available land and the intensity of cultivation. Intensity, in turn, is controlled by the Tsembaga people's perception of the yield per acre and the food needed.

Festival Sector
The final sector simulates the pressures leading the Tsembaga to announce a pig festival. Shantzis and Behrens described festivals that could be triggered in one of two ways. First, there may be too many pigs to care for. This is the "labor" problem that you have seen in the introductory models. Or, a festival may be triggered when there is too much "competition" between the humans and pigs for space in the village.

This is a complex model, so you'll need to study Shantzis and Behren's explanation in Toward Global Equilibrium. (Don't expect everything to make sense from the short description provided above.) The equations for the Stella version of their model are given below.
Festival Sector
Change_in_pigs_from_festival = IF (Pig_competition_problem<Critical_level_of_competition) THEN (Festival_trigger_from_labor_problem) ELSE (Pig_death_rate_from_festival)
Competition_problem_constant = 1.8E-4
Critical_level_of_competition = 6
Critical_level_of_labor = 1
Delay_from_war = 1.5
Desired_pig_to_human_ratio = 0.2
Festival_duration = 1
Festival_trigger_from_labor_problem = IF (Pig_labor_problem<Critical_level_of_labor) THEN (0) ELSE (Pig_death_rate_from_festival)
Human_deaths_from_war_delayed = DELAY (Human_deaths_in_war, Delay_from_war)
Human_deaths_in_war = IF (Change_in_pigs_from_festival<0.00001) THEN (0) ELSE (War_death_rate)
Labor_problem_constant = 1
Pig_competition_problem = Competition_problem_constant*Pig_population*Human_population
Pig_death_rate_from_festival = 1-Desired_pig_to_human_ratio*Human_population/(Festival_duration*Pig_population)
Pig_labor_problem = Labor_problem_constant*Pig_population/Human_population
War_death_rate = 0.12

Human Population Sector
Human_population(t) = Human_population(t - dt) + (Hunam_population_change) * dt
INIT Human_population = 196

INFLOWS:
Hunam_population_change = (Net_human_population_change_rate*Human_population)-(Human_deaths_from_war_delayed*Human_population)
Desired_food_per_capita = 742E3
Food_needed_for_humans = Desired_food_per_capita*Human_population
Food_per_capita = IF((Food/Food_needed_for_humans)<1) THEN (Food_per_capita_available) ELSE (Desired_food_per_capita)

Food_per_capita_available = Food/Human_population
Net_human_population_change_rate = GRAPH(Food_per_capita)
(0.00, -0.3), (371000, -0.07), (742000, 0.011), (1.1e+06, 0.013)

Land Sustainable Yield Sector
Yield_per_acre(t) = Yield_per_acre(t - dt) + (Yield_regeneration - Yield_degradation) * dt
INIT Yield_per_acre = 4.4E6

INFLOWS:
Yield_regeneration = (Inherent_Yield_per_acre-Yield_per_acre)/Yield_regeneration_time
OUTFLOWS:
Yield_degradation = Degradation_rate*Yield_per_acre
Available_land = 972
Carrying_capacity = Available_land*Yield_per_acre*Intensity/Desired_food_per_capita
Food = Available_land*Yield_per_acre*Intensity
Food_needed = Food_needed_for_humans+Food_needed_for_pigs
Inherent_Yield_per_acre = 4.4E6
Perceived_yield_per_acre = SMTH1(Yield_per_acre, Yield_perception_time)
Potential_food = Available_land*Perceived_yield_per_acre
Yield_perception_time = 5
Degradation_rate = GRAPH(1/Intensity)
(0.00, 0.5), (4.00, 0.15), (8.00, 0.06), (12.0, 0.02), (16.0, 0.00), (20.0, 0.00), (24.0, 0.00)
Intensity = GRAPH(Potential_food/Food_needed)
(0.00, 1.00), (4.00, 0.25), (8.00, 0.125), (12.0, 0.0834), (16.0, 0.0625), (20.0, 0.05), (24.0, 0.0417)
Yield_regeneration_time = GRAPH(Yield_per_acre/Inherent_Yield_per_acre)
(0.00, 400), (0.1, 140), (0.2, 105), (0.3, 80.0), (0.4, 60.0), (0.5, 45.0), (0.6, 34.0), (0.7, 25.0), (0.8, 20.0), (0.9, 17.0), (1, 16.0)

Pig Population Sector
Pig_population(t) = Pig_population(t - dt) + (Pig_population_change) * dt
INIT Pig_population = 40

INFLOWS:
Pig_population_change = (Pig_population*Net_pig_population_change_rate-Competition_problem_constant*Human_population*Pig_population-Change_in_pigs_from_festival*Pig_population)
Desired_food_per_pig = 590E3
Food_needed_for_pigs = Desired_food_per_pig*Pig_population
Food_per_pig = (Food-Food_per_capita*Human_population)/Pig_population
Net_pig_population_change_rate = GRAPH(Food_per_pig)
(0.00, -0.15), (295000, 0.11), (590000, 0.13), (885000, 0.14)