gitextract_vu3ilfpd/ ├── .github/ │ └── workflows/ │ └── build_and_test.yml ├── .gitignore ├── AUTHORS.rst ├── CONTRIBUTING.rst ├── HISTORY.rst ├── LICENSE ├── MANIFEST.in ├── Makefile ├── README.rst ├── docs/ │ ├── JOSS/ │ │ ├── paper.bib │ │ └── paper.md │ ├── Makefile │ ├── api/ │ │ ├── omg.agents.agent.rst │ │ ├── omg.agents.episodic.rst │ │ ├── omg.agents.rst │ │ ├── omg.agents.safeopt.rst │ │ ├── omg.agents.staticctrl.rst │ │ ├── omg.agents.util.rst │ │ ├── omg.aux_ctl.base.rst │ │ ├── omg.aux_ctl.droop_controllers.rst │ │ ├── omg.aux_ctl.filter.rst │ │ ├── omg.aux_ctl.inverter_controllers.rst │ │ ├── omg.aux_ctl.observers.rst │ │ ├── omg.aux_ctl.params.rst │ │ ├── omg.aux_ctl.pi_controllers.rst │ │ ├── omg.aux_ctl.rst │ │ ├── omg.env.modelica.rst │ │ ├── omg.env.plot.rst │ │ ├── omg.env.plotmanager.rst │ │ ├── omg.env.pyfmi.rst │ │ ├── omg.env.rst │ │ ├── omg.execution.callbacks.rst │ │ ├── omg.execution.rst │ │ ├── omg.execution.runner.rst │ │ ├── omg.net.base.rst │ │ ├── omg.net.components.rst │ │ ├── omg.net.rst │ │ ├── omg.util.fastqueue.rst │ │ ├── omg.util.itertools_.rst │ │ ├── omg.util.randproc.rst │ │ ├── omg.util.recorder.rst │ │ ├── omg.util.rst │ │ └── omg.util.transforms.rst │ ├── conf.py │ ├── index.rst │ ├── make.bat │ └── parts/ │ └── user_guide/ │ ├── OpenModelica.rst │ ├── Pythoncode.rst │ ├── controller_tuning.rst │ ├── examples/ │ │ ├── basic_agent.rst │ │ ├── creating_env.rst │ │ ├── plotting.rst │ │ ├── single_inverter_current_control_safe_opt.rst │ │ └── two_inverter_static_droop_control.rst │ ├── examples.rst │ ├── fmu.rst │ └── getting_started.rst ├── examples/ │ ├── basic_env.py │ ├── basic_env_norm.py │ ├── network_callbacks.py │ ├── plotting.py │ ├── simple_agent.py │ ├── single_inverter_current_control_safe_opt.py │ ├── single_inverter_voltage_current_control_safe_opt.py │ ├── stocastic_load.py │ ├── two_inverter_droop_safe_opt.py │ └── two_inverter_static_droop_control.py ├── experiments/ │ ├── model_validation/ │ │ ├── env/ │ │ │ ├── physical_testbench.py │ │ │ ├── rewards.py │ │ │ ├── stochastic_components.py │ │ │ └── testbench_voltage_ctrl.py │ │ ├── execution/ │ │ │ ├── monte_carlo_runner.py │ │ │ └── runner_hardware.py │ │ ├── lengthScaleSweepMC650.py │ │ ├── single_inverter_current_control_safe_opt_includingTB.py │ │ ├── single_inverter_voltage_current_control_safe_opt_includingTB.py │ │ └── single_inverter_voltage_current_control_safe_opt_includingTB_4D.py │ └── testing_framework_control/ │ ├── df_metrics_id_controller1.pkl │ ├── df_metrics_id_controller2.pkl │ ├── df_metrics_iq_controller1.pkl │ ├── df_metrics_iq_controller2.pkl │ ├── df_metrics_slave_f_controller1_droop.pkl │ ├── df_metrics_slave_f_controller2_droop.pkl │ ├── df_metrics_vd_controller1.pkl │ ├── df_metrics_vd_controller1_droop.pkl │ ├── df_metrics_vd_controller2.pkl │ ├── df_metrics_vd_controller2_droop.pkl │ ├── df_metrics_vq_controller1.pkl │ ├── df_metrics_vq_controller1_droop.pkl │ ├── df_metrics_vq_controller2.pkl │ ├── df_metrics_vq_controller2_droop.pkl │ ├── metrics.py │ ├── net.yaml │ ├── net_RL_load.yaml │ ├── net_single-inv-curr.yaml │ ├── scoringmodel_innerlevel.py │ ├── scoringmodel_primarylevel.py │ ├── tf_innerlevel_idq.py │ ├── tf_innerlevel_vdq.py │ └── tf_primarylevel_vdq_slavefreq.py ├── net/ │ ├── net.yaml │ ├── net_dupinputs.yaml │ ├── net_single-inv-Paper_Loadstep.yaml │ ├── net_single-inv-curr.yaml │ ├── net_single-inv-curr_Paper_SC.yaml │ ├── net_single-inv-volt.yaml │ ├── net_singleinverter.yaml │ ├── net_static_droop_controller.yaml │ ├── net_test.yaml │ └── net_valid.yaml ├── omg_grid/ │ ├── ActiveLoads/ │ │ ├── ActiveLoad.mo │ │ ├── package.mo │ │ └── package.order │ ├── Components/ │ │ ├── PhaseAngle.mo │ │ ├── StartValues.mo │ │ ├── package.mo │ │ └── package.order │ ├── Examples/ │ │ ├── ControlledNetworkSC.mo │ │ ├── ControlledNetworkSingleInverter.mo │ │ ├── NetworkSineTest.mo │ │ ├── PLL_Test.mo │ │ ├── package.mo │ │ └── package.order │ ├── Filter/ │ │ ├── IdealFilter/ │ │ │ ├── L.mo │ │ │ ├── LC.mo │ │ │ ├── LCL.mo │ │ │ ├── LCLC.mo │ │ │ ├── PI.mo │ │ │ ├── package.mo │ │ │ └── package.order │ │ ├── LossesFilter/ │ │ │ ├── L.mo │ │ │ ├── LC.mo │ │ │ ├── LCL.mo │ │ │ ├── LCLC.mo │ │ │ ├── PI.mo │ │ │ ├── package.mo │ │ │ └── package.order │ │ ├── package.mo │ │ └── package.order │ ├── Grids/ │ │ ├── Microgrid.mo │ │ ├── Network.mo │ │ ├── NetworkSineTest.bak-mo │ │ ├── NetworkSingleInverter.mo │ │ ├── PLL.bak-mo │ │ ├── PLL_Network.mo │ │ ├── RLC_Network.mo │ │ ├── SingleModel.mo │ │ ├── Testbench_SC2.mo │ │ ├── package.mo │ │ └── package.order │ ├── Inverters/ │ │ ├── Inverter.mo │ │ ├── package.mo │ │ └── package.order │ ├── Loads/ │ │ ├── C.mo │ │ ├── L.mo │ │ ├── LC.mo │ │ ├── R.mo │ │ ├── RC.mo │ │ ├── RL.mo │ │ ├── RLC.mo │ │ ├── package.mo │ │ └── package.order │ ├── PLLs/ │ │ ├── Inverter.bak-mo │ │ ├── PLL.mo │ │ ├── PLL_DQ.mo │ │ ├── package.mo │ │ └── package.order │ ├── Transformations/ │ │ ├── ABC2AlphaBeta.mo │ │ ├── ABC2DQ_Currents.mo │ │ ├── DQ2ABC.mo │ │ ├── package.mo │ │ └── package.order │ ├── UsersGuide/ │ │ ├── Contact.mo │ │ ├── ModelicaLicense2.mo │ │ ├── package.mo │ │ └── package.order │ ├── create_fmu.mos │ ├── grid.mo │ ├── grid.network.fmu │ ├── grid.network_singleInverter.fmu │ ├── merge_fmus.py │ ├── omg_grid.Grids.NetworkSingleInverter.fmu │ ├── package.mo │ ├── package.order │ └── test.fmu ├── openmodelica_microgrid_gym/ │ ├── __init__.py │ ├── agents/ │ │ ├── __init__.py │ │ ├── agent.py │ │ ├── episodic.py │ │ ├── safeopt.py │ │ ├── staticctrl.py │ │ └── util.py │ ├── aux_ctl/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── droop_controllers.py │ │ ├── filter.py │ │ ├── inverter_controllers.py │ │ ├── observers.py │ │ ├── params.py │ │ └── pi_controllers.py │ ├── env/ │ │ ├── __init__.py │ │ ├── modelica.py │ │ ├── plot.py │ │ ├── plotmanager.py │ │ └── pyfmi.py │ ├── execution/ │ │ ├── __init__.py │ │ ├── callbacks.py │ │ └── runner.py │ ├── net/ │ │ ├── __init__.py │ │ ├── base.py │ │ └── components.py │ └── util/ │ ├── __init__.py │ ├── fastqueue.py │ ├── itertools_.py │ ├── obs_template.py │ ├── randproc.py │ ├── recorder.py │ └── transforms.py ├── requirements.txt ├── requirements_dev.txt ├── setup.cfg ├── setup.py └── tests/ ├── __init__.py ├── aux_ctl/ │ ├── test_base.py │ └── test_inverter_control.py ├── helpers.py ├── net/ │ └── test_net.py ├── test__util_plot.py ├── test_main.hd5 ├── test_main2.hd5 ├── test_main3.hd5 ├── test_main4.hd5 ├── test_modelica.py ├── test_pd_convert.py ├── test_recorder.py ├── test_runner.py ├── test_transforms.py └── util/ ├── __init__.py ├── test_fastqueue.py ├── test_flattendict.py ├── test_itertools_flatten_together.py └── test_obs_template.py