PyDSS.pyPostprocessor.PostprocessScripts package¶
Subpackages¶
Submodules¶
PyDSS.pyPostprocessor.PostprocessScripts.AutomatedThermalUpgrade module¶
- class PyDSS.pyPostprocessor.PostprocessScripts.AutomatedThermalUpgrade.AutomatedThermalUpgrade(project, scenario, inputs, dssInstance, dssSolver, dssObjects, dssObjectsByClass, simulationSettings, Logger)[source]¶
Bases:
PyDSS.pyPostprocessor.pyPostprocessAbstract.AbstractPostprocessThe class is used to determine thermal upgrades
- REQUIRED_INPUT_FIELDS = ('line_loading_limit', 'dt_loading_limit', 'line_safety_margin', 'xfmr_safety_margin', 'nominal_voltage', 'max_iterations', 'create_upgrade_plots', 'tps_to_test', 'create_upgrades_library', 'upgrade_library_path')¶
- generate_edges()[source]¶
All lines, switches, reclosers etc are modeled as lines, so calling lines takes care of all of them. However we also need to loop over transformers as they form the edge between primary and secondary nodes :return:
- run(step, stepMax, simulation=None)[source]¶
Method used to run a post processing script.
- Parameters
step (int) – Current step
stepMax (int) – Last step of the simulation
simulation (OpenDSS) – PyDSS simulation control class. Provided for access to control algorithms. Subclasses should not hold references to this instance after this method exits.
PyDSS.pyPostprocessor.PostprocessScripts.AutomatedThermalUpgrade_helper module¶
- class PyDSS.pyPostprocessor.PostprocessScripts.AutomatedThermalUpgrade_helper.AutomatedThermalUpgrade_helper(dssInstance, dssSolver, dssObjects, dssObjectsByClass, simulationSettings)[source]¶
Bases:
PyDSS.pyPostprocessor.pyPostprocessAbstract.AbstractPostprocessThe class is used to induce faults on bus for dynamic simulation studies. Subclass of the
PyDSS.pyControllers.pyControllerAbstract.ControllerAbstractabstract class.- Parameters
FaultObj (class:PyDSS.dssElement.dssElement) – A
PyDSS.dssElement.dssElementobject that wraps around an OpenDSS ‘Fault’ elementSettings (dict) – A dictionary that defines the settings for the faul controller.
dssInstance (
opendssdirectinstance) – AnopendssdirectinstanceElmObjectList (dict) – Dictionary of all dssElement, dssBus and dssCircuit ojects
dssSolver (
PyDSS.SolveMode) – An instance of one of the classes defined inPyDSS.SolveMode.
- Raises
AssertionError if ‘FaultObj’ is not a wrapped OpenDSS Fault element
PyDSS.pyPostprocessor.PostprocessScripts.AutomatedVoltageUpgrade module¶
- class PyDSS.pyPostprocessor.PostprocessScripts.AutomatedVoltageUpgrade.AutomatedVoltageUpgrade(project, scenario, inputs, dssInstance, dssSolver, dssObjects, dssObjectsByClass, simulationSettings, Logger)[source]¶
Bases:
PyDSS.pyPostprocessor.pyPostprocessAbstract.AbstractPostprocessThis class is used to determine Voltage Upgrades
- REQUIRED_INPUT_FIELDS = ('target_v', 'initial_voltage_upper_limit', 'initial_voltage_lower_limit', 'final_voltage_upper_limit', 'final_voltage_lower_limit', 'nominal_voltage', 'nominal_pu_voltage', 'tps_to_test', 'create_topology_plots', 'cap_sweep_voltage_gap', 'reg_control_bands', 'reg_v_delta', 'max_regulators', 'use_ltc_placement', 'thermal_scenario_name')¶
- generate_edges()[source]¶
All lines, switches, reclosers etc are modeled as lines, so calling lines takes care of all of them. However we also need to loop over transformers as they form the edge between primary and secondary nodes :return:
- run(step, stepMax, simulation=None)[source]¶
Method used to run a post processing script.
- Parameters
step (int) – Current step
stepMax (int) – Last step of the simulation
simulation (OpenDSS) – PyDSS simulation control class. Provided for access to control algorithms. Subclasses should not hold references to this instance after this method exits.
PyDSS.pyPostprocessor.PostprocessScripts.DERMSOptimizer module¶
- class PyDSS.pyPostprocessor.PostprocessScripts.DERMSOptimizer.DERMSOptimizer(project, scenario, inputs, dssInstance, dssSolver, dssObjects, dssObjectsByClass, simulationSettings, Logger)[source]¶
Bases:
PyDSS.pyPostprocessor.pyPostprocessAbstract.AbstractPostprocess- IMPLEMENTATION_MODES = ['Continuous', 'Voltage triggered', 'Time triggered', 'Off']¶
- REQUIRED_INPUT_FIELDS_AND_DEFAULTS = {'Distributions': {'Imes': ['norm', [0.0, 0.01]], 'Vmes': ['norm', [0.0, 0.01]]}, 'Vlower': 0.955, 'Vupper': 1.038, 'coeff_p': 0.0005, 'coeff_q': 1e-06, 'control_all_flag': True, 'control_flag': True, 'implementation_mode': 'Voltage triggered', 'max_iterations': 50, 'measurements_noises_flag': True, 'num_DERMS': 1, 'opf_iteration': 60, 'stepsize_mu': 10, 'stepsize_xp': 1, 'stepsize_xq': 5, 'time_trigger_sec': 900}¶
PyDSS.pyPostprocessor.PostprocessScripts.EdLiFoControl module¶
- class PyDSS.pyPostprocessor.PostprocessScripts.EdLiFoControl.EdLiFoControl(project, scenario, inputs, dssInstance, dssSolver, dssObjects, dssObjectsByClass, simulationSettings, Logger)[source]¶
Bases:
PyDSS.pyPostprocessor.pyPostprocessAbstract.AbstractPostprocessElectric distance last-in First-out curtailment based PV output control
- REQUIRED_INPUT_FIELDS = ['curtailment_size', 'electrical_distance_file_path', 'zone_option', 'zone_threshold', 'fixed_pv_path', 'lifo_pv_path', 'lifo_min_pv_size', 'user_lifo_pv_list']¶
- PyDSS.pyPostprocessor.PostprocessScripts.EdLiFoControl.check_line_overloads(monitored_lines)[source]¶
Checks line overloads
- PyDSS.pyPostprocessor.PostprocessScripts.EdLiFoControl.choose_zone_radius(dismat_df)[source]¶
Selects a zone radius value that makes sense
- PyDSS.pyPostprocessor.PostprocessScripts.EdLiFoControl.compute_electric_distance(bus_phases=None)[source]¶
This method computes electric distance matrix
- PyDSS.pyPostprocessor.PostprocessScripts.EdLiFoControl.form_pvzones(affected_buses, dismat_df, zone_thr)[source]¶
Builds PV zones
- PyDSS.pyPostprocessor.PostprocessScripts.EdLiFoControl.get_g(r_value)[source]¶
Get conductance values from resistance values
- PyDSS.pyPostprocessor.PostprocessScripts.EdLiFoControl.get_monitored_line_dataframe(phase_info=3)[source]¶
Sample syntax: monitored_lines = get_monitored_line_dataframe()
- PyDSS.pyPostprocessor.PostprocessScripts.EdLiFoControl.get_transformer_info()[source]¶
Gather transformer information
PyDSS.pyPostprocessor.PostprocessScripts.Utilidata_Interface module¶
- class PyDSS.pyPostprocessor.PostprocessScripts.Utilidata_Interface.NOAAData(token)[source]¶
Bases:
object
- class PyDSS.pyPostprocessor.PostprocessScripts.Utilidata_Interface.Utilidata_Interface(project, scenario, inputs, dssInstance, dssSolver, dssObjects, dssObjectsByClass, simulationSettings, Logger)[source]¶
Bases:
PyDSS.pyPostprocessor.pyPostprocessAbstract.AbstractPostprocess- IMPLEMENTATION_MODES = []¶
- REQUIRED_INPUT_FIELDS_AND_DEFAULTS = {}¶
- run(step, stepMax)[source]¶
Method used to run a post processing script.
- Parameters
step (int) – Current step
stepMax (int) – Last step of the simulation
simulation (OpenDSS) – PyDSS simulation control class. Provided for access to control algorithms. Subclasses should not hold references to this instance after this method exits.
PyDSS.pyPostprocessor.PostprocessScripts.postprocess_thermal_upgrades module¶
- class PyDSS.pyPostprocessor.PostprocessScripts.postprocess_thermal_upgrades.postprocess_thermal_upgrades(Settings, dss, logger)[source]¶
Bases:
object- generate_edges()[source]¶
All lines, switches, reclosers etc are modeled as lines, so calling lines takes care of all of them. However we also need to loop over transformers as they form the edge between primary and secondary nodes :return:
- get_all_parallel()[source]¶
processed_upgrade_file is the name of the json file written out from Akshay’s thermal upgrades code