discrete_event
Stable type · Document types
Tier: stable · Kind: type · Topic: Document types
| Julia | TypeScript | Python | Rust | Go |
|---|---|---|---|---|
DiscreteEvent | not exported | DiscreteEvent | DiscreteEvent | DiscreteEvent |
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.
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 unspelledreinitializemeansFalse.
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
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.