Module Reference

simframe.frame Package

This package contains the core infrastructure of simframe.

Classes

AbstractGroup()

This is an abstract class that serves as template for other classes.

Field(owner, value[, updater, ...])

Class for storing simulation quantities.

Frame([integrator, writer, updater, ...])

This is the parent object of type Group that contains all other objects.

Group(owner[, updater, description])

Class for grouping data.

Heartbeat([updater, systole, diastole])

This class controls an update including systole and diastole.

IntVar(owner[, value, snapshots, updater, ...])

Cclass for integration variables that behaves as Field but has additional functionality with respect to stepsize management for integration.

Updater([func])

Class that manages how a Group or Field is updated.

simframe.integration Package

This package contains infrastructure for solving differential equations within simframe. The Integrator class is the basic class that advances the simulation from snapshot to snapshot by executing one integration Instruction at a time. Instructions contain a list of integration Scheme. The schemes package contains pre-defined integration schemes that are ready to use in simframe.

Classes

Instruction(scheme, Y[, fstep, controller, ...])

Integration Instruction that controls the execution of an integration Scheme.

Integrator(var[, instructions, failop, ...])

Integrator class that manages the integration instructions

Scheme(scheme[, controller, description])

Class for an integration Scheme that can be used as template for creating custom schemes.

simframe.integration.schemes Package

This package contains pre-defined instances of integration schemes that can be used in simframe. The naming convention is <expl/impl>_<order>_<name>(<_additonal>).

For example: The fifth-order adaptive Cash-Karp scheme is expl_5_cash_karp_adptv, the 1st-order implicit Euler scheme using a GMRES solver is impl_1_euler_gmres.

Classes

expl_1_euler(*args, **kwargs)

Class for explicit 1st-order Euler method

expl_2_fehlberg_adptv(*args, **kwargs)

Class for explicit adaptive 2nd-order Fehlberg's method

expl_2_heun(*args, **kwargs)

Class for explicit 2nd-order Heun's method

expl_2_heun_euler_adptv(*args, **kwargs)

Class for explicit adaptive 2nd-order Heun-Euler method

expl_2_midpoint(*args, **kwargs)

Class for explicit 2nd-order midpoint method

expl_2_ralston(*args, **kwargs)

Class for explicit 2nd-order Ralston's method

expl_3_bogacki_shampine_adptv(*args, **kwargs)

Class for explicit adaptive 3rd-order Bogacki-Shampine method

expl_3_gottlieb_shu_adptv(*args, **kwargs)

Class for explicit adaptive 3rd-order Gottlieb-Shu method

expl_3_heun(*args, **kwargs)

Class for explicit 3rd-order Heun's method

expl_3_kutta(*args, **kwargs)

Class for explicit 3rd-order Kutta's method

expl_3_ralston(*args, **kwargs)

Class for explicit 3rd-order Ralston's method

expl_3_ssprk(*args, **kwargs)

Class for explicit 3rd-order Strong Stability Preserving Runge-Kutta method

expl_4_38rule(*args, **kwargs)

Class for explicit 4th-order 3/8 rule method

expl_4_ralston(*args, **kwargs)

Class for explicit 4th-order Ralston's method

expl_4_runge_kutta(*args, **kwargs)

Class for explicit 4th-order classical Runge-Kutta method

expl_5_cash_karp_adptv(*args, **kwargs)

Class for explicit adaptive 5th-order Cash-Karp method

expl_5_dormand_prince_adptv(*args, **kwargs)

Class for explicit adaptive 5th-order Dormand-Prince method

impl_1_euler_direct(*args, **kwargs)

Class for implicit 1st-order direct Euler method

impl_1_euler_gmres(*args, **kwargs)

Class for implicit 1st-order Euler method with GMRES solver

impl_2_midpoint_direct(*args, **kwargs)

Class for implicit 2nd-order direct midpoint method

update(*args, **kwargs)

Class to update a field after integration.

simframe.io Package

This package is for input/output operations. It contains template Writer and Reader classes that can be used to create customized writing and reading methods. The package writers contains pre-defined Writer instances for writing and reading simframe data. The package furthermore contains a method for reading dump files and for printing a progress bar in an interactive shell.

Functions

readdump(filename)

Reads dumpfile and returns Frame object

Classes

Reader(writer[, description])

General class for reading output files.

Writer(func[, datadir, filename, zfill, ...])

General class for writing output files.

Progressbar([prefix, suffix, fill, empty, ...])

Class for printing progress bar to terminal.

simframe.io.writers Package

This package contains pre-defined Writer instances that can be used for writing and reading Frame objects. The hdf5writer writes data files in the HDF5 file format. The namespacewriter does not write output files (except for dump files if required). The data is stored locally in the Writer object itself.

Classes

hdf5writer(*args, **kwargs)

Class for writing HDF5 output files.

namespacewriter(*args, **kwargs)

Class to write Frame object to namespace

simframe.utils Package

Package contains utility classes that facilitate the use of simframe

Color is a generic class that can be used to colorize text. colorize is an instance of Color, that can be called to add decorators to a string for colored output.

Functions

byteformat(b)

Function returns a formatted string for given memory usage.

Classes

Color([color])

Class to decorate strings with color tags.

SimpleNamespace(**kwargs)

This is a modified version of types.SimpleNamespace that allows for the iteration over its members