You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| <*StartTime*> | Simulation starting time, unit in seconds.|
24
24
| <*BaseStepSize*> | Base step size of co-simulation, aka, macro time step size, unit in seconds.|
25
-
| <*Algorithm*> | Co-simulation master algorithm, currently a`fixedStep`algorithm is supported.|
25
+
| <*Algorithm*> | Co-simulation master algorithm. Currently supports`fixedStep`and `ecco`.|
26
26
| <*Simulators*> | Contains all sub-simulators in the system specified as `<simulator>` elements.|
27
27
| <*Functions*> | Contains all functions, currently supported functions include `LinearTransformation`, `Sum`, `VectorSum`. |
28
28
| <*Connections*> | Contains all scalar and variableGroup connections between simulators, or between simulators and functions. Sub-elements may include: `<VariableConnection>`, `<SignalConnection>`, `<VariableGroupConnection>` and `<SignalGroupConnection>`. |
29
+
| <*EccoConfiguration*> | Contains configuration specific to the ECCO *(Energy-Conservation-based Co-simulation)* algorithm.
29
30
30
31
```xml
31
32
<?xml version="1.0" encoding="utf-8" ?>
@@ -38,20 +39,21 @@ Description of the OspSystemStructure elements and their attributes are shown be
38
39
<Simulators> ... <Simulators>
39
40
<Functions> ... </Functions>
40
41
<Connections> ... </Connections>
42
+
<EccoConfiguration> ... </EccoConfiguration>
41
43
</OspSystemStructure>
42
44
```
43
45
44
46
## \<Simulator>
45
47
Each running simulator must be assigned to a model(fmu). One FMU can be used by several simulators given different names.
46
48
`<Simulator>` may contain sub-element `<InitialValues>`. `<InitialValues>` is optional when initial values of one or multiple variables in the simulator needs to be defined.
| <*InitialValues*> |`variable`| Contains sub-element <*InitialValue*> defying all initial values of variables in need. Attribute `variable` is a string that refers to a variable in the simulator.|
57
59
| <*InitialValue*> |`value`| Contains sub-element specifying the variable type which can be `<Real>`, `<Integer>`, `<Boolean>`, or `<String>`. Attribute `value` gives the initial value of the variable.|
@@ -78,7 +80,7 @@ Each running simulator must be assigned to a model(fmu). One FMU can be used by
78
80
`Functions` are provided to handle manipulations of variables outside individual FMUs, for example, arithmetical operation.
79
81
This is especially important when different models are provided by different vendors.
|*LinearTransformation*|`offset`| The linear transformation function is the operation that preserves the operations of addition and scalar multiplication, with attribute `offset` being the additional part.|
84
86
||`factor`|`factor` is the multiplication factor of the linear transformation function.|
@@ -98,7 +100,7 @@ This is especially important when different models are provided by different ven
98
100
## \<Connection>
99
101
As defined in OSP-IS, `connections` are configured through variables and variableGroups. It is highly recommended to follow the specification for its interfaces when exporting a model for connections.
| <*VariableConnection*> |`simulator`; `name`| Contains sub-elements `<Variable>` with attributes specifying the `simulator` of which the variable belongs to and name of the variable.|
104
106
| <*SignalConnection*> |`simulator`; `name`| Contains sub-elements `<Variable>` with attributes specifying the `simulator` of which the variable belongs to and `name` of the variable.|
@@ -130,6 +132,26 @@ As defined in OSP-IS, `connections` are configured through variables and variabl
130
132
</SignalGroupConnection>
131
133
</Connections>
132
134
```
135
+
## \<EccoConfiguration>
136
+
`EccoConfiguration` is an *optional* element that shall be included if the `Algorithm` is chosen as `ecco`. This element contains a list of configuration options specific to the ECCO algorithm. Sensible default values to start with are also provided.
| <*SafetyFactor*> | 0.99 | A tuning factor to account for the fact that the error terms in general cannot be exactly compensated for. |
141
+
| <*StepSize*> | 0.01 | The step size the algorithms starts with, effectively it's initial value. |
142
+
| <*MinimumStepSize*> | 0.1 | The maximum step size the step size controller is allowed to set. ||
143
+
| <*MaximumStepSize*> | 1e-4 | The minimum step size the step size controller is allowed to set. |
144
+
| <*MinimumChangeRate*> | 0.2 | Multiplicative factor expressing the minimum rate of change of the step size for each iteration. |
145
+
| <*MaximumChangeRate*> | 1.5 | Multiplicative factor expressing the maximum rate of change of the step size for each iteration. |
146
+
| <*ProportionalGain*> | 0.2 | The proportional gain of the underlying PI-controller. |
147
+
| <*IntegralGain*> | 0.15 | The integral gain of the underlying PI-controller. |
148
+
| <*RelativeTolerance*> | 1e-6 | Error tolerance for the relative error. |
149
+
| <*AbsoluteTolerance*> | 1e-6 | Error tolerance for the absolute error. |
150
+
151
+
152
+
153
+
154
+
133
155
134
156
Alternatively, co-simulation configuration using the [SSP standard](https://ssp-standard.org/){:target="_blank"} is also supported. The SSP standard is one of the standardization projects of the FMI standard.
135
157
The normative XML Schema 1.0 schema for the MAP SSP can be found [here](https://github.com/open-simulation-platform/cse-core/tree/master/test/data/ssp/SSP10){:target="_blank"}.
0 commit comments