Version: dev

discrete_event

Stable type · Document types

Tier: stable · Kind: type · Topic: Document types

JuliaTypeScriptPythonRustGo
DiscreteEventnot exportedDiscreteEventDiscreteEventDiscreteEvent

Julia

struct DiscreteEvent <: EventType
DiscreteEvent(trigger::DiscreteEventTrigger, affects::Vector{AffectEquation}; reinitialize, description, name)
DiscreteEvent <: EventType

Event triggered by discrete triggers whose symbolic affects are AffectEquation s (lhs target name, rhs new-value expression) — the schema’s AffectEquation shape, shared with ContinuousEvent.

An event affects unknowns only (esm-spec §5.4, §6.3.1). A handler that computes a new value lives on the parameter it writes (update.handler, FunctionalUpdate ), and a parameter that changes during a run declares its own ParameterUpdate . An affects LHS naming a parameter is the event_affects_parameter diagnostic.

Source

TypeScript

TypeScript does not export this type.

Python

class DiscreteEvent
DiscreteEvent(name: str, trigger: DiscreteEventTrigger, affects: list[AffectEquation] = list(), priority: int = 0, reinitialize: bool | None = None, description: str | None = None)
DiscreteEvent.reinitializes: bool  # property

An event that occurs at discrete time points.

Affects UNKNOWNS ONLY (esm-spec §5.5). A parameter that changes at discrete times declares that in its own update block (ParameterUpdate ), not here.

Members

  • reinitializes — The effective flag: an unspelled reinitialize means False.

Source

Rust

pub struct DiscreteEvent {
    pub name: Option<String>,
    pub trigger: DiscreteEventTrigger,
    pub affects: Option<Vec<AffectEquation>>,
    pub reinitialize: Option<bool>,
    pub description: Option<String>,
}

Discrete event that can modify the system

Source · Rust docs

Go

type DiscreteEvent struct {
	Name         string               `json:"name,omitempty"`
	Trigger      DiscreteEventTrigger `json:"trigger"`
	Affects      []AffectEquation     `json:"affects,omitempty"`
	Reinitialize *bool                `json:"reinitialize,omitempty"`
	Description  *string              `json:"description,omitempty"`
}

DiscreteEvent represents a discrete event. From esm 1.0.0 an event may affect UNKNOWNS ONLY (event_affects_parameter otherwise): a parameter that changes during a run carries its own update block, so there is no discrete_parameters list and no functional_affect here.

Source · Go docs