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.SimulatorAn 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.SimulatorA 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