Controllers toevoegen via de workflow
Als er eenmaal een drtcmodel object is aangemaakt in de worklow (zie hieronder voor een voorbeeld), kunnen controllers worden toegevoegd zoals hieronder wordt getoond. Alleen PID-, interval- en timecontrollers worden op dit moment ondersteund. Alle controllers accepteren een tijdreeks als streefpeil, het moet in dat geval een pandas Series zijn, met de tijd als index.
PID-controller
Gebruik deze functie voor een PID-controller:
drtcmodel.add_pid_controller(
structure_id=struc_id,
steering_variable=steering_variable,
target_variable=target_variable,
ki=ki,
kp=kp,
kd=kd,
max_speed=max_speed,
setpoint=management.streefwaarde,
lower_bound=management.ondergrens,
upper_bound=management.bovengrens,
observation_location=management.meetlocatieid,
)
Interval controller
drtcmodel.add_interval_controller(
structure_id=struc_id,
steering_variable=steering_variable,
target_variable=target_variable,
daedband=deadband,
setting_above=management.bovengrens,
setting_below=management.ondergrens,
max_speed=max_speed,
setpoint=management.streefwaarde,
observation_location=management.meetlocatieid,
)
Voor de betekenis van de parameters verwijzen we naar de D-RTC manual.
Time controller
Voor een time controller kan de volgende functie worden gebruikt:
drtcmodel.add_time_controller(
structure_id="S_96548", steering_variable="Crest level (s)", data=timeseries.loc[:,'S_96548']
)
timeseries is een Pandas dataframe. Dat kan worden ingelezen uit een CSV (bijvoorbeeld). De naam van het kunstwerk moet gelijk zijn aan de naam van de betreffende kolom en de index van het dataframe moet de tijdstappen bevatten.
Aanmaken DRTCModel
Voorbeeld aanmaken drtcmodel-object:
D-HyDAMO alle HyDAMO DAMO2.2 objecten, ‘fm’ is het deels opgebouwde 1D-model, output_path is de locatie waar het model geplaatst zal worden en rtc_timestep is de beoogde tijdstap in seconden.