Skip to content

epymorph.simulator.basic.mm_exec

MovementExecutor

MovementExecutor(
    rume: RUME,
    world: World,
    data: DataResolver,
    rng: Generator,
)

Movement model execution specifically for multi-strata simulations.

apply

apply(tick: Tick) -> None

Applies movement for this tick, mutating the world state.

calculate_travelers

calculate_travelers(
    clause_name: str,
    clause_mobility: NDArray[bool_],
    requested_movers: NDArray[SimDType],
    available_movers: NDArray[SimDType],
    tick: Tick,
    rng: Generator,
) -> OnMovementClause

Calculate the number of travelers resulting from this movement clause for this tick. This evaluates the requested number movers, modulates that based on the available movers, then selects exactly which individuals (by compartment) should move. Returns an (N,N,C) array; from-source-to-destination-by-compartment.