API reference¶
GridCal uses an object oriented approach for all the data and simulation
management. However the object orientation is very inefficient when used in numerical
computation, that is why there are compile()
functions that extract the
information out of the objects and turn this information into vectors, matrices and
DataFrames in order to have efficient numerical computations. After having been
involved in quite some number-crunching software developments, I have found this
approach to be the best compromise between efficiency and code scalability and
maintainability.
The whole idea can be summarized as:
Object oriented structures -> intermediate objects holding arrays -> Numerical modules
- GridCal package
- Subpackages
- GridCal.Engine package
- Subpackages
- GridCal.Engine.Core package
- GridCal.Engine.Devices package
- Submodules
- GridCal.Engine.Devices.battery module
- GridCal.Engine.Devices.branch module
- GridCal.Engine.Devices.bus module
- GridCal.Engine.Devices.generator module
- GridCal.Engine.Devices.load module
- GridCal.Engine.Devices.measurement module
- GridCal.Engine.Devices.meta_devices module
- GridCal.Engine.Devices.sequence_line module
- GridCal.Engine.Devices.shunt module
- GridCal.Engine.Devices.static_generator module
- GridCal.Engine.Devices.tower module
- GridCal.Engine.Devices.transformer module
- GridCal.Engine.Devices.types module
- GridCal.Engine.Devices.underground_line module
- GridCal.Engine.Devices.wire module
- Submodules
- GridCal.Engine.IO package
- Submodules
- GridCal.Engine.IO.cim_parser module
- GridCal.Engine.IO.dgs_parser module
- GridCal.Engine.IO.dpx_parser module
- GridCal.Engine.IO.excel_interface module
- GridCal.Engine.IO.file_handler module
- GridCal.Engine.IO.h5_interface module
- GridCal.Engine.IO.ipa_parser module
- GridCal.Engine.IO.json_parser module
- GridCal.Engine.IO.matpower_branch_definitions module
- GridCal.Engine.IO.matpower_bus_definitions module
- GridCal.Engine.IO.matpower_gen_definitions module
- GridCal.Engine.IO.matpower_parser module
- GridCal.Engine.IO.matpower_storage_definitions module
- GridCal.Engine.IO.psse_parser module
- GridCal.Engine.IO.sqlite_interface module
- GridCal.Engine.IO.zip_interface module
- Submodules
- GridCal.Engine.Replacements package
- GridCal.Engine.Simulations package
- Subpackages
- GridCal.Engine.Simulations.ContinuationPowerFlow package
- GridCal.Engine.Simulations.Dynamics package
- GridCal.Engine.Simulations.OPF package
- GridCal.Engine.Simulations.Optimization package
- GridCal.Engine.Simulations.PowerFlow package
- GridCal.Engine.Simulations.ShortCircuit package
- GridCal.Engine.Simulations.StateEstimation package
- GridCal.Engine.Simulations.Stochastic package
- GridCal.Engine.Simulations.Topology package
- Submodules
- Subpackages
- Submodules
- Subpackages
- GridCal.Gui package
- Subpackages
- GridCal.Gui.Analysis package
- GridCal.Gui.Main package
- GridCal.Gui.ProfilesInput package
- Submodules
- GridCal.Gui.ProfilesInput.excel_dialog module
- GridCal.Gui.ProfilesInput.excel_sheet_selection module
- GridCal.Gui.ProfilesInput.gui module
- GridCal.Gui.ProfilesInput.icons_rc module
- GridCal.Gui.ProfilesInput.matplotlibwidget module
- GridCal.Gui.ProfilesInput.profile_dialogue module
- GridCal.Gui.ProfilesInput.update_gui_file module
- Submodules
- GridCal.Gui.TowerBuilder package
- Submodules
- GridCal.Gui.TowerBuilder.LineBuilderDialogue module
- GridCal.Gui.TowerBuilder.gui module
- GridCal.Gui.TowerBuilder.icons_rc module
- GridCal.Gui.TowerBuilder.matplotlibwidget module
- GridCal.Gui.TowerBuilder.test_ module
- GridCal.Gui.TowerBuilder.tower_model module
- GridCal.Gui.TowerBuilder.update_gui_file module
- Submodules
- Submodules
- Subpackages
- GridCal.Engine package
- Submodules
- Subpackages