How to Run Parameter Sweeps
For the current kernel, the safest local sweep pattern is to build a fresh world per parameter point. If you only need to reset simulation state, snapshots are also available.
Fresh-world sweep
import biosimulant as biosim
from src.linear_growth import LinearGrowth
def build_world(rate: float):
world = biosim.BioWorld(communication_step=1.0)
module = LinearGrowth(rate=rate, initial_value=1.0)
world.add_biomodule("growth", module)
return world, module
results = []
for rate in [0.05, 0.1, 0.2, 0.4]:
world, module = build_world(rate)
world.run(duration=100.0)
results.append({"rate": rate, "final_state": module.snapshot()})Snapshot-based reruns
Use this when the module parameters stay fixed and only the evolving state needs to be reset:
world, module = build_world(0.1)
world.setup()
baseline = world.snapshot()
for _ in range(3):
world.restore(baseline)
world.run(duration=100.0)Desktop CLI JSON payloads
{"duration": 100.0, "communication_step": 1.0}Avoid older examples that rely on a kernel-level reset method between runs. The current kernel expects snapshots or fresh worlds instead.