PythonPrograms
Python Scripts for 2D, 3D and 4D Flows
These Python programs can be downloaded from GitHub at https://github.itap.purdue.edu/nolte/PythonProgramsforNonlinearDynamics

DWH.py:
 Biased double well.

DampedDriven.py:
 Drivendamped oscillators. Options are: drivendamped pendulum and drivendamped double well potential. Plots a twodimensional Poincaré section.

DoublePendulum.py:
 Double pendulum. (See: https://galileounbound.blog/2020/10/18/theupsanddownsofthecompounddoublependulum/)

Duffing.py:
 Duffing oscillator.

FlipPhone.py:
 Flipping iPhone simulator. (See https://galileounbound.blog/2021/10/10/physicsoftheflippingiphoneandthefateoftheearth/.)

Flow2D.py:
 Simple flows for 2D autonomous dynamical systems. Options are: Medio, van der Pol, and FitzhughNagumo models.

Flow2DBorder.py:
 Same as Flow2D.py but with initial conditions set on the boarder of the phase portrait.

Flow3D.py:
 Flows for 3D autonomous dynamical systems. Options are: Lorenz, Rössler and Chua’s Circuit.

GravSynch.py:
 Synchronization of clocks in a spaceship near a black hole. (See: https://galileounbound.blog/2021/05/16/lockingclocksinstronggravity/)

gravlens.py:
 Gravitational lensing. (See: https://galileounbound.blog/2021/04/05/thelensofgravityeinsteinsrings/)

Hamilton4D.py:
 Hamiltonian flows for 4D autonomous systems. Options are: HenonHeiles potential, and the crescent potential. Plots a twodimensional Poincaré section. (See: https://galileounbound.blog/2019/11/04/thephysicsoflifetheuniverseandeverythinginoneeasyequation/)

Heiles.py:
 HenonHeiles and also a crescent model

HenonHeiles.py:
 Standalone HenonHeiles model.

Hill.py:
 Hill potentials for 3body problem. (See: https://galileounbound.blog/2019/07/19/gettingarmstrongaldrinandcollinshomefromthemoonapollo11andthethreebodyproblem/)

Kuramoto.py:
 Kuramoto synchronization of phase oscillators on a complete graph. (See: https://galileounbound.blog/2019/11/04/thephysicsoflifetheuniverseandeverythinginoneeasyequation/)

logistic.py:
 Logistic discrete map, plus some other choices.

Lozi.py:
 Discrete iterated Lozi map conserves volume.

NetDynamics.py:
 Coupled phase oscillators on various network topologies. Has more options than coupleNdriver.py.

NetSIR.py:
 SIR viral infection model on networks

NetSIRS.py:
 SIRS viral infection model on networks

PenInverted.py:

Perturbed.py:
 Driven undampded oscillators with a planewave perturbation. Options are: pendulum and doublewell potential. These are driven nonlinear Hamiltonian systems. When driven at small perturbation amplitude near the separatrix, chaos emerges. These systems do not conserve energy, because there is a constant input and output of energy as the system reacts against the drive force. Plots a twodimensional Poincaré section.

raysimple.py:
 Eikonal equation simulator. (See: https://galileounbound.blog/2019/05/30/theiconiceikonalandtheopticalpath/)

SIR.py:
 SIR homogeneous COVID19 model (See: https://galileounbound.blog/2020/03/22/physicsintheageofcontagionthebifurcationofcovid19/)

SIRS.py:
 SIRS homogeneous COVID19 model (See: https://galileounbound.blog/2020/07/20/physicsintheageofcontagionpart4fiftyshadesofimmunitytocovid19/)

SIRWave.py:
 Covid19 second wave model (See:https://galileounbound.blog/2020/04/06/physicsintheageofcontagionpart2thesecondwaveofcovid19/)

StandMap.py:
 The Chirikov map, also known as the standard map, is a discrete itereated map with winding numbers and islands of stability.

StandMapHom.py:
 Homoclinic tangle for the standard map. (See: https://galileounbound.blog/2020/08/24/henripoincareandhishomoclinictangle/)

StandMapTwist.py:
 The Standard Map in twist format (See: https://galileounbound.blog/2019/10/14/hownumbertheoryprotectsyoufromthechaosofthecosmos/)

trirep.py:
 Replicator dynamics in 3D simplex format. (See: https://galileounbound.blog/2019/11/04/thephysicsoflifetheuniverseandeverythinginoneeasyequation/)

UserFunction.py:
 Growing library of user functions
 linfit.py – linear regression function
 Growing library of user functions

WebMap.py:
 The discrete map of a periodically kicked oscillator displays a web of dynamics. (See: https://galileounbound.blog/2018/10/27/howtoweaveatapestryfromhamiltonianchaos/)
(Selected Python programs can be found at the Galileo Unbound Blog Site: https://galileounbound.blog/tag/pythoncode/)