Engine¶
abc
¶
Abstract class for Engines to evolve Dynamic Systems.
EngineABC(*args, **kwargs)
¶
Bases: ModuleABC
Abstract class for Engines to evolve Dynamic Systems.
Initialize the EngineABC.
The default initialization sets the runner to a no-op function. Concrete implementations should override this with a valid runner function.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*args
|
Any
|
Positional arguments. |
()
|
**kwargs
|
Any
|
Keyword arguments. |
{}
|
Source code in src/flepimop2/engine/abc/__init__.py
run(system, eval_times, initial_state, params, **kwargs)
¶
Run the engine with the provided system and parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
system
|
SystemABC
|
The dynamic system to be evolved. |
required |
eval_times
|
Float64NDArray
|
Array of time points for evaluation. |
required |
initial_state
|
Float64NDArray
|
The initial state array. |
required |
params
|
dict[IdentifierString, Any]
|
Additional parameters for the stepper. |
required |
**kwargs
|
Any
|
Additional keyword arguments for the engine. |
{}
|
Returns:
| Type | Description |
|---|---|
Float64NDArray
|
The evolved time x state array. |
Source code in src/flepimop2/engine/abc/__init__.py
validate_system(system)
¶
Validation hook for system properties.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
system
|
SystemABC
|
The system to validate. |
required |
Returns:
| Type | Description |
|---|---|
list[ValidationIssue] | None
|
A list of validation issues, or |
Source code in src/flepimop2/engine/abc/__init__.py
EngineProtocol
¶
Bases: Protocol
Type-definition (Protocol) for engine runner functions.
__call__(stepper, times, state, params, **kwargs)
¶
Protocol for engine runner functions.
build(config)
¶
Build a EngineABC from a configuration dictionary.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
dict[str, Any] | ModuleModel
|
Configuration dictionary or a |
required |
Returns:
| Type | Description |
|---|---|
EngineABC
|
The constructed engine instance. |
Source code in src/flepimop2/engine/abc/__init__.py
wrapper
¶
A EngineABC which wraps a user-defined script file.
WrapperEngine(*args, **kwargs)
¶
Bases: ModuleModel, EngineABC
A EngineABC which wraps a user-defined script file.
Source code in src/flepimop2/engine/abc/__init__.py
validate_system(system)
¶
Validate that the given system is compatible with this engine.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
system
|
SystemABC
|
The system to validate. |
required |
Returns:
| Type | Description |
|---|---|
list[ValidationIssue] | None
|
A list of validation issues, or |