from pandapower.estimation.wls_ppc_conversions import _add_measurements_to_ppc, \ _build_measurement_vectors, _init_ppc from pandapower.estimation.results import _copy_power_flow_results, _rename_results from pandapower.idx_brch import F_BUS, T_BUS, BR_STATUS, PF, PT, QF, QT from pandapower.auxiliary import _add_pf_options, get_values from pandapower.estimation.wls_matrix_ops import wls_matrix_ops from pandapower.pf.runpf_pypower import _get_pf_variables_from_ppci, \ _store_results_from_pf_in_ppci from pandapower.results import _copy_results_ppci_to_ppc, _extract_results from pandapower.topology import estimate_voltage_vector try: import pplog as logging except ImportError: import logging std_logger = logging.getLogger(__name__) def estimate(net, init='flat', tolerance=1e-6, maximum_iterations=10, calculate_voltage_angles=True, ref_power=1e6): """ Wrapper function for WLS state estimation. INPUT: **net** - The net within this line should be created. **init** - (string) Initial voltage for the estimation. 'flat' sets 1.0 p.u. / 0° for all
# Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. from pandapipes import pandapipesNet from pandapipes.multinet.control.run_control_multinet import prepare_run_ctrl, run_control from pandapipes.timeseries.run_time_series import init_default_outputwriter as init_default_ow_pps from pandapower import pandapowerNet from pandapower.control.util.diagnostic import control_diagnostic from pandapower.timeseries.run_time_series import get_recycle_settings, init_time_steps, output_writer_routine, \ print_progress_bar, cleanup, run_loop, init_default_outputwriter as init_default_ow_pp, init_output_writer try: import pplog except ImportError: import logging as pplog logger = pplog.getLogger(__name__) logger.setLevel(level=pplog.WARNING) def _call_output_writer(multinet, time_step, pf_converged, ctrl_converged, ts_variables): """ Calling the output writer routine for each net in multinet. :param multinet: multinet with multinet controllers, net distinct controllers and several pandapipes/pandapower nets :type multinet: pandapipes.Multinet :param time_step: the results of each time step, which shall be retrieved by the output writer :type time_step: sequence of array_like :param pf_converged: did powerflow converge :type pf_converged: bool :param ctrl_converged: did all controller converge
import pandapower.control as ct import pandapower.networks as networks import pandapower as pp from pandapower.control.run_control import get_controller_order from pandapower.control.basic_controller import Controller from pandapower.control.controller.trafo_control import TrafoController from pandapower.control.controller.trafo.ContinuousTapControl import ContinuousTapControl from pandapower.timeseries.output_writer import OutputWriter from pandapower.timeseries.run_time_series import run_timeseries try: import pplog except: import logging as pplog logger = pplog.getLogger(__name__) ctrl_logger = pplog.getLogger("hp.control.control_handler") logger.setLevel(pplog.CRITICAL) class DummyController(Controller): def __init__(self, net, in_service=True, level=0, order=0, drop_same_existing_ctrl=False, matching_params=None): if matching_params is None: matching_params = {'level': level, 'order': order} super().__init__(net,