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
47 48 49 50 51 52 53 54 55 56 57 58 | |
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
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | |
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
89 90 91 92 93 94 95 96 97 98 99 100 101 102 | |
EngineProtocol
¶
Bases: Protocol
Type-definition (Protocol) for engine runner functions.
__call__(stepper, times, state, params, **kwargs)
¶
Protocol for engine runner functions.
Source code in src/flepimop2/engine/abc/__init__.py
30 31 32 33 34 35 36 37 38 39 | |
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
105 106 107 108 109 110 111 112 113 114 115 116 | |
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
47 48 49 50 51 52 53 54 55 56 57 58 | |
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 |
Source code in src/flepimop2/engine/wrapper/__init__.py
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | |