We set get_available(value::InfrastructureSystemsComponent) = true and leave it up to the subtypes to implement their own definition. Confusing side effect: get_available on a bus-to-star arc returns true, even when that winding isn't available. e.g.
trf = first(get_components(Transformer3W, sys))
@assert !trf.available_secondary # not available.
secondary_arc = get_secondary_star_arc(trf)
@assert get_available(secondary_arc) # available?!
Here, sys comes from the following .raw file.
big-ybus-bug-minimal.raw.txt
Are there good design reasons why we have the default as true?
This could also be fixed by adding an available field to arcs. Once we have a designated struct for 3WT arcs, hopefully this will go away.
We set
get_available(value::InfrastructureSystemsComponent) = trueand leave it up to the subtypes to implement their own definition. Confusing side effect:get_availableon a bus-to-star arc returnstrue, even when that winding isn't available. e.g.Here,
syscomes from the following .raw file.big-ybus-bug-minimal.raw.txt
Are there good design reasons why we have the default as
true?This could also be fixed by adding an
availablefield to arcs. Once we have a designated struct for 3WT arcs, hopefully this will go away.