| 11 | description = "A simple description" |
| 12 | |
| 13 | def __init__(self, **kwargs): |
| 14 | super().__init__(**kwargs) |
| 15 | |
| 16 | self.intParam = 42 |
| 17 | self.intOut = 23 |
| 18 | self.realOut = 3.0 |
| 19 | self.booleanVariable = True |
| 20 | self.stringVariable = "Hello World!" |
| 21 | self.realIn = 2. / 3. |
| 22 | self.booleanParameter = False |
| 23 | self.stringParameter = "dog" |
| 24 | self.register_variable( |
| 25 | Integer("intParam", causality=Fmi2Causality.parameter, variability=Fmi2Variability.tunable)) |
| 26 | self.register_variable(Real("realIn", causality=Fmi2Causality.input)) |
| 27 | self.register_variable( |
| 28 | Boolean("booleanParameter", causality=Fmi2Causality.parameter, variability=Fmi2Variability.tunable)) |
| 29 | self.register_variable( |
| 30 | String("stringParameter", causality=Fmi2Causality.parameter, variability=Fmi2Variability.tunable)) |
| 31 | |
| 32 | self.register_variable(Integer("intOut", causality=Fmi2Causality.output)) |
| 33 | self.register_variable(Real("realOut", causality=Fmi2Causality.output)) |
| 34 | self.register_variable(Boolean("booleanVariable", causality=Fmi2Causality.local)) |
| 35 | self.register_variable(String("stringVariable", causality=Fmi2Causality.local)) |
| 36 | |
| 37 | self.container = Container() |
| 38 | self.container.someReal = 99.0 |
| 39 | self.container.subContainer = sub = Container() |
| 40 | sub.someInteger = -15 |
| 41 | self.register_variable( |
| 42 | Real("container.someReal", causality=Fmi2Causality.parameter, variability=Fmi2Variability.tunable)) |
| 43 | self.register_variable( |
| 44 | Integer("container.subContainer.someInteger", causality=Fmi2Causality.parameter, |
| 45 | variability=Fmi2Variability.tunable)) |
| 46 | |
| 47 | def do_step(self, current_time, step_size): |
| 48 | self.realOut = current_time + step_size |