SimCX Reference¶
Core¶
A simulation framework for complex systems modelling and analysis.
-
class
simcx.
Display
(width=500, height=500, interval=0.05, multi_sampling=True, **kwargs)[source]¶ Bases:
object
-
class
simcx.
FFMpegWriter
(fps=5, codec=None, bitrate=None, extra_args=None, metadata=None)[source]¶ Bases:
matplotlib.animation.FFMpegWriter
-
frame_size
¶ A tuple (width,height) in pixels of a movie frame.
-
-
class
simcx.
MplVisual
(sim: simcx.Simulator, **kwargs)[source]¶ Bases:
simcx.Visual
-
class
simcx.
PyafaiSimulator
(world)[source]¶ Bases:
simcx.Simulator
-
class
simcx.
PyafaiVisual
(sim: simcx.PyafaiSimulator, width=500, height=500)[source]¶ Bases:
simcx.Visual
Submodules¶
simcx.simulators module¶
This module provides several ready-made simulator classes. Used mainly for the examples given in the Complex Systems course. In this current version, these should not be considered stable in terms of API.
-
class
simcx.simulators.
FinalStateIterator
(func, seed, start, end, discard=1000, samples=250, delta=0.01)[source]¶ Bases:
simcx.Simulator
-
class
simcx.simulators.
FunctionIterator
(func, initial_states)[source]¶ Bases:
simcx.Simulator
-
class
simcx.simulators.
FunctionIterator2D
(func, initial_state)[source]¶ Bases:
simcx.Simulator
-
class
simcx.simulators.
IFS
(transforms, probs, step_size=100)[source]¶ Bases:
simcx.Simulator
An Iterated Function Systems simulator using the Chaos Game.
-
class
simcx.simulators.
JuliaSet
(c, min_x=-2, max_x=2, min_y=-2, max_y=2, samples=500, iterations=100)[source]¶ Bases:
simcx.Simulator
A simulator to calculate the Julia Set of a function in the form . The simulator will compute the Julia Set for the given range (min_x, min_y) to (max_x, max_y) on creation of the instance.
Note: numexpr optimized version inspired by code by Jean-François Puget.
simcx.visuals module¶
This module provides several ready-made visual classes. Used mainly for the examples given in the Complex Systems course. In this current version, these should not be considered stable in terms of API.
-
class
simcx.visuals.
BifurcationDiagram
(sim: simcx.simulators.FinalStateIterator, **kwargs)[source]¶ Bases:
simcx.MplVisual
-
class
simcx.visuals.
CobWebVisual
(sim: simcx.simulators.FunctionIterator, min_x, max_x, func_string='', **kwargs)[source]¶ Bases:
simcx.MplVisual
-
class
simcx.visuals.
FinalStateDiagram
(sim: simcx.simulators.FunctionIterator, discard_initial=1000, **kwargs)[source]¶ Bases:
simcx.MplVisual
-
class
simcx.visuals.
FractalVisual
(sim, gamma=1.0, **kwargs)[source]¶ Bases:
simcx.MplVisual
-
class
simcx.visuals.
Line
(sim: simcx.Simulator, x: list, y: list, auto_size=True, **kwargs)[source]¶ Bases:
simcx.MplVisual
-
class
simcx.visuals.
Lines
(sim: simcx.Simulator, auto_size=True, **kwargs)[source]¶ Bases:
simcx.MplVisual
-
class
simcx.visuals.
PhaseSpace2D
(sim: simcx.simulators.FunctionIterator2D, name_x, name_y, **kwargs)[source]¶ Bases:
simcx.visuals.Line
-
class
simcx.visuals.
Points2D
(sim, min_x=0.0, max_x=1.0, min_y=0.0, max_y=1.0, **kwargs)[source]¶ Bases:
simcx.Visual
-
class
simcx.visuals.
TimeSeries
(sim: simcx.simulators.FunctionIterator, **kwargs)[source]¶ Bases:
simcx.visuals.Lines