pub struct AcOpfTimings {
pub network_prep_secs: f64,
pub solve_setup_secs: f64,
pub nlp_build_secs: f64,
pub nlp_solve_secs: f64,
pub extract_secs: f64,
pub total_secs: f64,
pub nlp_attempts: u32,
}Expand description
Per-phase timing breakdown for a single AC-OPF solve call.
Populated inside solve_ac_opf_with_context_once. Each nlp_build
nlp_solvepair corresponds to one NLP construction and Ipopt call; the constraint-screening fallback path may produce a second pair, reflected innlp_attempts.
Fields§
§network_prep_secs: f64FACTS expansion, network canonicalize, validation, missing-cost check — everything before solver lookup and warm-start decisions.
solve_setup_secs: f64NLP solver lookup, DC-OPF warm-start decision, constraint screening setup — between network prep and NLP construction.
nlp_build_secs: f64Time spent constructing AcOpfProblem (Y-bus, branch admittances,
Jacobian sparsity enumeration). Cumulative across all attempts.
nlp_solve_secs: f64Time spent inside NlpSolver::solve() (the actual interior-point
iterations). Cumulative across all attempts.
extract_secs: f64Time spent extracting the solution from NLP variables into
OpfSolution fields (voltages, dispatch, slacks, LMPs).
total_secs: f64Wall-clock total for the entire solve_ac_opf_with_context_once
call (equals solve_time_secs on the parent OpfSolution).
nlp_attempts: u32Number of AcOpfProblem::new() + nlp.solve() pairs executed.
1 normally; 2 when constraint-screening fallback activates.
Trait Implementations§
Source§impl Clone for AcOpfTimings
impl Clone for AcOpfTimings
Source§fn clone(&self) -> AcOpfTimings
fn clone(&self) -> AcOpfTimings
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more