From f9e85bd9a38259564cba082d30d810da1cb36186 Mon Sep 17 00:00:00 2001 From: Charles Vanwynsberghe Date: Mon, 9 Nov 2020 21:24:14 +0100 Subject: [PATCH] update readme --- README.md | 9 +++++---- img/logo.png | Bin 0 -> 9771 bytes 2 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 img/logo.png diff --git a/README.md b/README.md index a9f34c0..4808809 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ -# pyworld2 -Pyworld2 is a Python implementation of the World2 model, designed by Jay W. Forrester to predict trajectories of growth-focused Humankind in a world bounded by its physical limits. The model structure is thouroughly described in the book *World Dynamics*. Although World3 later became the reference, World2 is much less complex than its successor: it helps to get a good understanding of how the world could be modeled by a System Dynamics approach. World2 is a nonlinear 5-th order differential equation model with the following state variables: +![Logo](./img/logo.png) + +PyWorld2 is a Python implementation of the World2 model, designed by Jay W. Forrester to predict trajectories of growth-focused Humankind in a world bounded by its physical limits. The model structure is thouroughly described in the book *World Dynamics*. Although World3 later became the reference, World2 is much less complex than its successor: it helps to get a good understanding of how the world could be modeled by a System Dynamics approach. World2 is a nonlinear 5-th order differential equation model with the following state variables: - human population `P`, - nonreplaceable natural resources `NR`, - pollution `POL`, @@ -21,7 +22,7 @@ It will automatically install the requirements ``numpy``, ``scipy`` and ``matplo python setup.py install ``` -Hello world2 +Hello World2 ------------ Run the provided example: @@ -63,7 +64,7 @@ pyworld2.utils.plot_world_state(w2) References & acknowledgment --------------------------- -Pyworld2 is forked from the Rworld2 Software held by Arnaud Mignan. +PyWorld2 is forked from the Rworld2 Software held by Arnaud Mignan. - *World Dynamics*, Jay W. Forrester (1973 second edition) - [RWorld2: reproducing doomsday models in R](https://github.com/amignan/hist_gc_sysdyn), Arnaud Mignan (2020). \ No newline at end of file diff --git a/img/logo.png b/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..72b8f14de1a0c74d122b5c294f33293a254381b2 GIT binary patch literal 9771 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