GridCal.Engine.Simulations.ShortCircuit package

Submodules

GridCal.Engine.Simulations.ShortCircuit.short_circuit module

GridCal.Engine.Simulations.ShortCircuit.short_circuit.short_circuit_3p(bus_idx, Zbus, Vbus, Zf, baseMVA)

Executes a 3-phase balanced short circuit study Args:

bus_idx: Index of the bus at which the short circuit is being studied Zbus: Inverse of the admittance matrix Vbus: Voltages of the buses in the steady state Zf: Fault impedance array

Returns: Voltages after the short circuit (p.u.), Short circuit power in MVA

GridCal.Engine.Simulations.ShortCircuit.short_circuit_driver module

class GridCal.Engine.Simulations.ShortCircuit.short_circuit_driver.ShortCircuit(grid: GridCal.Engine.Core.multi_circuit.MultiCircuit, options: GridCal.Engine.Simulations.ShortCircuit.short_circuit_driver.ShortCircuitOptions, pf_results: GridCal.Engine.Simulations.PowerFlow.power_flow_results.PowerFlowResults)

Bases: PySide2.QtCore.QRunnable

cancel()
static compile_zf(grid)
static compute_branch_results(calculation_inputs: GridCal.Engine.Core.calculation_inputs.CalculationInputs, V)

Compute the power flows trough the branches @param calculation_inputs: instance of Circuit @param V: Voltage solution array for the circuit buses @return: Sbranch, Ibranch, loading, losses

get_steps()

Get time steps list of strings

run()

Run a power flow for every circuit @return:

single_short_circuit(calculation_inputs: GridCal.Engine.Core.calculation_inputs.CalculationInputs, Vpf, Zf)

Run a power flow simulation for a single circuit @param calculation_inputs: @param Vpf: Power flow voltage vector applicable to the island @param Zf: Short circuit impedance vector applicable to the island @return: short circuit results

static split_branch(branch: GridCal.Engine.Devices.branch.Branch, fault_position, r_fault, x_fault)

Split a branch by a given distance :param branch: Branch of a circuit :param fault_position: per unit distance measured from the “from” bus (0 ~ 1) :param r_fault: Fault resistance in p.u. :param x_fault: Fault reactance in p.u. :return: the two new branches and the mid short circuited bus

class GridCal.Engine.Simulations.ShortCircuit.short_circuit_driver.ShortCircuitOptions(bus_index=[], branch_index=[], branch_fault_locations=[], branch_fault_impedance=[], branch_impedance_tolerance_mode=<BranchImpedanceMode.Specified: 0>, verbose=False)

Bases: object

class GridCal.Engine.Simulations.ShortCircuit.short_circuit_driver.ShortCircuitResults(Sbus=None, voltage=None, Sbranch=None, Ibranch=None, loading=None, losses=None, SCpower=None, error=None, converged=None, Qpv=None)

Bases: GridCal.Engine.Simulations.PowerFlow.power_flow_results.PowerFlowResults

apply_from_island(results, b_idx, br_idx)

Apply results from another island circuit to the circuit results represented here @param results: PowerFlowResults @param b_idx: bus original indices @param br_idx: branch original indices @return:

copy()

Return a copy of this @return:

initialize(n, m)

Initialize the arrays @param n: number of buses @param m: number of branches @return:

plot(result_type, ax=None, indices=None, names=None)

Plot the results Args:

result_type: ax: indices: names:

Returns: