Skip to main content

Module math

Module math 

Source
Expand description

The PowerModelsDistribution MATHEMATICAL model as JSON (pmd-math-json).

PMD’s transform_data_model lowers an ENGINEERING model to the index based, per unit MATHEMATICAL model its optimization problems are built on: integer keyed bus, branch, switch, transformer, gen, load, shunt, and storage tables, every value per unit on a bus voltage base and the system power base, angles in radians, and transformers decomposed into ideal two-winding units joined by a loss model of virtual buses and branches. The map table records which MATHEMATICAL objects each ENGINEERING object became, and bus_lookup names each bus’s index.

The writer performs that lowering from the typed network, following eng2math.jl, make_per_unit!, and calc_voltage_bases of PMD v0.16: the same object names, source_ids, virtual element names, and per unit conventions, so PMD reads the output as its own and the oracle tests compare the two value by value. The reader inverts the per unit scaling with the document’s own bases and folds the virtual elements back through map, so a MATHEMATICAL document parses to the same MulticonductorNetwork its ENGINEERING source would, with the irreversible parts (winding power ratings, line lengths, Kron reduced neutrals) restated and reported.

Structs§

PmdMathEmitOptions
The emission policy of the MATHEMATICAL writer.