SysSimX Package#
syssimx - A Python framework for heterogeneous system co-simulation.
syssimx provides a unified interface for coupling heterogeneous simulation models including:
FMU Components: Functional Mock-up Units (FMI 2.0 Co-Simulation)
FEM Components: Finite Element Method solvers (NGSolve)
OpenSim Components: Musculoskeletal biomechanics models
- Key Features:
Graph-based execution engine with automatic dependency analysis
Algebraic loop detection and iterative solving (IJCSA algorithm)
Hybrid co-simulation with event detection and superdense time
Multiple master algorithms: Jacobi, Gauss-Seidel, Hybrid
Example
>>> from syssimx import System, Connection
>>> from syssimx.components import FMUComponent
>>>
>>> # Create system and add components
>>> system = System(name="MySystem")
>>> pendulum = FMUComponent("Pendulum", fmu_path="Pendulum.fmu")
>>> system.add_component(pendulum)
>>>
>>> # Initialize and run
>>> system.initialize(t0=0.0)
>>> system.run(t0=0.0, tf=10.0, dt=0.01)
See also
Documentation: https://syssimx.readthedocs.io
Repository: FlorianFrech/SystemSimulation
The top-level package re-exports the most commonly used classes for convenient imports. Detailed API documentation for those classes is available in the module-specific pages in this API reference.
Re-exported names#
CoSimComponent,PortSpec,PortType— see Core ModulesSystem,Connection,EventConnection,SimulationResult— see SystemFMUComponent,FEMComponent,OpenSimComponent— available when the corresponding optional backend is installed; see Co-Simulation Components
The declarative loader (build_system(),
run_from_config(),
load_config(),
ConfigError) is importable from
syssimx.system; see System.
Command-Line Interface#
Command-line interface for SysSimX.
Provides the syssimx console script:
syssimx run system.yaml # run with the file's run settings
syssimx run system.yaml --tf 10 --dt 0.01 # override run settings
syssimx run system.yaml -o results.csv # export results (long format)
syssimx describe system.yaml # print the structural report
- syssimx.cli._add_run_overrides(parser)[source]#
- Parameters:
parser (ArgumentParser)
- Return type:
None