System strength#

solve_system_strength(case, buses=None, *, at_mw=None, scr_threshold=3.0, backend=None)#

Calculate three-phase fault level and short-circuit ratio by bus.

Parameters:
  • case -- Case to analyze.

  • buses -- Bus numbers to analyze. None selects every bus.

  • at_mw -- MW capacity by bus for short-circuit ratio calculations.

  • scr_threshold -- Ratio below which a row is marked weak.

  • backend -- Backend name or None for automatic selection.

Returns:

Fault level, fault current, and optional ratio rows in request order.

class BusStrength(bus, scmva, ika, scr, weak, energized)#

Store system-strength results for one bus.

bus#

Bus number.

Type:

int

scmva#

Three-phase short-circuit strength in MVA.

Type:

float

ika#

Fault current in kA, or None without a base voltage.

Type:

float | None

scr#

Short-circuit ratio, or None without a power value.

Type:

float | None

weak#

Weak-grid flag, or None when SCR is unavailable.

Type:

bool | None

energized#

Whether the bus island contains an in-service source.

Type:

bool

class SystemStrengthReport(rows, scr_threshold, stats=<factory>)#

Strength rows in request order, plus the threshold that defined weak. to_markdown renders the exhibit table.

doc()#

Return the result document: the scalar header, with the column bindings for the strength row-table, which lives on the queryable slot and is queried in SQL.

as_tables()#

Row-table for the SQL query surface: strength (one row per bus -- three-phase short-circuit MVA, fault current kA, SCR, weak-grid flag).

classmethod column_quantities()#

Return the quantity each strength column binds, keyed by table then column. The short-circuit power is an apparent power at the fault and the ratio behind the weak-grid flag is dimensionless, so each binds its own quantity rather than sharing one by unit.

to_markdown(path=None)#

Return the system-strength report as Markdown.