Choose your tutorial

The documentation is organised by topic — data model, case preparation, OPF, bounds. That is the right shape for reference, but not always for a newcomer who knows their goal and wants a starting point. This page routes by goal.

If you are brand new, read the end-to-end tutorial first — it is the one-sitting overview every path below assumes.

Route by goal

I want to…Start hereThen
Convert OpenDSS / nameplate data into a BMOPF caseFrom nameplate data to a defensible modelConversion guide, Case augmentation
Triage a messy import (warnings, provenance, repairs)Findings triageFinding-code reference, Analysis & reports
Turn transformer test data into model fieldsFrom test report to transformer modelTransformer models, Transformer spec
Understand four-wire physics (why terminals, neutrals, matrices)Buses & terminals primerImpedance models & OPF decisions, Line geometry
Get grounding, neutrals, and sequence coordinates rightGround, neutral, and earth returnGrounding spec, SWER case study
Get units, per-unit bases, and cost rightUnits, bases, scaling, and economicsUnits and scaling, Objective spec
Pick a defensible load model (CVR, hosting, collapse)Choosing and identifying a load modelLoad spec, Impedance models & OPF decisions
Build a benchmark an optimiser can respectCase augmentationFrom nameplate data to a defensible model, DER placement
Diagnose an infeasible caseInfeasibility diagnosisBounds & feasibility, Trusting the solver
Verify a solved OPF you don't yet trustTrust but verifyTrusting the solver, Validating the OPF
Model a specific device (STATCOM, MVDC, regulator, PV droop)D-STATCOM studyMVDC, Tap optimisation, VVWO
Change the formulation (custom objectives, constraints, multi-period)Custom formulationsOPF model, Units, bases & economics
Build a differentiable or bilevel research extensionParameterized and differentiable extensionsCustom formulations, OPF engine
Extend or debug the solverOPF engine: scope & statusOPF model, Contributing

The judgment spine

Six of the tutorials, read in order, teach the reasoning a defensible study needs — not just how to call the tools, but when to trust the answer:

  1. TriageFindings triage. A raw import arrives with dozens of findings; learn to separate defects (fix), judgment calls (decide and document), and disclosures (keep — they are the case's provenance record).
  2. AssumptionsFrom nameplate data to a defensible model. Incomplete datasheets in; a model out. What can be derived, what needs an assumption, and what must stay unknown — and the difference between standards-derived, standards-inspired, and synthetic values.
  3. Solveend-to-end tutorial and the OPF model. Turn the model into a solved dispatch.
  4. VerifyTrust but verify. Take one solved OPF and independently recompute KCL, voltage bounds, thermal loading, losses, and the objective — learning what a solver's LOCALLY_SOLVED status does and does not guarantee.
  5. ConsequencesImpedance models & OPF decisions and Trusting the solver. How the modelling choices made in step 2 change the answer, and where the remaining traps live.
  6. FormulationCustom formulations. When least-cost dispatch is not your question: hooks, replaced objectives, and multi-period coupling — with the discipline each rung demands.

Read top to bottom you get the missing arc: triage → model assumptions → solve → independent verification → fidelity consequences → your own formulation.

The modelling-choices track

Step 2's "assumptions" fan out into deep dives, one per modelling choice — each demonstrating live how that choice writes the answer:

Prerequisites

The solve/verify tutorials run a real OPF, so they need a Julia environment with BMOPFTools, JuMP and Ipopt. The data-model and conversion pages need only BMOPFTools. Installation & first steps covers setting all of this up, starting from installing Julia itself.