diff --git a/Project.toml b/Project.toml index 772596022e..b761c0fb51 100644 --- a/Project.toml +++ b/Project.toml @@ -5,6 +5,7 @@ version = "5.3.0" [deps] CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" +Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" Dates = "ade2ca70-3891-5945-98fb-dc099432e06a" @@ -35,6 +36,7 @@ Logging = "1" PowerFlowData = "^1.5" PrettyTables = "2.4, 3.1" TimeSeries = "0.25" +Unitful = "^1.12" UUIDs = "1" Unicode = "1" YAML = "~0.4" diff --git a/src/PowerSystems.jl b/src/PowerSystems.jl index e9df2567d2..6527b2b39d 100644 --- a/src/PowerSystems.jl +++ b/src/PowerSystems.jl @@ -565,6 +565,11 @@ export StructDefinition export generate_struct_file export generate_struct_files export UnitSystem # internal.jl +# Unit types for explicit units in getters/setters +export MW, Mvar, MVA, kV, OHMS, SIEMENS +export DU, SU, DeviceBaseUnit, SystemBaseUnit +export AbstractRelativeUnit, RelativeQuantity +export ustrip # ComponentSelector export ComponentSelector @@ -676,6 +681,20 @@ import InfrastructureSystems: NormalizationTypes, UnitSystem, SystemUnitsSettings, + # Unit types for explicit units in getters/setters + MW, + Mvar, + MVA, + kV, + OHMS, + SIEMENS, + DU, + SU, + DeviceBaseUnit, + SystemBaseUnit, + AbstractRelativeUnit, + RelativeQuantity, + ustrip, open_file_logger, make_logging_config_file, validate_struct, diff --git a/src/base.jl b/src/base.jl index 67868fc5f2..e030146bdf 100644 --- a/src/base.jl +++ b/src/base.jl @@ -3192,15 +3192,16 @@ function convert_component!( new_type::Type{StandardLoad}; kwargs..., ) + # Use direct field access for unit-aware fields to preserve internal representation new_load = new_type(; name = get_name(old_load), available = get_available(old_load), bus = get_bus(old_load), - base_power = get_base_power(old_load), - constant_active_power = get_active_power(old_load), - constant_reactive_power = get_reactive_power(old_load), - max_constant_active_power = get_max_active_power(old_load), - max_constant_reactive_power = get_max_active_power(old_load), + base_power = old_load.base_power, + constant_active_power = old_load.active_power, + constant_reactive_power = old_load.reactive_power, + max_constant_active_power = old_load.max_active_power, + max_constant_reactive_power = old_load.max_reactive_power, conformity = get_conformity(old_load), dynamic_injector = get_dynamic_injector(old_load), internal = _copy_internal_for_conversion(old_load), diff --git a/src/definitions.jl b/src/definitions.jl index bd9961b1f9..8296f49491 100644 --- a/src/definitions.jl +++ b/src/definitions.jl @@ -532,6 +532,7 @@ Enumeration representing the location of a hydro reservoir relative to its assoc const PS_MAX_LOG = parse(Int, get(ENV, "PS_MAX_LOG", "50")) const DEFAULT_BASE_MVA = 100.0 +const DEFAULT_POWER_UNITS_TYPE = typeof(0.0 * IS.MW) const POWER_SYSTEM_STRUCT_DESCRIPTOR_FILE = joinpath(dirname(pathof(PowerSystems)), "descriptors", "power_system_structs.json") diff --git a/src/models/components.jl b/src/models/components.jl index e9746a2810..2587c7c8b3 100644 --- a/src/models/components.jl +++ b/src/models/components.jl @@ -1,11 +1,25 @@ function get_system_base_power(c::Component) - return get_internal(c).units_info.base_value + units_info = get_internal(c).units_info + if isnothing(units_info) + error( + "Component $(get_name(c)) is not attached to a system. Cannot determine system base power.", + ) + end + return units_info.base_value end """ Default behavior of a component. If there is no base_power field, assume is in the system's base power. """ -get_base_power(c::Component) = get_system_base_power(c) +function get_base_power(c::Component) + units_info = get_internal(c).units_info + if isnothing(units_info) + error( + "Component $(get_name(c)) is not attached to a system. Cannot determine base power.", + ) + end + return units_info.base_value +end _get_multiplier(c::T, conversion_unit) where {T <: Component} = _get_multiplier(c, get_internal(c).units_info, conversion_unit) @@ -125,6 +139,402 @@ end _get_multiplier(::T, ::IS.SystemUnitsSettings, _, _) where {T <: Component} = error("Undefined Conditional") +####################################################### +# New Units-Aware get_value/set_value with explicit units +####################################################### + +import Unitful +using Unitful: Quantity, Units, @u_str, uconvert + +""" + _get_system_units(c::Component, conversion_unit::Val{:mva}) + +Get the appropriate units based on the component's unit_system setting. +Returns MW for NATURAL_UNITS, DU for DEVICE_BASE, SU for SYSTEM_BASE. +""" +# TODO: reactive power fields also go through :mva and get MW back; +# consider splitting so reactive power returns Mvar for a visibly distinct unit. +function _get_system_units(c::Component, ::Val{:mva}) + units_info = get_internal(c).units_info + if isnothing(units_info) + return IS.MW # Default to natural units if not set + end + unit_system = units_info.unit_system + if unit_system == IS.UnitSystem.NATURAL_UNITS + return IS.MW + elseif unit_system == IS.UnitSystem.DEVICE_BASE + return IS.DU + else # SYSTEM_BASE + return IS.SU + end +end + +function _get_system_units(c::Component, ::Val{:ohm}) + units_info = get_internal(c).units_info + if isnothing(units_info) + return IS.OHMS + end + unit_system = units_info.unit_system + if unit_system == IS.UnitSystem.NATURAL_UNITS + return IS.OHMS + elseif unit_system == IS.UnitSystem.DEVICE_BASE + return IS.DU + else + return IS.SU + end +end + +function _get_system_units(c::Component, ::Val{:siemens}) + units_info = get_internal(c).units_info + if isnothing(units_info) + return IS.SIEMENS + end + unit_system = units_info.unit_system + if unit_system == IS.UnitSystem.NATURAL_UNITS + return IS.SIEMENS + elseif unit_system == IS.UnitSystem.DEVICE_BASE + return IS.DU + else + return IS.SU + end +end + +""" + get_value(c::Component, field::Val{T}, conversion_unit, units) where {T} + +Get a field value with explicit units. Returns the value converted to the specified units. + +# Arguments +- `c::Component`: The component +- `field::Val{T}`: The field name as a Val type +- `conversion_unit`: The conversion unit type (Val(:mva), Val(:ohm), Val(:siemens)) +- `units`: Target units - `MW`, `DU` (device base), `SU` (system base), etc. +""" +function get_value(c::Component, field::Val{T}, conversion_unit, units) where {T} + value = Base.getproperty(c, T) + return _convert_from_device_base(c, value, conversion_unit, units) +end + +# Conversion from device base to natural units (MW, Mvar, OHMS, SIEMENS) +function _convert_from_device_base( + c::Component, + value::Float64, + ::Val{:mva}, + ::typeof(IS.MW), +) + return value * get_base_power(c) * u"MW" +end + +function _convert_from_device_base( + c::Component, + value::Float64, + ::Val{:mva}, + ::typeof(IS.Mvar), +) + return value * get_base_power(c) * IS.Mvar +end + +function _convert_from_device_base( + c::T, + value::Number, + ::Val{:ohm}, + ::typeof(IS.OHMS), +) where {T <: Branch} + base_voltage = get_base_voltage(get_arc(c).from) + if isnothing(base_voltage) + error("Base voltage is not defined for $(summary(c)).") + end + return value * (base_voltage^2 / get_base_power(c)) * u"Ω" +end + +function _convert_from_device_base( + c::T, + value::Number, + ::Val{:ohm}, + ::typeof(IS.OHMS), +) where {T <: TwoWindingTransformer} + base_voltage = get_base_voltage_primary(c) + if isnothing(base_voltage) + error("Base voltage is not defined for $(summary(c)).") + end + return value * (base_voltage^2 / get_base_power(c)) * u"Ω" +end + +function _convert_from_device_base( + c::T, + value::Number, + ::Val{:siemens}, + ::typeof(IS.SIEMENS), +) where {T <: Branch} + base_voltage = get_base_voltage(get_arc(c).from) + if isnothing(base_voltage) + @warn "Base voltage is not set for $(c.name). Returning in device base units." + return value * IS.DU + end + return value * (get_base_power(c) / base_voltage^2) * u"S" +end + +function _convert_from_device_base( + c::T, + value::Number, + ::Val{:siemens}, + ::typeof(IS.SIEMENS), +) where {T <: TwoWindingTransformer} + base_voltage = get_base_voltage_primary(c) + if isnothing(base_voltage) + @warn "Base voltage is not set for $(c.name). Returning in device base units." + return value * IS.DU + end + return value * (get_base_power(c) / base_voltage^2) * u"S" +end + +# Conversion from device base to device base (DU) - trivial, no system info needed +function _convert_from_device_base(::Component, value::Number, ::Val, ::IS.DeviceBaseUnit) + return value * IS.DU +end + +# Fallback for any Unitful units on :mva conversion +function _convert_from_device_base( + c::Component, + value::Float64, + ::Val{:mva}, + units::Unitful.Units, +) + # Generic fallback - tries to get base_power, will error if not in system + return Unitful.uconvert(units, value * get_base_power(c) * u"MW") +end + +# Conversion from device base to system base (SU) +function _convert_from_device_base( + c::Component, + value::Float64, + ::Val{:mva}, + ::IS.SystemBaseUnit, +) + multiplier = get_base_power(c) / get_system_base_power(c) + return (value * multiplier) * IS.SU +end + +function _convert_from_device_base( + c::T, + value::Number, + ::Val{:ohm}, + ::IS.SystemBaseUnit, +) where {T <: Branch} + multiplier = get_system_base_power(c) / get_base_power(c) + return (value * multiplier) * IS.SU +end + +function _convert_from_device_base( + c::T, + value::Number, + ::Val{:siemens}, + ::IS.SystemBaseUnit, +) where {T <: Branch} + multiplier = get_base_power(c) / get_system_base_power(c) + return (value * multiplier) * IS.SU +end + +# Handle nothing values +function _convert_from_device_base(::Component, ::Nothing, ::Val, ::Any) + return nothing +end + +# Handle compound types (MinMax, UpDown, etc.) +function _convert_from_device_base(c::Component, value::MinMax, conversion_unit, units) + return ( + min = _convert_from_device_base(c, value.min, conversion_unit, units), + max = _convert_from_device_base(c, value.max, conversion_unit, units), + ) +end + +function _convert_from_device_base(c::Component, value::UpDown, conversion_unit, units) + return ( + up = _convert_from_device_base(c, value.up, conversion_unit, units), + down = _convert_from_device_base(c, value.down, conversion_unit, units), + ) +end + +function _convert_from_device_base( + c::Component, + value::FromTo_ToFrom, + conversion_unit, + units, +) + return ( + from_to = _convert_from_device_base(c, value.from_to, conversion_unit, units), + to_from = _convert_from_device_base(c, value.to_from, conversion_unit, units), + ) +end + +function _convert_from_device_base(c::Component, value::FromTo, conversion_unit, units) + return ( + from = _convert_from_device_base(c, value.from, conversion_unit, units), + to = _convert_from_device_base(c, value.to, conversion_unit, units), + ) +end + +function _convert_from_device_base( + c::Component, + value::StartUpShutDown, + conversion_unit, + units, +) + return ( + startup = _convert_from_device_base(c, value.startup, conversion_unit, units), + shutdown = _convert_from_device_base(c, value.shutdown, conversion_unit, units), + ) +end + +####################################################### +# New set_value accepting unitful values +####################################################### + +""" + set_value(c::Component, field, val::Quantity, conversion_unit) + +Set a field value from a Unitful quantity (e.g., 30.0MW). +""" +function set_value(c::Component, field, val::Quantity, conversion_unit::Val{:mva}) + mw_value = Unitful.ustrip(u"MW", val) + return mw_value / get_base_power(c) +end + +function set_value( + c::T, + field, + val::Quantity, + conversion_unit::Val{:ohm}, +) where {T <: Branch} + ohm_value = Unitful.ustrip(u"Ω", val) + base_voltage = get_base_voltage(get_arc(c).from) + if isnothing(base_voltage) + error("Base voltage is not defined for $(summary(c)).") + end + return ohm_value / (base_voltage^2 / get_base_power(c)) +end + +function set_value( + c::T, + field, + val::Quantity, + conversion_unit::Val{:siemens}, +) where {T <: Branch} + s_value = Unitful.ustrip(u"S", val) + base_voltage = get_base_voltage(get_arc(c).from) + if isnothing(base_voltage) + error("Base voltage is not defined for $(summary(c)).") + end + return s_value / (get_base_power(c) / base_voltage^2) +end + +""" + set_value(c::Component, field, val::RelativeQuantity{<:Any, DeviceBaseUnit}, conversion_unit) + +Set a field value from a device-base quantity (e.g., 0.5DU). +""" +function set_value( + ::Component, + field, + val::IS.RelativeQuantity{<:Any, IS.DeviceBaseUnit}, + ::Val, +) + return IS.ustrip(val) +end + +""" + set_value(c::Component, field, val::RelativeQuantity{<:Any, SystemBaseUnit}, conversion_unit) + +Set a field value from a system-base quantity (e.g., 0.3SU). +""" +function set_value( + c::Component, + field, + val::IS.RelativeQuantity{<:Any, IS.SystemBaseUnit}, + conversion_unit::Val{:mva}, +) + multiplier = get_base_power(c) / get_system_base_power(c) + return IS.ustrip(val) / multiplier +end + +function set_value( + c::T, + field, + val::IS.RelativeQuantity{<:Any, IS.SystemBaseUnit}, + conversion_unit::Val{:ohm}, +) where {T <: Branch} + multiplier = get_system_base_power(c) / get_base_power(c) + return IS.ustrip(val) / multiplier +end + +function set_value( + c::T, + field, + val::IS.RelativeQuantity{<:Any, IS.SystemBaseUnit}, + conversion_unit::Val{:siemens}, +) where {T <: Branch} + multiplier = get_base_power(c) / get_system_base_power(c) + return IS.ustrip(val) / multiplier +end + +# Handle compound types for setters +function _to_device_base(c::Component, val::Quantity, conversion_unit) + return set_value(c, nothing, val, conversion_unit) +end + +function _to_device_base(c::Component, val::IS.RelativeQuantity, conversion_unit) + return set_value(c, nothing, val, conversion_unit) +end + +function set_value(c::Component, field, val::NamedTuple{(:min, :max)}, conversion_unit::Val) + return ( + min = _to_device_base(c, val.min, conversion_unit), + max = _to_device_base(c, val.max, conversion_unit), + ) +end + +function set_value(c::Component, field, val::NamedTuple{(:up, :down)}, conversion_unit::Val) + return ( + up = _to_device_base(c, val.up, conversion_unit), + down = _to_device_base(c, val.down, conversion_unit), + ) +end + +function set_value( + c::Component, + field, + val::NamedTuple{(:from_to, :to_from)}, + conversion_unit::Val, +) + return ( + from_to = _to_device_base(c, val.from_to, conversion_unit), + to_from = _to_device_base(c, val.to_from, conversion_unit), + ) +end + +function set_value(c::Component, field, val::NamedTuple{(:from, :to)}, conversion_unit::Val) + return ( + from = _to_device_base(c, val.from, conversion_unit), + to = _to_device_base(c, val.to, conversion_unit), + ) +end + +function set_value( + c::Component, + field, + val::NamedTuple{(:startup, :shutdown)}, + conversion_unit::Val, +) + return ( + startup = _to_device_base(c, val.startup, conversion_unit), + shutdown = _to_device_base(c, val.shutdown, conversion_unit), + ) +end + +####################################################### +# Legacy get_value/set_value (for backwards compatibility during transition) +####################################################### + function get_value(c::Component, ::Val{T}, conversion_unit) where {T} value = Base.getproperty(c, T) return _get_value(c, value, conversion_unit) diff --git a/src/models/generated/Area.jl b/src/models/generated/Area.jl index dec3a1d236..67027b7b6f 100644 --- a/src/models/generated/Area.jl +++ b/src/models/generated/Area.jl @@ -62,10 +62,12 @@ end """Get [`Area`](@ref) `name`.""" get_name(value::Area) = value.name -"""Get [`Area`](@ref) `peak_active_power`.""" -get_peak_active_power(value::Area) = get_value(value, Val(:peak_active_power), Val(:mva)) -"""Get [`Area`](@ref) `peak_reactive_power`.""" -get_peak_reactive_power(value::Area) = get_value(value, Val(:peak_reactive_power), Val(:mva)) +"""Get [`Area`](@ref) `peak_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_peak_active_power(value::Area) = get_value(value, Val(:peak_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_peak_active_power(value::Area, units) = get_value(value, Val(:peak_active_power), Val(:mva), units) +"""Get [`Area`](@ref) `peak_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_peak_reactive_power(value::Area) = get_value(value, Val(:peak_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_peak_reactive_power(value::Area, units) = get_value(value, Val(:peak_reactive_power), Val(:mva), units) """Get [`Area`](@ref) `load_response`.""" get_load_response(value::Area) = value.load_response """Get [`Area`](@ref) `ext`.""" @@ -73,9 +75,9 @@ get_ext(value::Area) = value.ext """Get [`Area`](@ref) `internal`.""" get_internal(value::Area) = value.internal -"""Set [`Area`](@ref) `peak_active_power`.""" +"""Set [`Area`](@ref) `peak_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_peak_active_power!(value::Area, val) = value.peak_active_power = set_value(value, Val(:peak_active_power), val, Val(:mva)) -"""Set [`Area`](@ref) `peak_reactive_power`.""" +"""Set [`Area`](@ref) `peak_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_peak_reactive_power!(value::Area, val) = value.peak_reactive_power = set_value(value, Val(:peak_reactive_power), val, Val(:mva)) """Set [`Area`](@ref) `load_response`.""" set_load_response!(value::Area, val) = value.load_response = val diff --git a/src/models/generated/AreaInterchange.jl b/src/models/generated/AreaInterchange.jl index 287e89e088..470103123c 100644 --- a/src/models/generated/AreaInterchange.jl +++ b/src/models/generated/AreaInterchange.jl @@ -77,14 +77,16 @@ end get_name(value::AreaInterchange) = value.name """Get [`AreaInterchange`](@ref) `available`.""" get_available(value::AreaInterchange) = value.available -"""Get [`AreaInterchange`](@ref) `active_power_flow`.""" -get_active_power_flow(value::AreaInterchange) = get_value(value, Val(:active_power_flow), Val(:mva)) +"""Get [`AreaInterchange`](@ref) `active_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow(value::AreaInterchange) = get_value(value, Val(:active_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow(value::AreaInterchange, units) = get_value(value, Val(:active_power_flow), Val(:mva), units) """Get [`AreaInterchange`](@ref) `from_area`.""" get_from_area(value::AreaInterchange) = value.from_area """Get [`AreaInterchange`](@ref) `to_area`.""" get_to_area(value::AreaInterchange) = value.to_area -"""Get [`AreaInterchange`](@ref) `flow_limits`.""" -get_flow_limits(value::AreaInterchange) = get_value(value, Val(:flow_limits), Val(:mva)) +"""Get [`AreaInterchange`](@ref) `flow_limits`. Returns value in the system's unit setting (natural units by default).""" +get_flow_limits(value::AreaInterchange) = get_value(value, Val(:flow_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_flow_limits(value::AreaInterchange, units) = get_value(value, Val(:flow_limits), Val(:mva), units) """Get [`AreaInterchange`](@ref) `services`.""" get_services(value::AreaInterchange) = value.services """Get [`AreaInterchange`](@ref) `ext`.""" @@ -94,13 +96,13 @@ get_internal(value::AreaInterchange) = value.internal """Set [`AreaInterchange`](@ref) `available`.""" set_available!(value::AreaInterchange, val) = value.available = val -"""Set [`AreaInterchange`](@ref) `active_power_flow`.""" +"""Set [`AreaInterchange`](@ref) `active_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow!(value::AreaInterchange, val) = value.active_power_flow = set_value(value, Val(:active_power_flow), val, Val(:mva)) """Set [`AreaInterchange`](@ref) `from_area`.""" set_from_area!(value::AreaInterchange, val) = value.from_area = val """Set [`AreaInterchange`](@ref) `to_area`.""" set_to_area!(value::AreaInterchange, val) = value.to_area = val -"""Set [`AreaInterchange`](@ref) `flow_limits`.""" +"""Set [`AreaInterchange`](@ref) `flow_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_flow_limits!(value::AreaInterchange, val) = value.flow_limits = set_value(value, Val(:flow_limits), val, Val(:mva)) """Set [`AreaInterchange`](@ref) `services`.""" set_services!(value::AreaInterchange, val) = value.services = val diff --git a/src/models/generated/ConstantReserve.jl b/src/models/generated/ConstantReserve.jl index 631a4658af..1912c2f0ac 100644 --- a/src/models/generated/ConstantReserve.jl +++ b/src/models/generated/ConstantReserve.jl @@ -86,8 +86,9 @@ get_name(value::ConstantReserve) = value.name get_available(value::ConstantReserve) = value.available """Get [`ConstantReserve`](@ref) `time_frame`.""" get_time_frame(value::ConstantReserve) = value.time_frame -"""Get [`ConstantReserve`](@ref) `requirement`.""" -get_requirement(value::ConstantReserve) = get_value(value, Val(:requirement), Val(:mva)) +"""Get [`ConstantReserve`](@ref) `requirement`. Returns value in the system's unit setting (natural units by default).""" +get_requirement(value::ConstantReserve) = get_value(value, Val(:requirement), Val(:mva), _get_system_units(value, Val(:mva))) +get_requirement(value::ConstantReserve, units) = get_value(value, Val(:requirement), Val(:mva), units) """Get [`ConstantReserve`](@ref) `sustained_time`.""" get_sustained_time(value::ConstantReserve) = value.sustained_time """Get [`ConstantReserve`](@ref) `max_output_fraction`.""" @@ -105,7 +106,7 @@ get_internal(value::ConstantReserve) = value.internal set_available!(value::ConstantReserve, val) = value.available = val """Set [`ConstantReserve`](@ref) `time_frame`.""" set_time_frame!(value::ConstantReserve, val) = value.time_frame = val -"""Set [`ConstantReserve`](@ref) `requirement`.""" +"""Set [`ConstantReserve`](@ref) `requirement`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_requirement!(value::ConstantReserve, val) = value.requirement = set_value(value, Val(:requirement), val, Val(:mva)) """Set [`ConstantReserve`](@ref) `sustained_time`.""" set_sustained_time!(value::ConstantReserve, val) = value.sustained_time = val diff --git a/src/models/generated/ConstantReserveGroup.jl b/src/models/generated/ConstantReserveGroup.jl index 2ca054bf76..2e4f5ebab6 100644 --- a/src/models/generated/ConstantReserveGroup.jl +++ b/src/models/generated/ConstantReserveGroup.jl @@ -66,8 +66,9 @@ end get_name(value::ConstantReserveGroup) = value.name """Get [`ConstantReserveGroup`](@ref) `available`.""" get_available(value::ConstantReserveGroup) = value.available -"""Get [`ConstantReserveGroup`](@ref) `requirement`.""" -get_requirement(value::ConstantReserveGroup) = get_value(value, Val(:requirement), Val(:mva)) +"""Get [`ConstantReserveGroup`](@ref) `requirement`. Returns value in the system's unit setting (natural units by default).""" +get_requirement(value::ConstantReserveGroup) = get_value(value, Val(:requirement), Val(:mva), _get_system_units(value, Val(:mva))) +get_requirement(value::ConstantReserveGroup, units) = get_value(value, Val(:requirement), Val(:mva), units) """Get [`ConstantReserveGroup`](@ref) `ext`.""" get_ext(value::ConstantReserveGroup) = value.ext """Get [`ConstantReserveGroup`](@ref) `contributing_services`.""" @@ -77,7 +78,7 @@ get_internal(value::ConstantReserveGroup) = value.internal """Set [`ConstantReserveGroup`](@ref) `available`.""" set_available!(value::ConstantReserveGroup, val) = value.available = val -"""Set [`ConstantReserveGroup`](@ref) `requirement`.""" +"""Set [`ConstantReserveGroup`](@ref) `requirement`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_requirement!(value::ConstantReserveGroup, val) = value.requirement = set_value(value, Val(:requirement), val, Val(:mva)) """Set [`ConstantReserveGroup`](@ref) `ext`.""" set_ext!(value::ConstantReserveGroup, val) = value.ext = val diff --git a/src/models/generated/ConstantReserveNonSpinning.jl b/src/models/generated/ConstantReserveNonSpinning.jl index 986eb9f68a..d1f7e4d905 100644 --- a/src/models/generated/ConstantReserveNonSpinning.jl +++ b/src/models/generated/ConstantReserveNonSpinning.jl @@ -86,8 +86,9 @@ get_name(value::ConstantReserveNonSpinning) = value.name get_available(value::ConstantReserveNonSpinning) = value.available """Get [`ConstantReserveNonSpinning`](@ref) `time_frame`.""" get_time_frame(value::ConstantReserveNonSpinning) = value.time_frame -"""Get [`ConstantReserveNonSpinning`](@ref) `requirement`.""" -get_requirement(value::ConstantReserveNonSpinning) = get_value(value, Val(:requirement), Val(:mva)) +"""Get [`ConstantReserveNonSpinning`](@ref) `requirement`. Returns value in the system's unit setting (natural units by default).""" +get_requirement(value::ConstantReserveNonSpinning) = get_value(value, Val(:requirement), Val(:mva), _get_system_units(value, Val(:mva))) +get_requirement(value::ConstantReserveNonSpinning, units) = get_value(value, Val(:requirement), Val(:mva), units) """Get [`ConstantReserveNonSpinning`](@ref) `sustained_time`.""" get_sustained_time(value::ConstantReserveNonSpinning) = value.sustained_time """Get [`ConstantReserveNonSpinning`](@ref) `max_output_fraction`.""" @@ -105,7 +106,7 @@ get_internal(value::ConstantReserveNonSpinning) = value.internal set_available!(value::ConstantReserveNonSpinning, val) = value.available = val """Set [`ConstantReserveNonSpinning`](@ref) `time_frame`.""" set_time_frame!(value::ConstantReserveNonSpinning, val) = value.time_frame = val -"""Set [`ConstantReserveNonSpinning`](@ref) `requirement`.""" +"""Set [`ConstantReserveNonSpinning`](@ref) `requirement`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_requirement!(value::ConstantReserveNonSpinning, val) = value.requirement = set_value(value, Val(:requirement), val, Val(:mva)) """Set [`ConstantReserveNonSpinning`](@ref) `sustained_time`.""" set_sustained_time!(value::ConstantReserveNonSpinning, val) = value.sustained_time = val diff --git a/src/models/generated/DiscreteControlledACBranch.jl b/src/models/generated/DiscreteControlledACBranch.jl index cd33c55045..93984f5c45 100644 --- a/src/models/generated/DiscreteControlledACBranch.jl +++ b/src/models/generated/DiscreteControlledACBranch.jl @@ -92,18 +92,23 @@ end get_name(value::DiscreteControlledACBranch) = value.name """Get [`DiscreteControlledACBranch`](@ref) `available`.""" get_available(value::DiscreteControlledACBranch) = value.available -"""Get [`DiscreteControlledACBranch`](@ref) `active_power_flow`.""" -get_active_power_flow(value::DiscreteControlledACBranch) = get_value(value, Val(:active_power_flow), Val(:mva)) -"""Get [`DiscreteControlledACBranch`](@ref) `reactive_power_flow`.""" -get_reactive_power_flow(value::DiscreteControlledACBranch) = get_value(value, Val(:reactive_power_flow), Val(:mva)) +"""Get [`DiscreteControlledACBranch`](@ref) `active_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow(value::DiscreteControlledACBranch) = get_value(value, Val(:active_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow(value::DiscreteControlledACBranch, units) = get_value(value, Val(:active_power_flow), Val(:mva), units) +"""Get [`DiscreteControlledACBranch`](@ref) `reactive_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_flow(value::DiscreteControlledACBranch) = get_value(value, Val(:reactive_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_flow(value::DiscreteControlledACBranch, units) = get_value(value, Val(:reactive_power_flow), Val(:mva), units) """Get [`DiscreteControlledACBranch`](@ref) `arc`.""" get_arc(value::DiscreteControlledACBranch) = value.arc -"""Get [`DiscreteControlledACBranch`](@ref) `r`.""" -get_r(value::DiscreteControlledACBranch) = get_value(value, Val(:r), Val(:ohm)) -"""Get [`DiscreteControlledACBranch`](@ref) `x`.""" -get_x(value::DiscreteControlledACBranch) = get_value(value, Val(:x), Val(:ohm)) -"""Get [`DiscreteControlledACBranch`](@ref) `rating`.""" -get_rating(value::DiscreteControlledACBranch) = get_value(value, Val(:rating), Val(:mva)) +"""Get [`DiscreteControlledACBranch`](@ref) `r`. Returns value in the system's unit setting (natural units by default).""" +get_r(value::DiscreteControlledACBranch) = get_value(value, Val(:r), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r(value::DiscreteControlledACBranch, units) = get_value(value, Val(:r), Val(:ohm), units) +"""Get [`DiscreteControlledACBranch`](@ref) `x`. Returns value in the system's unit setting (natural units by default).""" +get_x(value::DiscreteControlledACBranch) = get_value(value, Val(:x), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x(value::DiscreteControlledACBranch, units) = get_value(value, Val(:x), Val(:ohm), units) +"""Get [`DiscreteControlledACBranch`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::DiscreteControlledACBranch) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::DiscreteControlledACBranch, units) = get_value(value, Val(:rating), Val(:mva), units) """Get [`DiscreteControlledACBranch`](@ref) `discrete_branch_type`.""" get_discrete_branch_type(value::DiscreteControlledACBranch) = value.discrete_branch_type """Get [`DiscreteControlledACBranch`](@ref) `branch_status`.""" @@ -115,17 +120,17 @@ get_internal(value::DiscreteControlledACBranch) = value.internal """Set [`DiscreteControlledACBranch`](@ref) `available`.""" set_available!(value::DiscreteControlledACBranch, val) = value.available = val -"""Set [`DiscreteControlledACBranch`](@ref) `active_power_flow`.""" +"""Set [`DiscreteControlledACBranch`](@ref) `active_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow!(value::DiscreteControlledACBranch, val) = value.active_power_flow = set_value(value, Val(:active_power_flow), val, Val(:mva)) -"""Set [`DiscreteControlledACBranch`](@ref) `reactive_power_flow`.""" +"""Set [`DiscreteControlledACBranch`](@ref) `reactive_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_flow!(value::DiscreteControlledACBranch, val) = value.reactive_power_flow = set_value(value, Val(:reactive_power_flow), val, Val(:mva)) """Set [`DiscreteControlledACBranch`](@ref) `arc`.""" set_arc!(value::DiscreteControlledACBranch, val) = value.arc = val -"""Set [`DiscreteControlledACBranch`](@ref) `r`.""" +"""Set [`DiscreteControlledACBranch`](@ref) `r`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r!(value::DiscreteControlledACBranch, val) = value.r = set_value(value, Val(:r), val, Val(:ohm)) -"""Set [`DiscreteControlledACBranch`](@ref) `x`.""" +"""Set [`DiscreteControlledACBranch`](@ref) `x`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x!(value::DiscreteControlledACBranch, val) = value.x = set_value(value, Val(:x), val, Val(:ohm)) -"""Set [`DiscreteControlledACBranch`](@ref) `rating`.""" +"""Set [`DiscreteControlledACBranch`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::DiscreteControlledACBranch, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) """Set [`DiscreteControlledACBranch`](@ref) `discrete_branch_type`.""" set_discrete_branch_type!(value::DiscreteControlledACBranch, val) = value.discrete_branch_type = val diff --git a/src/models/generated/EnergyReservoirStorage.jl b/src/models/generated/EnergyReservoirStorage.jl index a7665abf2d..c444cb33e2 100644 --- a/src/models/generated/EnergyReservoirStorage.jl +++ b/src/models/generated/EnergyReservoirStorage.jl @@ -160,26 +160,33 @@ get_bus(value::EnergyReservoirStorage) = value.bus get_prime_mover_type(value::EnergyReservoirStorage) = value.prime_mover_type """Get [`EnergyReservoirStorage`](@ref) `storage_technology_type`.""" get_storage_technology_type(value::EnergyReservoirStorage) = value.storage_technology_type -"""Get [`EnergyReservoirStorage`](@ref) `storage_capacity`.""" -get_storage_capacity(value::EnergyReservoirStorage) = get_value(value, Val(:storage_capacity), Val(:mva)) +"""Get [`EnergyReservoirStorage`](@ref) `storage_capacity`. Returns value in the system's unit setting (natural units by default).""" +get_storage_capacity(value::EnergyReservoirStorage) = get_value(value, Val(:storage_capacity), Val(:mva), _get_system_units(value, Val(:mva))) +get_storage_capacity(value::EnergyReservoirStorage, units) = get_value(value, Val(:storage_capacity), Val(:mva), units) """Get [`EnergyReservoirStorage`](@ref) `storage_level_limits`.""" get_storage_level_limits(value::EnergyReservoirStorage) = value.storage_level_limits """Get [`EnergyReservoirStorage`](@ref) `initial_storage_capacity_level`.""" get_initial_storage_capacity_level(value::EnergyReservoirStorage) = value.initial_storage_capacity_level -"""Get [`EnergyReservoirStorage`](@ref) `rating`.""" -get_rating(value::EnergyReservoirStorage) = get_value(value, Val(:rating), Val(:mva)) -"""Get [`EnergyReservoirStorage`](@ref) `active_power`.""" -get_active_power(value::EnergyReservoirStorage) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`EnergyReservoirStorage`](@ref) `input_active_power_limits`.""" -get_input_active_power_limits(value::EnergyReservoirStorage) = get_value(value, Val(:input_active_power_limits), Val(:mva)) -"""Get [`EnergyReservoirStorage`](@ref) `output_active_power_limits`.""" -get_output_active_power_limits(value::EnergyReservoirStorage) = get_value(value, Val(:output_active_power_limits), Val(:mva)) +"""Get [`EnergyReservoirStorage`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::EnergyReservoirStorage) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::EnergyReservoirStorage, units) = get_value(value, Val(:rating), Val(:mva), units) +"""Get [`EnergyReservoirStorage`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::EnergyReservoirStorage) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::EnergyReservoirStorage, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`EnergyReservoirStorage`](@ref) `input_active_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_input_active_power_limits(value::EnergyReservoirStorage) = get_value(value, Val(:input_active_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_input_active_power_limits(value::EnergyReservoirStorage, units) = get_value(value, Val(:input_active_power_limits), Val(:mva), units) +"""Get [`EnergyReservoirStorage`](@ref) `output_active_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_output_active_power_limits(value::EnergyReservoirStorage) = get_value(value, Val(:output_active_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_output_active_power_limits(value::EnergyReservoirStorage, units) = get_value(value, Val(:output_active_power_limits), Val(:mva), units) """Get [`EnergyReservoirStorage`](@ref) `efficiency`.""" get_efficiency(value::EnergyReservoirStorage) = value.efficiency -"""Get [`EnergyReservoirStorage`](@ref) `reactive_power`.""" -get_reactive_power(value::EnergyReservoirStorage) = get_value(value, Val(:reactive_power), Val(:mva)) -"""Get [`EnergyReservoirStorage`](@ref) `reactive_power_limits`.""" -get_reactive_power_limits(value::EnergyReservoirStorage) = get_value(value, Val(:reactive_power_limits), Val(:mva)) +"""Get [`EnergyReservoirStorage`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::EnergyReservoirStorage) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::EnergyReservoirStorage, units) = get_value(value, Val(:reactive_power), Val(:mva), units) +"""Get [`EnergyReservoirStorage`](@ref) `reactive_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits(value::EnergyReservoirStorage) = get_value(value, Val(:reactive_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits(value::EnergyReservoirStorage, units) = get_value(value, Val(:reactive_power_limits), Val(:mva), units) """Get [`EnergyReservoirStorage`](@ref) `base_power`.""" get_base_power(value::EnergyReservoirStorage) = value.base_power """Get [`EnergyReservoirStorage`](@ref) `operation_cost`.""" @@ -207,25 +214,25 @@ set_bus!(value::EnergyReservoirStorage, val) = value.bus = val set_prime_mover_type!(value::EnergyReservoirStorage, val) = value.prime_mover_type = val """Set [`EnergyReservoirStorage`](@ref) `storage_technology_type`.""" set_storage_technology_type!(value::EnergyReservoirStorage, val) = value.storage_technology_type = val -"""Set [`EnergyReservoirStorage`](@ref) `storage_capacity`.""" +"""Set [`EnergyReservoirStorage`](@ref) `storage_capacity`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_storage_capacity!(value::EnergyReservoirStorage, val) = value.storage_capacity = set_value(value, Val(:storage_capacity), val, Val(:mva)) """Set [`EnergyReservoirStorage`](@ref) `storage_level_limits`.""" set_storage_level_limits!(value::EnergyReservoirStorage, val) = value.storage_level_limits = val """Set [`EnergyReservoirStorage`](@ref) `initial_storage_capacity_level`.""" set_initial_storage_capacity_level!(value::EnergyReservoirStorage, val) = value.initial_storage_capacity_level = val -"""Set [`EnergyReservoirStorage`](@ref) `rating`.""" +"""Set [`EnergyReservoirStorage`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::EnergyReservoirStorage, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) -"""Set [`EnergyReservoirStorage`](@ref) `active_power`.""" +"""Set [`EnergyReservoirStorage`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::EnergyReservoirStorage, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`EnergyReservoirStorage`](@ref) `input_active_power_limits`.""" +"""Set [`EnergyReservoirStorage`](@ref) `input_active_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_input_active_power_limits!(value::EnergyReservoirStorage, val) = value.input_active_power_limits = set_value(value, Val(:input_active_power_limits), val, Val(:mva)) -"""Set [`EnergyReservoirStorage`](@ref) `output_active_power_limits`.""" +"""Set [`EnergyReservoirStorage`](@ref) `output_active_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_output_active_power_limits!(value::EnergyReservoirStorage, val) = value.output_active_power_limits = set_value(value, Val(:output_active_power_limits), val, Val(:mva)) """Set [`EnergyReservoirStorage`](@ref) `efficiency`.""" set_efficiency!(value::EnergyReservoirStorage, val) = value.efficiency = val -"""Set [`EnergyReservoirStorage`](@ref) `reactive_power`.""" +"""Set [`EnergyReservoirStorage`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::EnergyReservoirStorage, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) -"""Set [`EnergyReservoirStorage`](@ref) `reactive_power_limits`.""" +"""Set [`EnergyReservoirStorage`](@ref) `reactive_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits!(value::EnergyReservoirStorage, val) = value.reactive_power_limits = set_value(value, Val(:reactive_power_limits), val, Val(:mva)) """Set [`EnergyReservoirStorage`](@ref) `base_power`.""" set_base_power!(value::EnergyReservoirStorage, val) = value.base_power = val diff --git a/src/models/generated/ExponentialLoad.jl b/src/models/generated/ExponentialLoad.jl index e3b8cccc31..7abe793a40 100644 --- a/src/models/generated/ExponentialLoad.jl +++ b/src/models/generated/ExponentialLoad.jl @@ -111,20 +111,24 @@ get_name(value::ExponentialLoad) = value.name get_available(value::ExponentialLoad) = value.available """Get [`ExponentialLoad`](@ref) `bus`.""" get_bus(value::ExponentialLoad) = value.bus -"""Get [`ExponentialLoad`](@ref) `active_power`.""" -get_active_power(value::ExponentialLoad) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`ExponentialLoad`](@ref) `reactive_power`.""" -get_reactive_power(value::ExponentialLoad) = get_value(value, Val(:reactive_power), Val(:mva)) +"""Get [`ExponentialLoad`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::ExponentialLoad) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::ExponentialLoad, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`ExponentialLoad`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::ExponentialLoad) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::ExponentialLoad, units) = get_value(value, Val(:reactive_power), Val(:mva), units) """Get [`ExponentialLoad`](@ref) `α`.""" get_α(value::ExponentialLoad) = value.α """Get [`ExponentialLoad`](@ref) `β`.""" get_β(value::ExponentialLoad) = value.β """Get [`ExponentialLoad`](@ref) `base_power`.""" get_base_power(value::ExponentialLoad) = value.base_power -"""Get [`ExponentialLoad`](@ref) `max_active_power`.""" -get_max_active_power(value::ExponentialLoad) = get_value(value, Val(:max_active_power), Val(:mva)) -"""Get [`ExponentialLoad`](@ref) `max_reactive_power`.""" -get_max_reactive_power(value::ExponentialLoad) = get_value(value, Val(:max_reactive_power), Val(:mva)) +"""Get [`ExponentialLoad`](@ref) `max_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_active_power(value::ExponentialLoad) = get_value(value, Val(:max_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_active_power(value::ExponentialLoad, units) = get_value(value, Val(:max_active_power), Val(:mva), units) +"""Get [`ExponentialLoad`](@ref) `max_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_reactive_power(value::ExponentialLoad) = get_value(value, Val(:max_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_reactive_power(value::ExponentialLoad, units) = get_value(value, Val(:max_reactive_power), Val(:mva), units) """Get [`ExponentialLoad`](@ref) `conformity`.""" get_conformity(value::ExponentialLoad) = value.conformity """Get [`ExponentialLoad`](@ref) `services`.""" @@ -140,9 +144,9 @@ get_internal(value::ExponentialLoad) = value.internal set_available!(value::ExponentialLoad, val) = value.available = val """Set [`ExponentialLoad`](@ref) `bus`.""" set_bus!(value::ExponentialLoad, val) = value.bus = val -"""Set [`ExponentialLoad`](@ref) `active_power`.""" +"""Set [`ExponentialLoad`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::ExponentialLoad, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`ExponentialLoad`](@ref) `reactive_power`.""" +"""Set [`ExponentialLoad`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::ExponentialLoad, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) """Set [`ExponentialLoad`](@ref) `α`.""" set_α!(value::ExponentialLoad, val) = value.α = val @@ -150,9 +154,9 @@ set_α!(value::ExponentialLoad, val) = value.α = val set_β!(value::ExponentialLoad, val) = value.β = val """Set [`ExponentialLoad`](@ref) `base_power`.""" set_base_power!(value::ExponentialLoad, val) = value.base_power = val -"""Set [`ExponentialLoad`](@ref) `max_active_power`.""" +"""Set [`ExponentialLoad`](@ref) `max_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_active_power!(value::ExponentialLoad, val) = value.max_active_power = set_value(value, Val(:max_active_power), val, Val(:mva)) -"""Set [`ExponentialLoad`](@ref) `max_reactive_power`.""" +"""Set [`ExponentialLoad`](@ref) `max_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_reactive_power!(value::ExponentialLoad, val) = value.max_reactive_power = set_value(value, Val(:max_reactive_power), val, Val(:mva)) """Set [`ExponentialLoad`](@ref) `conformity`.""" set_conformity!(value::ExponentialLoad, val) = value.conformity = val diff --git a/src/models/generated/HydroDispatch.jl b/src/models/generated/HydroDispatch.jl index 92f8f379c4..ffc0b5e797 100644 --- a/src/models/generated/HydroDispatch.jl +++ b/src/models/generated/HydroDispatch.jl @@ -131,20 +131,26 @@ get_name(value::HydroDispatch) = value.name get_available(value::HydroDispatch) = value.available """Get [`HydroDispatch`](@ref) `bus`.""" get_bus(value::HydroDispatch) = value.bus -"""Get [`HydroDispatch`](@ref) `active_power`.""" -get_active_power(value::HydroDispatch) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`HydroDispatch`](@ref) `reactive_power`.""" -get_reactive_power(value::HydroDispatch) = get_value(value, Val(:reactive_power), Val(:mva)) -"""Get [`HydroDispatch`](@ref) `rating`.""" -get_rating(value::HydroDispatch) = get_value(value, Val(:rating), Val(:mva)) +"""Get [`HydroDispatch`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::HydroDispatch) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::HydroDispatch, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`HydroDispatch`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::HydroDispatch) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::HydroDispatch, units) = get_value(value, Val(:reactive_power), Val(:mva), units) +"""Get [`HydroDispatch`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::HydroDispatch) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::HydroDispatch, units) = get_value(value, Val(:rating), Val(:mva), units) """Get [`HydroDispatch`](@ref) `prime_mover_type`.""" get_prime_mover_type(value::HydroDispatch) = value.prime_mover_type -"""Get [`HydroDispatch`](@ref) `active_power_limits`.""" -get_active_power_limits(value::HydroDispatch) = get_value(value, Val(:active_power_limits), Val(:mva)) -"""Get [`HydroDispatch`](@ref) `reactive_power_limits`.""" -get_reactive_power_limits(value::HydroDispatch) = get_value(value, Val(:reactive_power_limits), Val(:mva)) -"""Get [`HydroDispatch`](@ref) `ramp_limits`.""" -get_ramp_limits(value::HydroDispatch) = get_value(value, Val(:ramp_limits), Val(:mva)) +"""Get [`HydroDispatch`](@ref) `active_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits(value::HydroDispatch) = get_value(value, Val(:active_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits(value::HydroDispatch, units) = get_value(value, Val(:active_power_limits), Val(:mva), units) +"""Get [`HydroDispatch`](@ref) `reactive_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits(value::HydroDispatch) = get_value(value, Val(:reactive_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits(value::HydroDispatch, units) = get_value(value, Val(:reactive_power_limits), Val(:mva), units) +"""Get [`HydroDispatch`](@ref) `ramp_limits`. Returns value in the system's unit setting (natural units by default).""" +get_ramp_limits(value::HydroDispatch) = get_value(value, Val(:ramp_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_ramp_limits(value::HydroDispatch, units) = get_value(value, Val(:ramp_limits), Val(:mva), units) """Get [`HydroDispatch`](@ref) `time_limits`.""" get_time_limits(value::HydroDispatch) = value.time_limits """Get [`HydroDispatch`](@ref) `base_power`.""" @@ -168,19 +174,19 @@ get_internal(value::HydroDispatch) = value.internal set_available!(value::HydroDispatch, val) = value.available = val """Set [`HydroDispatch`](@ref) `bus`.""" set_bus!(value::HydroDispatch, val) = value.bus = val -"""Set [`HydroDispatch`](@ref) `active_power`.""" +"""Set [`HydroDispatch`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::HydroDispatch, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`HydroDispatch`](@ref) `reactive_power`.""" +"""Set [`HydroDispatch`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::HydroDispatch, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) -"""Set [`HydroDispatch`](@ref) `rating`.""" +"""Set [`HydroDispatch`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::HydroDispatch, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) """Set [`HydroDispatch`](@ref) `prime_mover_type`.""" set_prime_mover_type!(value::HydroDispatch, val) = value.prime_mover_type = val -"""Set [`HydroDispatch`](@ref) `active_power_limits`.""" +"""Set [`HydroDispatch`](@ref) `active_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits!(value::HydroDispatch, val) = value.active_power_limits = set_value(value, Val(:active_power_limits), val, Val(:mva)) -"""Set [`HydroDispatch`](@ref) `reactive_power_limits`.""" +"""Set [`HydroDispatch`](@ref) `reactive_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits!(value::HydroDispatch, val) = value.reactive_power_limits = set_value(value, Val(:reactive_power_limits), val, Val(:mva)) -"""Set [`HydroDispatch`](@ref) `ramp_limits`.""" +"""Set [`HydroDispatch`](@ref) `ramp_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_ramp_limits!(value::HydroDispatch, val) = value.ramp_limits = set_value(value, Val(:ramp_limits), val, Val(:mva)) """Set [`HydroDispatch`](@ref) `time_limits`.""" set_time_limits!(value::HydroDispatch, val) = value.time_limits = val diff --git a/src/models/generated/HydroPumpTurbine.jl b/src/models/generated/HydroPumpTurbine.jl index babc84b226..cd956f6a77 100644 --- a/src/models/generated/HydroPumpTurbine.jl +++ b/src/models/generated/HydroPumpTurbine.jl @@ -179,24 +179,31 @@ get_name(value::HydroPumpTurbine) = value.name get_available(value::HydroPumpTurbine) = value.available """Get [`HydroPumpTurbine`](@ref) `bus`.""" get_bus(value::HydroPumpTurbine) = value.bus -"""Get [`HydroPumpTurbine`](@ref) `active_power`.""" -get_active_power(value::HydroPumpTurbine) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`HydroPumpTurbine`](@ref) `reactive_power`.""" -get_reactive_power(value::HydroPumpTurbine) = get_value(value, Val(:reactive_power), Val(:mva)) -"""Get [`HydroPumpTurbine`](@ref) `rating`.""" -get_rating(value::HydroPumpTurbine) = get_value(value, Val(:rating), Val(:mva)) -"""Get [`HydroPumpTurbine`](@ref) `active_power_limits`.""" -get_active_power_limits(value::HydroPumpTurbine) = get_value(value, Val(:active_power_limits), Val(:mva)) -"""Get [`HydroPumpTurbine`](@ref) `reactive_power_limits`.""" -get_reactive_power_limits(value::HydroPumpTurbine) = get_value(value, Val(:reactive_power_limits), Val(:mva)) -"""Get [`HydroPumpTurbine`](@ref) `active_power_limits_pump`.""" -get_active_power_limits_pump(value::HydroPumpTurbine) = get_value(value, Val(:active_power_limits_pump), Val(:mva)) +"""Get [`HydroPumpTurbine`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::HydroPumpTurbine) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::HydroPumpTurbine, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`HydroPumpTurbine`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::HydroPumpTurbine) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::HydroPumpTurbine, units) = get_value(value, Val(:reactive_power), Val(:mva), units) +"""Get [`HydroPumpTurbine`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::HydroPumpTurbine) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::HydroPumpTurbine, units) = get_value(value, Val(:rating), Val(:mva), units) +"""Get [`HydroPumpTurbine`](@ref) `active_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits(value::HydroPumpTurbine) = get_value(value, Val(:active_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits(value::HydroPumpTurbine, units) = get_value(value, Val(:active_power_limits), Val(:mva), units) +"""Get [`HydroPumpTurbine`](@ref) `reactive_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits(value::HydroPumpTurbine) = get_value(value, Val(:reactive_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits(value::HydroPumpTurbine, units) = get_value(value, Val(:reactive_power_limits), Val(:mva), units) +"""Get [`HydroPumpTurbine`](@ref) `active_power_limits_pump`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits_pump(value::HydroPumpTurbine) = get_value(value, Val(:active_power_limits_pump), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits_pump(value::HydroPumpTurbine, units) = get_value(value, Val(:active_power_limits_pump), Val(:mva), units) """Get [`HydroPumpTurbine`](@ref) `outflow_limits`.""" get_outflow_limits(value::HydroPumpTurbine) = value.outflow_limits """Get [`HydroPumpTurbine`](@ref) `powerhouse_elevation`.""" get_powerhouse_elevation(value::HydroPumpTurbine) = value.powerhouse_elevation -"""Get [`HydroPumpTurbine`](@ref) `ramp_limits`.""" -get_ramp_limits(value::HydroPumpTurbine) = get_value(value, Val(:ramp_limits), Val(:mva)) +"""Get [`HydroPumpTurbine`](@ref) `ramp_limits`. Returns value in the system's unit setting (natural units by default).""" +get_ramp_limits(value::HydroPumpTurbine) = get_value(value, Val(:ramp_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_ramp_limits(value::HydroPumpTurbine, units) = get_value(value, Val(:ramp_limits), Val(:mva), units) """Get [`HydroPumpTurbine`](@ref) `time_limits`.""" get_time_limits(value::HydroPumpTurbine) = value.time_limits """Get [`HydroPumpTurbine`](@ref) `base_power`.""" @@ -207,8 +214,9 @@ get_status(value::HydroPumpTurbine) = value.status get_time_at_status(value::HydroPumpTurbine) = value.time_at_status """Get [`HydroPumpTurbine`](@ref) `operation_cost`.""" get_operation_cost(value::HydroPumpTurbine) = value.operation_cost -"""Get [`HydroPumpTurbine`](@ref) `active_power_pump`.""" -get_active_power_pump(value::HydroPumpTurbine) = get_value(value, Val(:active_power_pump), Val(:mva)) +"""Get [`HydroPumpTurbine`](@ref) `active_power_pump`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_pump(value::HydroPumpTurbine) = get_value(value, Val(:active_power_pump), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_pump(value::HydroPumpTurbine, units) = get_value(value, Val(:active_power_pump), Val(:mva), units) """Get [`HydroPumpTurbine`](@ref) `efficiency`.""" get_efficiency(value::HydroPumpTurbine) = value.efficiency """Get [`HydroPumpTurbine`](@ref) `transition_time`.""" @@ -236,23 +244,23 @@ get_internal(value::HydroPumpTurbine) = value.internal set_available!(value::HydroPumpTurbine, val) = value.available = val """Set [`HydroPumpTurbine`](@ref) `bus`.""" set_bus!(value::HydroPumpTurbine, val) = value.bus = val -"""Set [`HydroPumpTurbine`](@ref) `active_power`.""" +"""Set [`HydroPumpTurbine`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::HydroPumpTurbine, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`HydroPumpTurbine`](@ref) `reactive_power`.""" +"""Set [`HydroPumpTurbine`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::HydroPumpTurbine, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) -"""Set [`HydroPumpTurbine`](@ref) `rating`.""" +"""Set [`HydroPumpTurbine`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::HydroPumpTurbine, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) -"""Set [`HydroPumpTurbine`](@ref) `active_power_limits`.""" +"""Set [`HydroPumpTurbine`](@ref) `active_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits!(value::HydroPumpTurbine, val) = value.active_power_limits = set_value(value, Val(:active_power_limits), val, Val(:mva)) -"""Set [`HydroPumpTurbine`](@ref) `reactive_power_limits`.""" +"""Set [`HydroPumpTurbine`](@ref) `reactive_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits!(value::HydroPumpTurbine, val) = value.reactive_power_limits = set_value(value, Val(:reactive_power_limits), val, Val(:mva)) -"""Set [`HydroPumpTurbine`](@ref) `active_power_limits_pump`.""" +"""Set [`HydroPumpTurbine`](@ref) `active_power_limits_pump`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits_pump!(value::HydroPumpTurbine, val) = value.active_power_limits_pump = set_value(value, Val(:active_power_limits_pump), val, Val(:mva)) """Set [`HydroPumpTurbine`](@ref) `outflow_limits`.""" set_outflow_limits!(value::HydroPumpTurbine, val) = value.outflow_limits = val """Set [`HydroPumpTurbine`](@ref) `powerhouse_elevation`.""" set_powerhouse_elevation!(value::HydroPumpTurbine, val) = value.powerhouse_elevation = val -"""Set [`HydroPumpTurbine`](@ref) `ramp_limits`.""" +"""Set [`HydroPumpTurbine`](@ref) `ramp_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_ramp_limits!(value::HydroPumpTurbine, val) = value.ramp_limits = set_value(value, Val(:ramp_limits), val, Val(:mva)) """Set [`HydroPumpTurbine`](@ref) `time_limits`.""" set_time_limits!(value::HydroPumpTurbine, val) = value.time_limits = val @@ -264,7 +272,7 @@ set_status!(value::HydroPumpTurbine, val) = value.status = val set_time_at_status!(value::HydroPumpTurbine, val) = value.time_at_status = val """Set [`HydroPumpTurbine`](@ref) `operation_cost`.""" set_operation_cost!(value::HydroPumpTurbine, val) = value.operation_cost = val -"""Set [`HydroPumpTurbine`](@ref) `active_power_pump`.""" +"""Set [`HydroPumpTurbine`](@ref) `active_power_pump`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_pump!(value::HydroPumpTurbine, val) = value.active_power_pump = set_value(value, Val(:active_power_pump), val, Val(:mva)) """Set [`HydroPumpTurbine`](@ref) `efficiency`.""" set_efficiency!(value::HydroPumpTurbine, val) = value.efficiency = val diff --git a/src/models/generated/HydroTurbine.jl b/src/models/generated/HydroTurbine.jl index c90c11c717..9470eb4e1d 100644 --- a/src/models/generated/HydroTurbine.jl +++ b/src/models/generated/HydroTurbine.jl @@ -149,24 +149,30 @@ get_name(value::HydroTurbine) = value.name get_available(value::HydroTurbine) = value.available """Get [`HydroTurbine`](@ref) `bus`.""" get_bus(value::HydroTurbine) = value.bus -"""Get [`HydroTurbine`](@ref) `active_power`.""" -get_active_power(value::HydroTurbine) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`HydroTurbine`](@ref) `reactive_power`.""" -get_reactive_power(value::HydroTurbine) = get_value(value, Val(:reactive_power), Val(:mva)) -"""Get [`HydroTurbine`](@ref) `rating`.""" -get_rating(value::HydroTurbine) = get_value(value, Val(:rating), Val(:mva)) -"""Get [`HydroTurbine`](@ref) `active_power_limits`.""" -get_active_power_limits(value::HydroTurbine) = get_value(value, Val(:active_power_limits), Val(:mva)) -"""Get [`HydroTurbine`](@ref) `reactive_power_limits`.""" -get_reactive_power_limits(value::HydroTurbine) = get_value(value, Val(:reactive_power_limits), Val(:mva)) +"""Get [`HydroTurbine`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::HydroTurbine) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::HydroTurbine, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`HydroTurbine`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::HydroTurbine) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::HydroTurbine, units) = get_value(value, Val(:reactive_power), Val(:mva), units) +"""Get [`HydroTurbine`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::HydroTurbine) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::HydroTurbine, units) = get_value(value, Val(:rating), Val(:mva), units) +"""Get [`HydroTurbine`](@ref) `active_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits(value::HydroTurbine) = get_value(value, Val(:active_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits(value::HydroTurbine, units) = get_value(value, Val(:active_power_limits), Val(:mva), units) +"""Get [`HydroTurbine`](@ref) `reactive_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits(value::HydroTurbine) = get_value(value, Val(:reactive_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits(value::HydroTurbine, units) = get_value(value, Val(:reactive_power_limits), Val(:mva), units) """Get [`HydroTurbine`](@ref) `base_power`.""" get_base_power(value::HydroTurbine) = value.base_power """Get [`HydroTurbine`](@ref) `operation_cost`.""" get_operation_cost(value::HydroTurbine) = value.operation_cost """Get [`HydroTurbine`](@ref) `powerhouse_elevation`.""" get_powerhouse_elevation(value::HydroTurbine) = value.powerhouse_elevation -"""Get [`HydroTurbine`](@ref) `ramp_limits`.""" -get_ramp_limits(value::HydroTurbine) = get_value(value, Val(:ramp_limits), Val(:mva)) +"""Get [`HydroTurbine`](@ref) `ramp_limits`. Returns value in the system's unit setting (natural units by default).""" +get_ramp_limits(value::HydroTurbine) = get_value(value, Val(:ramp_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_ramp_limits(value::HydroTurbine, units) = get_value(value, Val(:ramp_limits), Val(:mva), units) """Get [`HydroTurbine`](@ref) `time_limits`.""" get_time_limits(value::HydroTurbine) = value.time_limits """Get [`HydroTurbine`](@ref) `outflow_limits`.""" @@ -194,15 +200,15 @@ get_internal(value::HydroTurbine) = value.internal set_available!(value::HydroTurbine, val) = value.available = val """Set [`HydroTurbine`](@ref) `bus`.""" set_bus!(value::HydroTurbine, val) = value.bus = val -"""Set [`HydroTurbine`](@ref) `active_power`.""" +"""Set [`HydroTurbine`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::HydroTurbine, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`HydroTurbine`](@ref) `reactive_power`.""" +"""Set [`HydroTurbine`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::HydroTurbine, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) -"""Set [`HydroTurbine`](@ref) `rating`.""" +"""Set [`HydroTurbine`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::HydroTurbine, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) -"""Set [`HydroTurbine`](@ref) `active_power_limits`.""" +"""Set [`HydroTurbine`](@ref) `active_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits!(value::HydroTurbine, val) = value.active_power_limits = set_value(value, Val(:active_power_limits), val, Val(:mva)) -"""Set [`HydroTurbine`](@ref) `reactive_power_limits`.""" +"""Set [`HydroTurbine`](@ref) `reactive_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits!(value::HydroTurbine, val) = value.reactive_power_limits = set_value(value, Val(:reactive_power_limits), val, Val(:mva)) """Set [`HydroTurbine`](@ref) `base_power`.""" set_base_power!(value::HydroTurbine, val) = value.base_power = val @@ -210,7 +216,7 @@ set_base_power!(value::HydroTurbine, val) = value.base_power = val set_operation_cost!(value::HydroTurbine, val) = value.operation_cost = val """Set [`HydroTurbine`](@ref) `powerhouse_elevation`.""" set_powerhouse_elevation!(value::HydroTurbine, val) = value.powerhouse_elevation = val -"""Set [`HydroTurbine`](@ref) `ramp_limits`.""" +"""Set [`HydroTurbine`](@ref) `ramp_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_ramp_limits!(value::HydroTurbine, val) = value.ramp_limits = set_value(value, Val(:ramp_limits), val, Val(:mva)) """Set [`HydroTurbine`](@ref) `time_limits`.""" set_time_limits!(value::HydroTurbine, val) = value.time_limits = val diff --git a/src/models/generated/InterconnectingConverter.jl b/src/models/generated/InterconnectingConverter.jl index 7ac0c3ed04..0e7338816b 100644 --- a/src/models/generated/InterconnectingConverter.jl +++ b/src/models/generated/InterconnectingConverter.jl @@ -111,12 +111,15 @@ get_available(value::InterconnectingConverter) = value.available get_bus(value::InterconnectingConverter) = value.bus """Get [`InterconnectingConverter`](@ref) `dc_bus`.""" get_dc_bus(value::InterconnectingConverter) = value.dc_bus -"""Get [`InterconnectingConverter`](@ref) `active_power`.""" -get_active_power(value::InterconnectingConverter) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`InterconnectingConverter`](@ref) `rating`.""" -get_rating(value::InterconnectingConverter) = get_value(value, Val(:rating), Val(:mva)) -"""Get [`InterconnectingConverter`](@ref) `active_power_limits`.""" -get_active_power_limits(value::InterconnectingConverter) = get_value(value, Val(:active_power_limits), Val(:mva)) +"""Get [`InterconnectingConverter`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::InterconnectingConverter) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::InterconnectingConverter, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`InterconnectingConverter`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::InterconnectingConverter) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::InterconnectingConverter, units) = get_value(value, Val(:rating), Val(:mva), units) +"""Get [`InterconnectingConverter`](@ref) `active_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits(value::InterconnectingConverter) = get_value(value, Val(:active_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits(value::InterconnectingConverter, units) = get_value(value, Val(:active_power_limits), Val(:mva), units) """Get [`InterconnectingConverter`](@ref) `base_power`.""" get_base_power(value::InterconnectingConverter) = value.base_power """Get [`InterconnectingConverter`](@ref) `dc_current`.""" @@ -140,11 +143,11 @@ set_available!(value::InterconnectingConverter, val) = value.available = val set_bus!(value::InterconnectingConverter, val) = value.bus = val """Set [`InterconnectingConverter`](@ref) `dc_bus`.""" set_dc_bus!(value::InterconnectingConverter, val) = value.dc_bus = val -"""Set [`InterconnectingConverter`](@ref) `active_power`.""" +"""Set [`InterconnectingConverter`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::InterconnectingConverter, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`InterconnectingConverter`](@ref) `rating`.""" +"""Set [`InterconnectingConverter`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::InterconnectingConverter, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) -"""Set [`InterconnectingConverter`](@ref) `active_power_limits`.""" +"""Set [`InterconnectingConverter`](@ref) `active_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits!(value::InterconnectingConverter, val) = value.active_power_limits = set_value(value, Val(:active_power_limits), val, Val(:mva)) """Set [`InterconnectingConverter`](@ref) `base_power`.""" set_base_power!(value::InterconnectingConverter, val) = value.base_power = val diff --git a/src/models/generated/InterruptiblePowerLoad.jl b/src/models/generated/InterruptiblePowerLoad.jl index 8cfcf8a27b..1ab269784d 100644 --- a/src/models/generated/InterruptiblePowerLoad.jl +++ b/src/models/generated/InterruptiblePowerLoad.jl @@ -106,14 +106,18 @@ get_name(value::InterruptiblePowerLoad) = value.name get_available(value::InterruptiblePowerLoad) = value.available """Get [`InterruptiblePowerLoad`](@ref) `bus`.""" get_bus(value::InterruptiblePowerLoad) = value.bus -"""Get [`InterruptiblePowerLoad`](@ref) `active_power`.""" -get_active_power(value::InterruptiblePowerLoad) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`InterruptiblePowerLoad`](@ref) `reactive_power`.""" -get_reactive_power(value::InterruptiblePowerLoad) = get_value(value, Val(:reactive_power), Val(:mva)) -"""Get [`InterruptiblePowerLoad`](@ref) `max_active_power`.""" -get_max_active_power(value::InterruptiblePowerLoad) = get_value(value, Val(:max_active_power), Val(:mva)) -"""Get [`InterruptiblePowerLoad`](@ref) `max_reactive_power`.""" -get_max_reactive_power(value::InterruptiblePowerLoad) = get_value(value, Val(:max_reactive_power), Val(:mva)) +"""Get [`InterruptiblePowerLoad`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::InterruptiblePowerLoad) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::InterruptiblePowerLoad, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`InterruptiblePowerLoad`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::InterruptiblePowerLoad) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::InterruptiblePowerLoad, units) = get_value(value, Val(:reactive_power), Val(:mva), units) +"""Get [`InterruptiblePowerLoad`](@ref) `max_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_active_power(value::InterruptiblePowerLoad) = get_value(value, Val(:max_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_active_power(value::InterruptiblePowerLoad, units) = get_value(value, Val(:max_active_power), Val(:mva), units) +"""Get [`InterruptiblePowerLoad`](@ref) `max_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_reactive_power(value::InterruptiblePowerLoad) = get_value(value, Val(:max_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_reactive_power(value::InterruptiblePowerLoad, units) = get_value(value, Val(:max_reactive_power), Val(:mva), units) """Get [`InterruptiblePowerLoad`](@ref) `base_power`.""" get_base_power(value::InterruptiblePowerLoad) = value.base_power """Get [`InterruptiblePowerLoad`](@ref) `operation_cost`.""" @@ -133,13 +137,13 @@ get_internal(value::InterruptiblePowerLoad) = value.internal set_available!(value::InterruptiblePowerLoad, val) = value.available = val """Set [`InterruptiblePowerLoad`](@ref) `bus`.""" set_bus!(value::InterruptiblePowerLoad, val) = value.bus = val -"""Set [`InterruptiblePowerLoad`](@ref) `active_power`.""" +"""Set [`InterruptiblePowerLoad`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::InterruptiblePowerLoad, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`InterruptiblePowerLoad`](@ref) `reactive_power`.""" +"""Set [`InterruptiblePowerLoad`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::InterruptiblePowerLoad, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) -"""Set [`InterruptiblePowerLoad`](@ref) `max_active_power`.""" +"""Set [`InterruptiblePowerLoad`](@ref) `max_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_active_power!(value::InterruptiblePowerLoad, val) = value.max_active_power = set_value(value, Val(:max_active_power), val, Val(:mva)) -"""Set [`InterruptiblePowerLoad`](@ref) `max_reactive_power`.""" +"""Set [`InterruptiblePowerLoad`](@ref) `max_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_reactive_power!(value::InterruptiblePowerLoad, val) = value.max_reactive_power = set_value(value, Val(:max_reactive_power), val, Val(:mva)) """Set [`InterruptiblePowerLoad`](@ref) `base_power`.""" set_base_power!(value::InterruptiblePowerLoad, val) = value.base_power = val diff --git a/src/models/generated/InterruptibleStandardLoad.jl b/src/models/generated/InterruptibleStandardLoad.jl index 1c456a4111..c8cdab169c 100644 --- a/src/models/generated/InterruptibleStandardLoad.jl +++ b/src/models/generated/InterruptibleStandardLoad.jl @@ -154,30 +154,42 @@ get_base_power(value::InterruptibleStandardLoad) = value.base_power get_operation_cost(value::InterruptibleStandardLoad) = value.operation_cost """Get [`InterruptibleStandardLoad`](@ref) `conformity`.""" get_conformity(value::InterruptibleStandardLoad) = value.conformity -"""Get [`InterruptibleStandardLoad`](@ref) `constant_active_power`.""" -get_constant_active_power(value::InterruptibleStandardLoad) = get_value(value, Val(:constant_active_power), Val(:mva)) -"""Get [`InterruptibleStandardLoad`](@ref) `constant_reactive_power`.""" -get_constant_reactive_power(value::InterruptibleStandardLoad) = get_value(value, Val(:constant_reactive_power), Val(:mva)) -"""Get [`InterruptibleStandardLoad`](@ref) `impedance_active_power`.""" -get_impedance_active_power(value::InterruptibleStandardLoad) = get_value(value, Val(:impedance_active_power), Val(:mva)) -"""Get [`InterruptibleStandardLoad`](@ref) `impedance_reactive_power`.""" -get_impedance_reactive_power(value::InterruptibleStandardLoad) = get_value(value, Val(:impedance_reactive_power), Val(:mva)) -"""Get [`InterruptibleStandardLoad`](@ref) `current_active_power`.""" -get_current_active_power(value::InterruptibleStandardLoad) = get_value(value, Val(:current_active_power), Val(:mva)) -"""Get [`InterruptibleStandardLoad`](@ref) `current_reactive_power`.""" -get_current_reactive_power(value::InterruptibleStandardLoad) = get_value(value, Val(:current_reactive_power), Val(:mva)) -"""Get [`InterruptibleStandardLoad`](@ref) `max_constant_active_power`.""" -get_max_constant_active_power(value::InterruptibleStandardLoad) = get_value(value, Val(:max_constant_active_power), Val(:mva)) -"""Get [`InterruptibleStandardLoad`](@ref) `max_constant_reactive_power`.""" -get_max_constant_reactive_power(value::InterruptibleStandardLoad) = get_value(value, Val(:max_constant_reactive_power), Val(:mva)) -"""Get [`InterruptibleStandardLoad`](@ref) `max_impedance_active_power`.""" -get_max_impedance_active_power(value::InterruptibleStandardLoad) = get_value(value, Val(:max_impedance_active_power), Val(:mva)) -"""Get [`InterruptibleStandardLoad`](@ref) `max_impedance_reactive_power`.""" -get_max_impedance_reactive_power(value::InterruptibleStandardLoad) = get_value(value, Val(:max_impedance_reactive_power), Val(:mva)) -"""Get [`InterruptibleStandardLoad`](@ref) `max_current_active_power`.""" -get_max_current_active_power(value::InterruptibleStandardLoad) = get_value(value, Val(:max_current_active_power), Val(:mva)) -"""Get [`InterruptibleStandardLoad`](@ref) `max_current_reactive_power`.""" -get_max_current_reactive_power(value::InterruptibleStandardLoad) = get_value(value, Val(:max_current_reactive_power), Val(:mva)) +"""Get [`InterruptibleStandardLoad`](@ref) `constant_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_constant_active_power(value::InterruptibleStandardLoad) = get_value(value, Val(:constant_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_constant_active_power(value::InterruptibleStandardLoad, units) = get_value(value, Val(:constant_active_power), Val(:mva), units) +"""Get [`InterruptibleStandardLoad`](@ref) `constant_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_constant_reactive_power(value::InterruptibleStandardLoad) = get_value(value, Val(:constant_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_constant_reactive_power(value::InterruptibleStandardLoad, units) = get_value(value, Val(:constant_reactive_power), Val(:mva), units) +"""Get [`InterruptibleStandardLoad`](@ref) `impedance_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_impedance_active_power(value::InterruptibleStandardLoad) = get_value(value, Val(:impedance_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_impedance_active_power(value::InterruptibleStandardLoad, units) = get_value(value, Val(:impedance_active_power), Val(:mva), units) +"""Get [`InterruptibleStandardLoad`](@ref) `impedance_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_impedance_reactive_power(value::InterruptibleStandardLoad) = get_value(value, Val(:impedance_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_impedance_reactive_power(value::InterruptibleStandardLoad, units) = get_value(value, Val(:impedance_reactive_power), Val(:mva), units) +"""Get [`InterruptibleStandardLoad`](@ref) `current_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_current_active_power(value::InterruptibleStandardLoad) = get_value(value, Val(:current_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_current_active_power(value::InterruptibleStandardLoad, units) = get_value(value, Val(:current_active_power), Val(:mva), units) +"""Get [`InterruptibleStandardLoad`](@ref) `current_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_current_reactive_power(value::InterruptibleStandardLoad) = get_value(value, Val(:current_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_current_reactive_power(value::InterruptibleStandardLoad, units) = get_value(value, Val(:current_reactive_power), Val(:mva), units) +"""Get [`InterruptibleStandardLoad`](@ref) `max_constant_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_constant_active_power(value::InterruptibleStandardLoad) = get_value(value, Val(:max_constant_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_constant_active_power(value::InterruptibleStandardLoad, units) = get_value(value, Val(:max_constant_active_power), Val(:mva), units) +"""Get [`InterruptibleStandardLoad`](@ref) `max_constant_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_constant_reactive_power(value::InterruptibleStandardLoad) = get_value(value, Val(:max_constant_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_constant_reactive_power(value::InterruptibleStandardLoad, units) = get_value(value, Val(:max_constant_reactive_power), Val(:mva), units) +"""Get [`InterruptibleStandardLoad`](@ref) `max_impedance_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_impedance_active_power(value::InterruptibleStandardLoad) = get_value(value, Val(:max_impedance_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_impedance_active_power(value::InterruptibleStandardLoad, units) = get_value(value, Val(:max_impedance_active_power), Val(:mva), units) +"""Get [`InterruptibleStandardLoad`](@ref) `max_impedance_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_impedance_reactive_power(value::InterruptibleStandardLoad) = get_value(value, Val(:max_impedance_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_impedance_reactive_power(value::InterruptibleStandardLoad, units) = get_value(value, Val(:max_impedance_reactive_power), Val(:mva), units) +"""Get [`InterruptibleStandardLoad`](@ref) `max_current_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_current_active_power(value::InterruptibleStandardLoad) = get_value(value, Val(:max_current_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_current_active_power(value::InterruptibleStandardLoad, units) = get_value(value, Val(:max_current_active_power), Val(:mva), units) +"""Get [`InterruptibleStandardLoad`](@ref) `max_current_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_current_reactive_power(value::InterruptibleStandardLoad) = get_value(value, Val(:max_current_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_current_reactive_power(value::InterruptibleStandardLoad, units) = get_value(value, Val(:max_current_reactive_power), Val(:mva), units) """Get [`InterruptibleStandardLoad`](@ref) `services`.""" get_services(value::InterruptibleStandardLoad) = value.services """Get [`InterruptibleStandardLoad`](@ref) `dynamic_injector`.""" @@ -197,29 +209,29 @@ set_base_power!(value::InterruptibleStandardLoad, val) = value.base_power = val set_operation_cost!(value::InterruptibleStandardLoad, val) = value.operation_cost = val """Set [`InterruptibleStandardLoad`](@ref) `conformity`.""" set_conformity!(value::InterruptibleStandardLoad, val) = value.conformity = val -"""Set [`InterruptibleStandardLoad`](@ref) `constant_active_power`.""" +"""Set [`InterruptibleStandardLoad`](@ref) `constant_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_constant_active_power!(value::InterruptibleStandardLoad, val) = value.constant_active_power = set_value(value, Val(:constant_active_power), val, Val(:mva)) -"""Set [`InterruptibleStandardLoad`](@ref) `constant_reactive_power`.""" +"""Set [`InterruptibleStandardLoad`](@ref) `constant_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_constant_reactive_power!(value::InterruptibleStandardLoad, val) = value.constant_reactive_power = set_value(value, Val(:constant_reactive_power), val, Val(:mva)) -"""Set [`InterruptibleStandardLoad`](@ref) `impedance_active_power`.""" +"""Set [`InterruptibleStandardLoad`](@ref) `impedance_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_impedance_active_power!(value::InterruptibleStandardLoad, val) = value.impedance_active_power = set_value(value, Val(:impedance_active_power), val, Val(:mva)) -"""Set [`InterruptibleStandardLoad`](@ref) `impedance_reactive_power`.""" +"""Set [`InterruptibleStandardLoad`](@ref) `impedance_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_impedance_reactive_power!(value::InterruptibleStandardLoad, val) = value.impedance_reactive_power = set_value(value, Val(:impedance_reactive_power), val, Val(:mva)) -"""Set [`InterruptibleStandardLoad`](@ref) `current_active_power`.""" +"""Set [`InterruptibleStandardLoad`](@ref) `current_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_current_active_power!(value::InterruptibleStandardLoad, val) = value.current_active_power = set_value(value, Val(:current_active_power), val, Val(:mva)) -"""Set [`InterruptibleStandardLoad`](@ref) `current_reactive_power`.""" +"""Set [`InterruptibleStandardLoad`](@ref) `current_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_current_reactive_power!(value::InterruptibleStandardLoad, val) = value.current_reactive_power = set_value(value, Val(:current_reactive_power), val, Val(:mva)) -"""Set [`InterruptibleStandardLoad`](@ref) `max_constant_active_power`.""" +"""Set [`InterruptibleStandardLoad`](@ref) `max_constant_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_constant_active_power!(value::InterruptibleStandardLoad, val) = value.max_constant_active_power = set_value(value, Val(:max_constant_active_power), val, Val(:mva)) -"""Set [`InterruptibleStandardLoad`](@ref) `max_constant_reactive_power`.""" +"""Set [`InterruptibleStandardLoad`](@ref) `max_constant_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_constant_reactive_power!(value::InterruptibleStandardLoad, val) = value.max_constant_reactive_power = set_value(value, Val(:max_constant_reactive_power), val, Val(:mva)) -"""Set [`InterruptibleStandardLoad`](@ref) `max_impedance_active_power`.""" +"""Set [`InterruptibleStandardLoad`](@ref) `max_impedance_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_impedance_active_power!(value::InterruptibleStandardLoad, val) = value.max_impedance_active_power = set_value(value, Val(:max_impedance_active_power), val, Val(:mva)) -"""Set [`InterruptibleStandardLoad`](@ref) `max_impedance_reactive_power`.""" +"""Set [`InterruptibleStandardLoad`](@ref) `max_impedance_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_impedance_reactive_power!(value::InterruptibleStandardLoad, val) = value.max_impedance_reactive_power = set_value(value, Val(:max_impedance_reactive_power), val, Val(:mva)) -"""Set [`InterruptibleStandardLoad`](@ref) `max_current_active_power`.""" +"""Set [`InterruptibleStandardLoad`](@ref) `max_current_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_current_active_power!(value::InterruptibleStandardLoad, val) = value.max_current_active_power = set_value(value, Val(:max_current_active_power), val, Val(:mva)) -"""Set [`InterruptibleStandardLoad`](@ref) `max_current_reactive_power`.""" +"""Set [`InterruptibleStandardLoad`](@ref) `max_current_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_current_reactive_power!(value::InterruptibleStandardLoad, val) = value.max_current_reactive_power = set_value(value, Val(:max_current_reactive_power), val, Val(:mva)) """Set [`InterruptibleStandardLoad`](@ref) `services`.""" set_services!(value::InterruptibleStandardLoad, val) = value.services = val diff --git a/src/models/generated/Line.jl b/src/models/generated/Line.jl index f519006452..ab4b39e625 100644 --- a/src/models/generated/Line.jl +++ b/src/models/generated/Line.jl @@ -112,28 +112,37 @@ end get_name(value::Line) = value.name """Get [`Line`](@ref) `available`.""" get_available(value::Line) = value.available -"""Get [`Line`](@ref) `active_power_flow`.""" -get_active_power_flow(value::Line) = get_value(value, Val(:active_power_flow), Val(:mva)) -"""Get [`Line`](@ref) `reactive_power_flow`.""" -get_reactive_power_flow(value::Line) = get_value(value, Val(:reactive_power_flow), Val(:mva)) +"""Get [`Line`](@ref) `active_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow(value::Line) = get_value(value, Val(:active_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow(value::Line, units) = get_value(value, Val(:active_power_flow), Val(:mva), units) +"""Get [`Line`](@ref) `reactive_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_flow(value::Line) = get_value(value, Val(:reactive_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_flow(value::Line, units) = get_value(value, Val(:reactive_power_flow), Val(:mva), units) """Get [`Line`](@ref) `arc`.""" get_arc(value::Line) = value.arc -"""Get [`Line`](@ref) `r`.""" -get_r(value::Line) = get_value(value, Val(:r), Val(:ohm)) -"""Get [`Line`](@ref) `x`.""" -get_x(value::Line) = get_value(value, Val(:x), Val(:ohm)) -"""Get [`Line`](@ref) `b`.""" -get_b(value::Line) = get_value(value, Val(:b), Val(:siemens)) -"""Get [`Line`](@ref) `rating`.""" -get_rating(value::Line) = get_value(value, Val(:rating), Val(:mva)) +"""Get [`Line`](@ref) `r`. Returns value in the system's unit setting (natural units by default).""" +get_r(value::Line) = get_value(value, Val(:r), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r(value::Line, units) = get_value(value, Val(:r), Val(:ohm), units) +"""Get [`Line`](@ref) `x`. Returns value in the system's unit setting (natural units by default).""" +get_x(value::Line) = get_value(value, Val(:x), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x(value::Line, units) = get_value(value, Val(:x), Val(:ohm), units) +"""Get [`Line`](@ref) `b`. Returns value in the system's unit setting (natural units by default).""" +get_b(value::Line) = get_value(value, Val(:b), Val(:siemens), _get_system_units(value, Val(:siemens))) +get_b(value::Line, units) = get_value(value, Val(:b), Val(:siemens), units) +"""Get [`Line`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::Line) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::Line, units) = get_value(value, Val(:rating), Val(:mva), units) """Get [`Line`](@ref) `angle_limits`.""" get_angle_limits(value::Line) = value.angle_limits -"""Get [`Line`](@ref) `rating_b`.""" -get_rating_b(value::Line) = get_value(value, Val(:rating_b), Val(:mva)) -"""Get [`Line`](@ref) `rating_c`.""" -get_rating_c(value::Line) = get_value(value, Val(:rating_c), Val(:mva)) -"""Get [`Line`](@ref) `g`.""" -get_g(value::Line) = get_value(value, Val(:g), Val(:siemens)) +"""Get [`Line`](@ref) `rating_b`. Returns value in the system's unit setting (natural units by default).""" +get_rating_b(value::Line) = get_value(value, Val(:rating_b), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_b(value::Line, units) = get_value(value, Val(:rating_b), Val(:mva), units) +"""Get [`Line`](@ref) `rating_c`. Returns value in the system's unit setting (natural units by default).""" +get_rating_c(value::Line) = get_value(value, Val(:rating_c), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_c(value::Line, units) = get_value(value, Val(:rating_c), Val(:mva), units) +"""Get [`Line`](@ref) `g`. Returns value in the system's unit setting (natural units by default).""" +get_g(value::Line) = get_value(value, Val(:g), Val(:siemens), _get_system_units(value, Val(:siemens))) +get_g(value::Line, units) = get_value(value, Val(:g), Val(:siemens), units) """Get [`Line`](@ref) `services`.""" get_services(value::Line) = value.services """Get [`Line`](@ref) `ext`.""" @@ -143,27 +152,27 @@ get_internal(value::Line) = value.internal """Set [`Line`](@ref) `available`.""" set_available!(value::Line, val) = value.available = val -"""Set [`Line`](@ref) `active_power_flow`.""" +"""Set [`Line`](@ref) `active_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow!(value::Line, val) = value.active_power_flow = set_value(value, Val(:active_power_flow), val, Val(:mva)) -"""Set [`Line`](@ref) `reactive_power_flow`.""" +"""Set [`Line`](@ref) `reactive_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_flow!(value::Line, val) = value.reactive_power_flow = set_value(value, Val(:reactive_power_flow), val, Val(:mva)) """Set [`Line`](@ref) `arc`.""" set_arc!(value::Line, val) = value.arc = val -"""Set [`Line`](@ref) `r`.""" +"""Set [`Line`](@ref) `r`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r!(value::Line, val) = value.r = set_value(value, Val(:r), val, Val(:ohm)) -"""Set [`Line`](@ref) `x`.""" +"""Set [`Line`](@ref) `x`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x!(value::Line, val) = value.x = set_value(value, Val(:x), val, Val(:ohm)) -"""Set [`Line`](@ref) `b`.""" +"""Set [`Line`](@ref) `b`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_b!(value::Line, val) = value.b = set_value(value, Val(:b), val, Val(:siemens)) -"""Set [`Line`](@ref) `rating`.""" +"""Set [`Line`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::Line, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) """Set [`Line`](@ref) `angle_limits`.""" set_angle_limits!(value::Line, val) = value.angle_limits = val -"""Set [`Line`](@ref) `rating_b`.""" +"""Set [`Line`](@ref) `rating_b`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_b!(value::Line, val) = value.rating_b = set_value(value, Val(:rating_b), val, Val(:mva)) -"""Set [`Line`](@ref) `rating_c`.""" +"""Set [`Line`](@ref) `rating_c`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_c!(value::Line, val) = value.rating_c = set_value(value, Val(:rating_c), val, Val(:mva)) -"""Set [`Line`](@ref) `g`.""" +"""Set [`Line`](@ref) `g`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_g!(value::Line, val) = value.g = set_value(value, Val(:g), val, Val(:siemens)) """Set [`Line`](@ref) `services`.""" set_services!(value::Line, val) = value.services = val diff --git a/src/models/generated/LoadZone.jl b/src/models/generated/LoadZone.jl index 6aa77060f8..83dfca4d53 100644 --- a/src/models/generated/LoadZone.jl +++ b/src/models/generated/LoadZone.jl @@ -57,18 +57,20 @@ end """Get [`LoadZone`](@ref) `name`.""" get_name(value::LoadZone) = value.name -"""Get [`LoadZone`](@ref) `peak_active_power`.""" -get_peak_active_power(value::LoadZone) = get_value(value, Val(:peak_active_power), Val(:mva)) -"""Get [`LoadZone`](@ref) `peak_reactive_power`.""" -get_peak_reactive_power(value::LoadZone) = get_value(value, Val(:peak_reactive_power), Val(:mva)) +"""Get [`LoadZone`](@ref) `peak_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_peak_active_power(value::LoadZone) = get_value(value, Val(:peak_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_peak_active_power(value::LoadZone, units) = get_value(value, Val(:peak_active_power), Val(:mva), units) +"""Get [`LoadZone`](@ref) `peak_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_peak_reactive_power(value::LoadZone) = get_value(value, Val(:peak_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_peak_reactive_power(value::LoadZone, units) = get_value(value, Val(:peak_reactive_power), Val(:mva), units) """Get [`LoadZone`](@ref) `ext`.""" get_ext(value::LoadZone) = value.ext """Get [`LoadZone`](@ref) `internal`.""" get_internal(value::LoadZone) = value.internal -"""Set [`LoadZone`](@ref) `peak_active_power`.""" +"""Set [`LoadZone`](@ref) `peak_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_peak_active_power!(value::LoadZone, val) = value.peak_active_power = set_value(value, Val(:peak_active_power), val, Val(:mva)) -"""Set [`LoadZone`](@ref) `peak_reactive_power`.""" +"""Set [`LoadZone`](@ref) `peak_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_peak_reactive_power!(value::LoadZone, val) = value.peak_reactive_power = set_value(value, Val(:peak_reactive_power), val, Val(:mva)) """Set [`LoadZone`](@ref) `ext`.""" set_ext!(value::LoadZone, val) = value.ext = val diff --git a/src/models/generated/MonitoredLine.jl b/src/models/generated/MonitoredLine.jl index 90b98a02a0..19f0853937 100644 --- a/src/models/generated/MonitoredLine.jl +++ b/src/models/generated/MonitoredLine.jl @@ -119,30 +119,40 @@ end get_name(value::MonitoredLine) = value.name """Get [`MonitoredLine`](@ref) `available`.""" get_available(value::MonitoredLine) = value.available -"""Get [`MonitoredLine`](@ref) `active_power_flow`.""" -get_active_power_flow(value::MonitoredLine) = get_value(value, Val(:active_power_flow), Val(:mva)) -"""Get [`MonitoredLine`](@ref) `reactive_power_flow`.""" -get_reactive_power_flow(value::MonitoredLine) = get_value(value, Val(:reactive_power_flow), Val(:mva)) +"""Get [`MonitoredLine`](@ref) `active_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow(value::MonitoredLine) = get_value(value, Val(:active_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow(value::MonitoredLine, units) = get_value(value, Val(:active_power_flow), Val(:mva), units) +"""Get [`MonitoredLine`](@ref) `reactive_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_flow(value::MonitoredLine) = get_value(value, Val(:reactive_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_flow(value::MonitoredLine, units) = get_value(value, Val(:reactive_power_flow), Val(:mva), units) """Get [`MonitoredLine`](@ref) `arc`.""" get_arc(value::MonitoredLine) = value.arc -"""Get [`MonitoredLine`](@ref) `r`.""" -get_r(value::MonitoredLine) = get_value(value, Val(:r), Val(:ohm)) -"""Get [`MonitoredLine`](@ref) `x`.""" -get_x(value::MonitoredLine) = get_value(value, Val(:x), Val(:ohm)) -"""Get [`MonitoredLine`](@ref) `b`.""" -get_b(value::MonitoredLine) = get_value(value, Val(:b), Val(:siemens)) -"""Get [`MonitoredLine`](@ref) `flow_limits`.""" -get_flow_limits(value::MonitoredLine) = get_value(value, Val(:flow_limits), Val(:mva)) -"""Get [`MonitoredLine`](@ref) `rating`.""" -get_rating(value::MonitoredLine) = get_value(value, Val(:rating), Val(:mva)) +"""Get [`MonitoredLine`](@ref) `r`. Returns value in the system's unit setting (natural units by default).""" +get_r(value::MonitoredLine) = get_value(value, Val(:r), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r(value::MonitoredLine, units) = get_value(value, Val(:r), Val(:ohm), units) +"""Get [`MonitoredLine`](@ref) `x`. Returns value in the system's unit setting (natural units by default).""" +get_x(value::MonitoredLine) = get_value(value, Val(:x), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x(value::MonitoredLine, units) = get_value(value, Val(:x), Val(:ohm), units) +"""Get [`MonitoredLine`](@ref) `b`. Returns value in the system's unit setting (natural units by default).""" +get_b(value::MonitoredLine) = get_value(value, Val(:b), Val(:siemens), _get_system_units(value, Val(:siemens))) +get_b(value::MonitoredLine, units) = get_value(value, Val(:b), Val(:siemens), units) +"""Get [`MonitoredLine`](@ref) `flow_limits`. Returns value in the system's unit setting (natural units by default).""" +get_flow_limits(value::MonitoredLine) = get_value(value, Val(:flow_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_flow_limits(value::MonitoredLine, units) = get_value(value, Val(:flow_limits), Val(:mva), units) +"""Get [`MonitoredLine`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::MonitoredLine) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::MonitoredLine, units) = get_value(value, Val(:rating), Val(:mva), units) """Get [`MonitoredLine`](@ref) `angle_limits`.""" get_angle_limits(value::MonitoredLine) = value.angle_limits -"""Get [`MonitoredLine`](@ref) `rating_b`.""" -get_rating_b(value::MonitoredLine) = get_value(value, Val(:rating_b), Val(:mva)) -"""Get [`MonitoredLine`](@ref) `rating_c`.""" -get_rating_c(value::MonitoredLine) = get_value(value, Val(:rating_c), Val(:mva)) -"""Get [`MonitoredLine`](@ref) `g`.""" -get_g(value::MonitoredLine) = get_value(value, Val(:g), Val(:siemens)) +"""Get [`MonitoredLine`](@ref) `rating_b`. Returns value in the system's unit setting (natural units by default).""" +get_rating_b(value::MonitoredLine) = get_value(value, Val(:rating_b), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_b(value::MonitoredLine, units) = get_value(value, Val(:rating_b), Val(:mva), units) +"""Get [`MonitoredLine`](@ref) `rating_c`. Returns value in the system's unit setting (natural units by default).""" +get_rating_c(value::MonitoredLine) = get_value(value, Val(:rating_c), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_c(value::MonitoredLine, units) = get_value(value, Val(:rating_c), Val(:mva), units) +"""Get [`MonitoredLine`](@ref) `g`. Returns value in the system's unit setting (natural units by default).""" +get_g(value::MonitoredLine) = get_value(value, Val(:g), Val(:siemens), _get_system_units(value, Val(:siemens))) +get_g(value::MonitoredLine, units) = get_value(value, Val(:g), Val(:siemens), units) """Get [`MonitoredLine`](@ref) `services`.""" get_services(value::MonitoredLine) = value.services """Get [`MonitoredLine`](@ref) `ext`.""" @@ -152,29 +162,29 @@ get_internal(value::MonitoredLine) = value.internal """Set [`MonitoredLine`](@ref) `available`.""" set_available!(value::MonitoredLine, val) = value.available = val -"""Set [`MonitoredLine`](@ref) `active_power_flow`.""" +"""Set [`MonitoredLine`](@ref) `active_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow!(value::MonitoredLine, val) = value.active_power_flow = set_value(value, Val(:active_power_flow), val, Val(:mva)) -"""Set [`MonitoredLine`](@ref) `reactive_power_flow`.""" +"""Set [`MonitoredLine`](@ref) `reactive_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_flow!(value::MonitoredLine, val) = value.reactive_power_flow = set_value(value, Val(:reactive_power_flow), val, Val(:mva)) """Set [`MonitoredLine`](@ref) `arc`.""" set_arc!(value::MonitoredLine, val) = value.arc = val -"""Set [`MonitoredLine`](@ref) `r`.""" +"""Set [`MonitoredLine`](@ref) `r`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r!(value::MonitoredLine, val) = value.r = set_value(value, Val(:r), val, Val(:ohm)) -"""Set [`MonitoredLine`](@ref) `x`.""" +"""Set [`MonitoredLine`](@ref) `x`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x!(value::MonitoredLine, val) = value.x = set_value(value, Val(:x), val, Val(:ohm)) -"""Set [`MonitoredLine`](@ref) `b`.""" +"""Set [`MonitoredLine`](@ref) `b`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_b!(value::MonitoredLine, val) = value.b = set_value(value, Val(:b), val, Val(:siemens)) -"""Set [`MonitoredLine`](@ref) `flow_limits`.""" +"""Set [`MonitoredLine`](@ref) `flow_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_flow_limits!(value::MonitoredLine, val) = value.flow_limits = set_value(value, Val(:flow_limits), val, Val(:mva)) -"""Set [`MonitoredLine`](@ref) `rating`.""" +"""Set [`MonitoredLine`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::MonitoredLine, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) """Set [`MonitoredLine`](@ref) `angle_limits`.""" set_angle_limits!(value::MonitoredLine, val) = value.angle_limits = val -"""Set [`MonitoredLine`](@ref) `rating_b`.""" +"""Set [`MonitoredLine`](@ref) `rating_b`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_b!(value::MonitoredLine, val) = value.rating_b = set_value(value, Val(:rating_b), val, Val(:mva)) -"""Set [`MonitoredLine`](@ref) `rating_c`.""" +"""Set [`MonitoredLine`](@ref) `rating_c`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_c!(value::MonitoredLine, val) = value.rating_c = set_value(value, Val(:rating_c), val, Val(:mva)) -"""Set [`MonitoredLine`](@ref) `g`.""" +"""Set [`MonitoredLine`](@ref) `g`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_g!(value::MonitoredLine, val) = value.g = set_value(value, Val(:g), val, Val(:siemens)) """Set [`MonitoredLine`](@ref) `services`.""" set_services!(value::MonitoredLine, val) = value.services = val diff --git a/src/models/generated/MotorLoad.jl b/src/models/generated/MotorLoad.jl index 2ad03b262e..2a5138d3f4 100644 --- a/src/models/generated/MotorLoad.jl +++ b/src/models/generated/MotorLoad.jl @@ -106,18 +106,23 @@ get_name(value::MotorLoad) = value.name get_available(value::MotorLoad) = value.available """Get [`MotorLoad`](@ref) `bus`.""" get_bus(value::MotorLoad) = value.bus -"""Get [`MotorLoad`](@ref) `active_power`.""" -get_active_power(value::MotorLoad) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`MotorLoad`](@ref) `reactive_power`.""" -get_reactive_power(value::MotorLoad) = get_value(value, Val(:reactive_power), Val(:mva)) +"""Get [`MotorLoad`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::MotorLoad) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::MotorLoad, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`MotorLoad`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::MotorLoad) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::MotorLoad, units) = get_value(value, Val(:reactive_power), Val(:mva), units) """Get [`MotorLoad`](@ref) `base_power`.""" get_base_power(value::MotorLoad) = value.base_power -"""Get [`MotorLoad`](@ref) `rating`.""" -get_rating(value::MotorLoad) = get_value(value, Val(:rating), Val(:mva)) -"""Get [`MotorLoad`](@ref) `max_active_power`.""" -get_max_active_power(value::MotorLoad) = get_value(value, Val(:max_active_power), Val(:mva)) -"""Get [`MotorLoad`](@ref) `reactive_power_limits`.""" -get_reactive_power_limits(value::MotorLoad) = get_value(value, Val(:reactive_power_limits), Val(:mva)) +"""Get [`MotorLoad`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::MotorLoad) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::MotorLoad, units) = get_value(value, Val(:rating), Val(:mva), units) +"""Get [`MotorLoad`](@ref) `max_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_active_power(value::MotorLoad) = get_value(value, Val(:max_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_active_power(value::MotorLoad, units) = get_value(value, Val(:max_active_power), Val(:mva), units) +"""Get [`MotorLoad`](@ref) `reactive_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits(value::MotorLoad) = get_value(value, Val(:reactive_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits(value::MotorLoad, units) = get_value(value, Val(:reactive_power_limits), Val(:mva), units) """Get [`MotorLoad`](@ref) `motor_technology`.""" get_motor_technology(value::MotorLoad) = value.motor_technology """Get [`MotorLoad`](@ref) `services`.""" @@ -133,17 +138,17 @@ get_internal(value::MotorLoad) = value.internal set_available!(value::MotorLoad, val) = value.available = val """Set [`MotorLoad`](@ref) `bus`.""" set_bus!(value::MotorLoad, val) = value.bus = val -"""Set [`MotorLoad`](@ref) `active_power`.""" +"""Set [`MotorLoad`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::MotorLoad, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`MotorLoad`](@ref) `reactive_power`.""" +"""Set [`MotorLoad`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::MotorLoad, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) """Set [`MotorLoad`](@ref) `base_power`.""" set_base_power!(value::MotorLoad, val) = value.base_power = val -"""Set [`MotorLoad`](@ref) `rating`.""" +"""Set [`MotorLoad`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::MotorLoad, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) -"""Set [`MotorLoad`](@ref) `max_active_power`.""" +"""Set [`MotorLoad`](@ref) `max_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_active_power!(value::MotorLoad, val) = value.max_active_power = set_value(value, Val(:max_active_power), val, Val(:mva)) -"""Set [`MotorLoad`](@ref) `reactive_power_limits`.""" +"""Set [`MotorLoad`](@ref) `reactive_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits!(value::MotorLoad, val) = value.reactive_power_limits = set_value(value, Val(:reactive_power_limits), val, Val(:mva)) """Set [`MotorLoad`](@ref) `motor_technology`.""" set_motor_technology!(value::MotorLoad, val) = value.motor_technology = val diff --git a/src/models/generated/PhaseShiftingTransformer.jl b/src/models/generated/PhaseShiftingTransformer.jl index 71aeb08842..3ae54ee468 100644 --- a/src/models/generated/PhaseShiftingTransformer.jl +++ b/src/models/generated/PhaseShiftingTransformer.jl @@ -139,34 +139,42 @@ end get_name(value::PhaseShiftingTransformer) = value.name """Get [`PhaseShiftingTransformer`](@ref) `available`.""" get_available(value::PhaseShiftingTransformer) = value.available -"""Get [`PhaseShiftingTransformer`](@ref) `active_power_flow`.""" -get_active_power_flow(value::PhaseShiftingTransformer) = get_value(value, Val(:active_power_flow), Val(:mva)) -"""Get [`PhaseShiftingTransformer`](@ref) `reactive_power_flow`.""" -get_reactive_power_flow(value::PhaseShiftingTransformer) = get_value(value, Val(:reactive_power_flow), Val(:mva)) +"""Get [`PhaseShiftingTransformer`](@ref) `active_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow(value::PhaseShiftingTransformer) = get_value(value, Val(:active_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow(value::PhaseShiftingTransformer, units) = get_value(value, Val(:active_power_flow), Val(:mva), units) +"""Get [`PhaseShiftingTransformer`](@ref) `reactive_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_flow(value::PhaseShiftingTransformer) = get_value(value, Val(:reactive_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_flow(value::PhaseShiftingTransformer, units) = get_value(value, Val(:reactive_power_flow), Val(:mva), units) """Get [`PhaseShiftingTransformer`](@ref) `arc`.""" get_arc(value::PhaseShiftingTransformer) = value.arc -"""Get [`PhaseShiftingTransformer`](@ref) `r`.""" -get_r(value::PhaseShiftingTransformer) = get_value(value, Val(:r), Val(:ohm)) -"""Get [`PhaseShiftingTransformer`](@ref) `x`.""" -get_x(value::PhaseShiftingTransformer) = get_value(value, Val(:x), Val(:ohm)) -"""Get [`PhaseShiftingTransformer`](@ref) `primary_shunt`.""" -get_primary_shunt(value::PhaseShiftingTransformer) = get_value(value, Val(:primary_shunt), Val(:siemens)) +"""Get [`PhaseShiftingTransformer`](@ref) `r`. Returns value in the system's unit setting (natural units by default).""" +get_r(value::PhaseShiftingTransformer) = get_value(value, Val(:r), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r(value::PhaseShiftingTransformer, units) = get_value(value, Val(:r), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer`](@ref) `x`. Returns value in the system's unit setting (natural units by default).""" +get_x(value::PhaseShiftingTransformer) = get_value(value, Val(:x), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x(value::PhaseShiftingTransformer, units) = get_value(value, Val(:x), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer`](@ref) `primary_shunt`. Returns value in the system's unit setting (natural units by default).""" +get_primary_shunt(value::PhaseShiftingTransformer) = get_value(value, Val(:primary_shunt), Val(:siemens), _get_system_units(value, Val(:siemens))) +get_primary_shunt(value::PhaseShiftingTransformer, units) = get_value(value, Val(:primary_shunt), Val(:siemens), units) """Get [`PhaseShiftingTransformer`](@ref) `tap`.""" get_tap(value::PhaseShiftingTransformer) = value.tap """Get [`PhaseShiftingTransformer`](@ref) `α`.""" get_α(value::PhaseShiftingTransformer) = value.α -"""Get [`PhaseShiftingTransformer`](@ref) `rating`.""" -get_rating(value::PhaseShiftingTransformer) = get_value(value, Val(:rating), Val(:mva)) +"""Get [`PhaseShiftingTransformer`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::PhaseShiftingTransformer) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::PhaseShiftingTransformer, units) = get_value(value, Val(:rating), Val(:mva), units) """Get [`PhaseShiftingTransformer`](@ref) `base_power`.""" get_base_power(value::PhaseShiftingTransformer) = value.base_power """Get [`PhaseShiftingTransformer`](@ref) `base_voltage_primary`.""" get_base_voltage_primary(value::PhaseShiftingTransformer) = value.base_voltage_primary """Get [`PhaseShiftingTransformer`](@ref) `base_voltage_secondary`.""" get_base_voltage_secondary(value::PhaseShiftingTransformer) = value.base_voltage_secondary -"""Get [`PhaseShiftingTransformer`](@ref) `rating_b`.""" -get_rating_b(value::PhaseShiftingTransformer) = get_value(value, Val(:rating_b), Val(:mva)) -"""Get [`PhaseShiftingTransformer`](@ref) `rating_c`.""" -get_rating_c(value::PhaseShiftingTransformer) = get_value(value, Val(:rating_c), Val(:mva)) +"""Get [`PhaseShiftingTransformer`](@ref) `rating_b`. Returns value in the system's unit setting (natural units by default).""" +get_rating_b(value::PhaseShiftingTransformer) = get_value(value, Val(:rating_b), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_b(value::PhaseShiftingTransformer, units) = get_value(value, Val(:rating_b), Val(:mva), units) +"""Get [`PhaseShiftingTransformer`](@ref) `rating_c`. Returns value in the system's unit setting (natural units by default).""" +get_rating_c(value::PhaseShiftingTransformer) = get_value(value, Val(:rating_c), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_c(value::PhaseShiftingTransformer, units) = get_value(value, Val(:rating_c), Val(:mva), units) """Get [`PhaseShiftingTransformer`](@ref) `phase_angle_limits`.""" get_phase_angle_limits(value::PhaseShiftingTransformer) = value.phase_angle_limits """Get [`PhaseShiftingTransformer`](@ref) `control_objective`.""" @@ -180,23 +188,23 @@ get_internal(value::PhaseShiftingTransformer) = value.internal """Set [`PhaseShiftingTransformer`](@ref) `available`.""" set_available!(value::PhaseShiftingTransformer, val) = value.available = val -"""Set [`PhaseShiftingTransformer`](@ref) `active_power_flow`.""" +"""Set [`PhaseShiftingTransformer`](@ref) `active_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow!(value::PhaseShiftingTransformer, val) = value.active_power_flow = set_value(value, Val(:active_power_flow), val, Val(:mva)) -"""Set [`PhaseShiftingTransformer`](@ref) `reactive_power_flow`.""" +"""Set [`PhaseShiftingTransformer`](@ref) `reactive_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_flow!(value::PhaseShiftingTransformer, val) = value.reactive_power_flow = set_value(value, Val(:reactive_power_flow), val, Val(:mva)) """Set [`PhaseShiftingTransformer`](@ref) `arc`.""" set_arc!(value::PhaseShiftingTransformer, val) = value.arc = val -"""Set [`PhaseShiftingTransformer`](@ref) `r`.""" +"""Set [`PhaseShiftingTransformer`](@ref) `r`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r!(value::PhaseShiftingTransformer, val) = value.r = set_value(value, Val(:r), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer`](@ref) `x`.""" +"""Set [`PhaseShiftingTransformer`](@ref) `x`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x!(value::PhaseShiftingTransformer, val) = value.x = set_value(value, Val(:x), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer`](@ref) `primary_shunt`.""" +"""Set [`PhaseShiftingTransformer`](@ref) `primary_shunt`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_primary_shunt!(value::PhaseShiftingTransformer, val) = value.primary_shunt = set_value(value, Val(:primary_shunt), val, Val(:siemens)) """Set [`PhaseShiftingTransformer`](@ref) `tap`.""" set_tap!(value::PhaseShiftingTransformer, val) = value.tap = val """Set [`PhaseShiftingTransformer`](@ref) `α`.""" set_α!(value::PhaseShiftingTransformer, val) = value.α = val -"""Set [`PhaseShiftingTransformer`](@ref) `rating`.""" +"""Set [`PhaseShiftingTransformer`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::PhaseShiftingTransformer, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) """Set [`PhaseShiftingTransformer`](@ref) `base_power`.""" set_base_power!(value::PhaseShiftingTransformer, val) = value.base_power = val @@ -204,9 +212,9 @@ set_base_power!(value::PhaseShiftingTransformer, val) = value.base_power = val set_base_voltage_primary!(value::PhaseShiftingTransformer, val) = value.base_voltage_primary = val """Set [`PhaseShiftingTransformer`](@ref) `base_voltage_secondary`.""" set_base_voltage_secondary!(value::PhaseShiftingTransformer, val) = value.base_voltage_secondary = val -"""Set [`PhaseShiftingTransformer`](@ref) `rating_b`.""" +"""Set [`PhaseShiftingTransformer`](@ref) `rating_b`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_b!(value::PhaseShiftingTransformer, val) = value.rating_b = set_value(value, Val(:rating_b), val, Val(:mva)) -"""Set [`PhaseShiftingTransformer`](@ref) `rating_c`.""" +"""Set [`PhaseShiftingTransformer`](@ref) `rating_c`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_c!(value::PhaseShiftingTransformer, val) = value.rating_c = set_value(value, Val(:rating_c), val, Val(:mva)) """Set [`PhaseShiftingTransformer`](@ref) `phase_angle_limits`.""" set_phase_angle_limits!(value::PhaseShiftingTransformer, val) = value.phase_angle_limits = val diff --git a/src/models/generated/PhaseShiftingTransformer3W.jl b/src/models/generated/PhaseShiftingTransformer3W.jl index 934330cfee..19dd763185 100644 --- a/src/models/generated/PhaseShiftingTransformer3W.jl +++ b/src/models/generated/PhaseShiftingTransformer3W.jl @@ -302,44 +302,63 @@ get_secondary_star_arc(value::PhaseShiftingTransformer3W) = value.secondary_star get_tertiary_star_arc(value::PhaseShiftingTransformer3W) = value.tertiary_star_arc """Get [`PhaseShiftingTransformer3W`](@ref) `star_bus`.""" get_star_bus(value::PhaseShiftingTransformer3W) = value.star_bus -"""Get [`PhaseShiftingTransformer3W`](@ref) `active_power_flow_primary`.""" -get_active_power_flow_primary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:active_power_flow_primary), Val(:mva)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `reactive_power_flow_primary`.""" -get_reactive_power_flow_primary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:reactive_power_flow_primary), Val(:mva)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `active_power_flow_secondary`.""" -get_active_power_flow_secondary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:active_power_flow_secondary), Val(:mva)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `reactive_power_flow_secondary`.""" -get_reactive_power_flow_secondary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:reactive_power_flow_secondary), Val(:mva)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `active_power_flow_tertiary`.""" -get_active_power_flow_tertiary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:active_power_flow_tertiary), Val(:mva)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `reactive_power_flow_tertiary`.""" -get_reactive_power_flow_tertiary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:reactive_power_flow_tertiary), Val(:mva)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `r_primary`.""" -get_r_primary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:r_primary), Val(:ohm)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `x_primary`.""" -get_x_primary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:x_primary), Val(:ohm)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `r_secondary`.""" -get_r_secondary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:r_secondary), Val(:ohm)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `x_secondary`.""" -get_x_secondary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:x_secondary), Val(:ohm)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `r_tertiary`.""" -get_r_tertiary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:r_tertiary), Val(:ohm)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `x_tertiary`.""" -get_x_tertiary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:x_tertiary), Val(:ohm)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `rating`.""" -get_rating(value::PhaseShiftingTransformer3W) = get_value(value, Val(:rating), Val(:mva)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `r_12`.""" -get_r_12(value::PhaseShiftingTransformer3W) = get_value(value, Val(:r_12), Val(:ohm)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `x_12`.""" -get_x_12(value::PhaseShiftingTransformer3W) = get_value(value, Val(:x_12), Val(:ohm)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `r_23`.""" -get_r_23(value::PhaseShiftingTransformer3W) = get_value(value, Val(:r_23), Val(:ohm)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `x_23`.""" -get_x_23(value::PhaseShiftingTransformer3W) = get_value(value, Val(:x_23), Val(:ohm)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `r_13`.""" -get_r_13(value::PhaseShiftingTransformer3W) = get_value(value, Val(:r_13), Val(:ohm)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `x_13`.""" -get_x_13(value::PhaseShiftingTransformer3W) = get_value(value, Val(:x_13), Val(:ohm)) +"""Get [`PhaseShiftingTransformer3W`](@ref) `active_power_flow_primary`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow_primary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:active_power_flow_primary), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow_primary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:active_power_flow_primary), Val(:mva), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `reactive_power_flow_primary`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_flow_primary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:reactive_power_flow_primary), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_flow_primary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:reactive_power_flow_primary), Val(:mva), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `active_power_flow_secondary`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow_secondary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:active_power_flow_secondary), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow_secondary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:active_power_flow_secondary), Val(:mva), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `reactive_power_flow_secondary`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_flow_secondary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:reactive_power_flow_secondary), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_flow_secondary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:reactive_power_flow_secondary), Val(:mva), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `active_power_flow_tertiary`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow_tertiary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:active_power_flow_tertiary), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow_tertiary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:active_power_flow_tertiary), Val(:mva), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `reactive_power_flow_tertiary`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_flow_tertiary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:reactive_power_flow_tertiary), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_flow_tertiary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:reactive_power_flow_tertiary), Val(:mva), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `r_primary`. Returns value in the system's unit setting (natural units by default).""" +get_r_primary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:r_primary), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r_primary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:r_primary), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `x_primary`. Returns value in the system's unit setting (natural units by default).""" +get_x_primary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:x_primary), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x_primary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:x_primary), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `r_secondary`. Returns value in the system's unit setting (natural units by default).""" +get_r_secondary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:r_secondary), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r_secondary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:r_secondary), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `x_secondary`. Returns value in the system's unit setting (natural units by default).""" +get_x_secondary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:x_secondary), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x_secondary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:x_secondary), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `r_tertiary`. Returns value in the system's unit setting (natural units by default).""" +get_r_tertiary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:r_tertiary), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r_tertiary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:r_tertiary), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `x_tertiary`. Returns value in the system's unit setting (natural units by default).""" +get_x_tertiary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:x_tertiary), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x_tertiary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:x_tertiary), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::PhaseShiftingTransformer3W) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:rating), Val(:mva), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `r_12`. Returns value in the system's unit setting (natural units by default).""" +get_r_12(value::PhaseShiftingTransformer3W) = get_value(value, Val(:r_12), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r_12(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:r_12), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `x_12`. Returns value in the system's unit setting (natural units by default).""" +get_x_12(value::PhaseShiftingTransformer3W) = get_value(value, Val(:x_12), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x_12(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:x_12), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `r_23`. Returns value in the system's unit setting (natural units by default).""" +get_r_23(value::PhaseShiftingTransformer3W) = get_value(value, Val(:r_23), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r_23(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:r_23), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `x_23`. Returns value in the system's unit setting (natural units by default).""" +get_x_23(value::PhaseShiftingTransformer3W) = get_value(value, Val(:x_23), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x_23(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:x_23), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `r_13`. Returns value in the system's unit setting (natural units by default).""" +get_r_13(value::PhaseShiftingTransformer3W) = get_value(value, Val(:r_13), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r_13(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:r_13), Val(:ohm), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `x_13`. Returns value in the system's unit setting (natural units by default).""" +get_x_13(value::PhaseShiftingTransformer3W) = get_value(value, Val(:x_13), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x_13(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:x_13), Val(:ohm), units) """Get [`PhaseShiftingTransformer3W`](@ref) `α_primary`.""" get_α_primary(value::PhaseShiftingTransformer3W) = value.α_primary """Get [`PhaseShiftingTransformer3W`](@ref) `α_secondary`.""" @@ -358,10 +377,12 @@ get_base_voltage_primary(value::PhaseShiftingTransformer3W) = value.base_voltage get_base_voltage_secondary(value::PhaseShiftingTransformer3W) = value.base_voltage_secondary """Get [`PhaseShiftingTransformer3W`](@ref) `base_voltage_tertiary`.""" get_base_voltage_tertiary(value::PhaseShiftingTransformer3W) = value.base_voltage_tertiary -"""Get [`PhaseShiftingTransformer3W`](@ref) `g`.""" -get_g(value::PhaseShiftingTransformer3W) = get_value(value, Val(:g), Val(:siemens)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `b`.""" -get_b(value::PhaseShiftingTransformer3W) = get_value(value, Val(:b), Val(:siemens)) +"""Get [`PhaseShiftingTransformer3W`](@ref) `g`. Returns value in the system's unit setting (natural units by default).""" +get_g(value::PhaseShiftingTransformer3W) = get_value(value, Val(:g), Val(:siemens), _get_system_units(value, Val(:siemens))) +get_g(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:g), Val(:siemens), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `b`. Returns value in the system's unit setting (natural units by default).""" +get_b(value::PhaseShiftingTransformer3W) = get_value(value, Val(:b), Val(:siemens), _get_system_units(value, Val(:siemens))) +get_b(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:b), Val(:siemens), units) """Get [`PhaseShiftingTransformer3W`](@ref) `primary_turns_ratio`.""" get_primary_turns_ratio(value::PhaseShiftingTransformer3W) = value.primary_turns_ratio """Get [`PhaseShiftingTransformer3W`](@ref) `secondary_turns_ratio`.""" @@ -374,12 +395,15 @@ get_available_primary(value::PhaseShiftingTransformer3W) = value.available_prima get_available_secondary(value::PhaseShiftingTransformer3W) = value.available_secondary """Get [`PhaseShiftingTransformer3W`](@ref) `available_tertiary`.""" get_available_tertiary(value::PhaseShiftingTransformer3W) = value.available_tertiary -"""Get [`PhaseShiftingTransformer3W`](@ref) `rating_primary`.""" -get_rating_primary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:rating_primary), Val(:mva)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `rating_secondary`.""" -get_rating_secondary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:rating_secondary), Val(:mva)) -"""Get [`PhaseShiftingTransformer3W`](@ref) `rating_tertiary`.""" -get_rating_tertiary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:rating_tertiary), Val(:mva)) +"""Get [`PhaseShiftingTransformer3W`](@ref) `rating_primary`. Returns value in the system's unit setting (natural units by default).""" +get_rating_primary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:rating_primary), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_primary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:rating_primary), Val(:mva), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `rating_secondary`. Returns value in the system's unit setting (natural units by default).""" +get_rating_secondary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:rating_secondary), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_secondary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:rating_secondary), Val(:mva), units) +"""Get [`PhaseShiftingTransformer3W`](@ref) `rating_tertiary`. Returns value in the system's unit setting (natural units by default).""" +get_rating_tertiary(value::PhaseShiftingTransformer3W) = get_value(value, Val(:rating_tertiary), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_tertiary(value::PhaseShiftingTransformer3W, units) = get_value(value, Val(:rating_tertiary), Val(:mva), units) """Get [`PhaseShiftingTransformer3W`](@ref) `phase_angle_limits`.""" get_phase_angle_limits(value::PhaseShiftingTransformer3W) = value.phase_angle_limits """Get [`PhaseShiftingTransformer3W`](@ref) `control_objective_primary`.""" @@ -405,43 +429,43 @@ set_secondary_star_arc!(value::PhaseShiftingTransformer3W, val) = value.secondar set_tertiary_star_arc!(value::PhaseShiftingTransformer3W, val) = value.tertiary_star_arc = val """Set [`PhaseShiftingTransformer3W`](@ref) `star_bus`.""" set_star_bus!(value::PhaseShiftingTransformer3W, val) = value.star_bus = val -"""Set [`PhaseShiftingTransformer3W`](@ref) `active_power_flow_primary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `active_power_flow_primary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow_primary!(value::PhaseShiftingTransformer3W, val) = value.active_power_flow_primary = set_value(value, Val(:active_power_flow_primary), val, Val(:mva)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `reactive_power_flow_primary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `reactive_power_flow_primary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_flow_primary!(value::PhaseShiftingTransformer3W, val) = value.reactive_power_flow_primary = set_value(value, Val(:reactive_power_flow_primary), val, Val(:mva)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `active_power_flow_secondary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `active_power_flow_secondary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow_secondary!(value::PhaseShiftingTransformer3W, val) = value.active_power_flow_secondary = set_value(value, Val(:active_power_flow_secondary), val, Val(:mva)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `reactive_power_flow_secondary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `reactive_power_flow_secondary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_flow_secondary!(value::PhaseShiftingTransformer3W, val) = value.reactive_power_flow_secondary = set_value(value, Val(:reactive_power_flow_secondary), val, Val(:mva)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `active_power_flow_tertiary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `active_power_flow_tertiary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow_tertiary!(value::PhaseShiftingTransformer3W, val) = value.active_power_flow_tertiary = set_value(value, Val(:active_power_flow_tertiary), val, Val(:mva)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `reactive_power_flow_tertiary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `reactive_power_flow_tertiary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_flow_tertiary!(value::PhaseShiftingTransformer3W, val) = value.reactive_power_flow_tertiary = set_value(value, Val(:reactive_power_flow_tertiary), val, Val(:mva)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `r_primary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `r_primary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r_primary!(value::PhaseShiftingTransformer3W, val) = value.r_primary = set_value(value, Val(:r_primary), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `x_primary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `x_primary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x_primary!(value::PhaseShiftingTransformer3W, val) = value.x_primary = set_value(value, Val(:x_primary), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `r_secondary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `r_secondary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r_secondary!(value::PhaseShiftingTransformer3W, val) = value.r_secondary = set_value(value, Val(:r_secondary), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `x_secondary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `x_secondary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x_secondary!(value::PhaseShiftingTransformer3W, val) = value.x_secondary = set_value(value, Val(:x_secondary), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `r_tertiary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `r_tertiary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r_tertiary!(value::PhaseShiftingTransformer3W, val) = value.r_tertiary = set_value(value, Val(:r_tertiary), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `x_tertiary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `x_tertiary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x_tertiary!(value::PhaseShiftingTransformer3W, val) = value.x_tertiary = set_value(value, Val(:x_tertiary), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `rating`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::PhaseShiftingTransformer3W, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `r_12`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `r_12`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r_12!(value::PhaseShiftingTransformer3W, val) = value.r_12 = set_value(value, Val(:r_12), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `x_12`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `x_12`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x_12!(value::PhaseShiftingTransformer3W, val) = value.x_12 = set_value(value, Val(:x_12), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `r_23`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `r_23`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r_23!(value::PhaseShiftingTransformer3W, val) = value.r_23 = set_value(value, Val(:r_23), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `x_23`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `x_23`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x_23!(value::PhaseShiftingTransformer3W, val) = value.x_23 = set_value(value, Val(:x_23), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `r_13`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `r_13`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r_13!(value::PhaseShiftingTransformer3W, val) = value.r_13 = set_value(value, Val(:r_13), val, Val(:ohm)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `x_13`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `x_13`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x_13!(value::PhaseShiftingTransformer3W, val) = value.x_13 = set_value(value, Val(:x_13), val, Val(:ohm)) """Set [`PhaseShiftingTransformer3W`](@ref) `α_primary`.""" set_α_primary!(value::PhaseShiftingTransformer3W, val) = value.α_primary = val @@ -461,9 +485,9 @@ set_base_voltage_primary!(value::PhaseShiftingTransformer3W, val) = value.base_v set_base_voltage_secondary!(value::PhaseShiftingTransformer3W, val) = value.base_voltage_secondary = val """Set [`PhaseShiftingTransformer3W`](@ref) `base_voltage_tertiary`.""" set_base_voltage_tertiary!(value::PhaseShiftingTransformer3W, val) = value.base_voltage_tertiary = val -"""Set [`PhaseShiftingTransformer3W`](@ref) `g`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `g`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_g!(value::PhaseShiftingTransformer3W, val) = value.g = set_value(value, Val(:g), val, Val(:siemens)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `b`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `b`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_b!(value::PhaseShiftingTransformer3W, val) = value.b = set_value(value, Val(:b), val, Val(:siemens)) """Set [`PhaseShiftingTransformer3W`](@ref) `primary_turns_ratio`.""" set_primary_turns_ratio!(value::PhaseShiftingTransformer3W, val) = value.primary_turns_ratio = val @@ -477,11 +501,11 @@ set_available_primary!(value::PhaseShiftingTransformer3W, val) = value.available set_available_secondary!(value::PhaseShiftingTransformer3W, val) = value.available_secondary = val """Set [`PhaseShiftingTransformer3W`](@ref) `available_tertiary`.""" set_available_tertiary!(value::PhaseShiftingTransformer3W, val) = value.available_tertiary = val -"""Set [`PhaseShiftingTransformer3W`](@ref) `rating_primary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `rating_primary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_primary!(value::PhaseShiftingTransformer3W, val) = value.rating_primary = set_value(value, Val(:rating_primary), val, Val(:mva)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `rating_secondary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `rating_secondary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_secondary!(value::PhaseShiftingTransformer3W, val) = value.rating_secondary = set_value(value, Val(:rating_secondary), val, Val(:mva)) -"""Set [`PhaseShiftingTransformer3W`](@ref) `rating_tertiary`.""" +"""Set [`PhaseShiftingTransformer3W`](@ref) `rating_tertiary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_tertiary!(value::PhaseShiftingTransformer3W, val) = value.rating_tertiary = set_value(value, Val(:rating_tertiary), val, Val(:mva)) """Set [`PhaseShiftingTransformer3W`](@ref) `phase_angle_limits`.""" set_phase_angle_limits!(value::PhaseShiftingTransformer3W, val) = value.phase_angle_limits = val diff --git a/src/models/generated/PowerLoad.jl b/src/models/generated/PowerLoad.jl index a7f2afb023..b594e66729 100644 --- a/src/models/generated/PowerLoad.jl +++ b/src/models/generated/PowerLoad.jl @@ -101,16 +101,20 @@ get_name(value::PowerLoad) = value.name get_available(value::PowerLoad) = value.available """Get [`PowerLoad`](@ref) `bus`.""" get_bus(value::PowerLoad) = value.bus -"""Get [`PowerLoad`](@ref) `active_power`.""" -get_active_power(value::PowerLoad) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`PowerLoad`](@ref) `reactive_power`.""" -get_reactive_power(value::PowerLoad) = get_value(value, Val(:reactive_power), Val(:mva)) +"""Get [`PowerLoad`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::PowerLoad) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::PowerLoad, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`PowerLoad`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::PowerLoad) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::PowerLoad, units) = get_value(value, Val(:reactive_power), Val(:mva), units) """Get [`PowerLoad`](@ref) `base_power`.""" get_base_power(value::PowerLoad) = value.base_power -"""Get [`PowerLoad`](@ref) `max_active_power`.""" -get_max_active_power(value::PowerLoad) = get_value(value, Val(:max_active_power), Val(:mva)) -"""Get [`PowerLoad`](@ref) `max_reactive_power`.""" -get_max_reactive_power(value::PowerLoad) = get_value(value, Val(:max_reactive_power), Val(:mva)) +"""Get [`PowerLoad`](@ref) `max_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_active_power(value::PowerLoad) = get_value(value, Val(:max_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_active_power(value::PowerLoad, units) = get_value(value, Val(:max_active_power), Val(:mva), units) +"""Get [`PowerLoad`](@ref) `max_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_reactive_power(value::PowerLoad) = get_value(value, Val(:max_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_reactive_power(value::PowerLoad, units) = get_value(value, Val(:max_reactive_power), Val(:mva), units) """Get [`PowerLoad`](@ref) `conformity`.""" get_conformity(value::PowerLoad) = value.conformity """Get [`PowerLoad`](@ref) `services`.""" @@ -126,15 +130,15 @@ get_internal(value::PowerLoad) = value.internal set_available!(value::PowerLoad, val) = value.available = val """Set [`PowerLoad`](@ref) `bus`.""" set_bus!(value::PowerLoad, val) = value.bus = val -"""Set [`PowerLoad`](@ref) `active_power`.""" +"""Set [`PowerLoad`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::PowerLoad, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`PowerLoad`](@ref) `reactive_power`.""" +"""Set [`PowerLoad`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::PowerLoad, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) """Set [`PowerLoad`](@ref) `base_power`.""" set_base_power!(value::PowerLoad, val) = value.base_power = val -"""Set [`PowerLoad`](@ref) `max_active_power`.""" +"""Set [`PowerLoad`](@ref) `max_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_active_power!(value::PowerLoad, val) = value.max_active_power = set_value(value, Val(:max_active_power), val, Val(:mva)) -"""Set [`PowerLoad`](@ref) `max_reactive_power`.""" +"""Set [`PowerLoad`](@ref) `max_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_reactive_power!(value::PowerLoad, val) = value.max_reactive_power = set_value(value, Val(:max_reactive_power), val, Val(:mva)) """Set [`PowerLoad`](@ref) `conformity`.""" set_conformity!(value::PowerLoad, val) = value.conformity = val diff --git a/src/models/generated/RenewableDispatch.jl b/src/models/generated/RenewableDispatch.jl index 4784c16f1f..48b9f7269e 100644 --- a/src/models/generated/RenewableDispatch.jl +++ b/src/models/generated/RenewableDispatch.jl @@ -113,16 +113,20 @@ get_name(value::RenewableDispatch) = value.name get_available(value::RenewableDispatch) = value.available """Get [`RenewableDispatch`](@ref) `bus`.""" get_bus(value::RenewableDispatch) = value.bus -"""Get [`RenewableDispatch`](@ref) `active_power`.""" -get_active_power(value::RenewableDispatch) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`RenewableDispatch`](@ref) `reactive_power`.""" -get_reactive_power(value::RenewableDispatch) = get_value(value, Val(:reactive_power), Val(:mva)) -"""Get [`RenewableDispatch`](@ref) `rating`.""" -get_rating(value::RenewableDispatch) = get_value(value, Val(:rating), Val(:mva)) +"""Get [`RenewableDispatch`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::RenewableDispatch) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::RenewableDispatch, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`RenewableDispatch`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::RenewableDispatch) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::RenewableDispatch, units) = get_value(value, Val(:reactive_power), Val(:mva), units) +"""Get [`RenewableDispatch`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::RenewableDispatch) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::RenewableDispatch, units) = get_value(value, Val(:rating), Val(:mva), units) """Get [`RenewableDispatch`](@ref) `prime_mover_type`.""" get_prime_mover_type(value::RenewableDispatch) = value.prime_mover_type -"""Get [`RenewableDispatch`](@ref) `reactive_power_limits`.""" -get_reactive_power_limits(value::RenewableDispatch) = get_value(value, Val(:reactive_power_limits), Val(:mva)) +"""Get [`RenewableDispatch`](@ref) `reactive_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits(value::RenewableDispatch) = get_value(value, Val(:reactive_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits(value::RenewableDispatch, units) = get_value(value, Val(:reactive_power_limits), Val(:mva), units) """Get [`RenewableDispatch`](@ref) `power_factor`.""" get_power_factor(value::RenewableDispatch) = value.power_factor """Get [`RenewableDispatch`](@ref) `operation_cost`.""" @@ -142,15 +146,15 @@ get_internal(value::RenewableDispatch) = value.internal set_available!(value::RenewableDispatch, val) = value.available = val """Set [`RenewableDispatch`](@ref) `bus`.""" set_bus!(value::RenewableDispatch, val) = value.bus = val -"""Set [`RenewableDispatch`](@ref) `active_power`.""" +"""Set [`RenewableDispatch`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::RenewableDispatch, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`RenewableDispatch`](@ref) `reactive_power`.""" +"""Set [`RenewableDispatch`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::RenewableDispatch, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) -"""Set [`RenewableDispatch`](@ref) `rating`.""" +"""Set [`RenewableDispatch`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::RenewableDispatch, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) """Set [`RenewableDispatch`](@ref) `prime_mover_type`.""" set_prime_mover_type!(value::RenewableDispatch, val) = value.prime_mover_type = val -"""Set [`RenewableDispatch`](@ref) `reactive_power_limits`.""" +"""Set [`RenewableDispatch`](@ref) `reactive_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits!(value::RenewableDispatch, val) = value.reactive_power_limits = set_value(value, Val(:reactive_power_limits), val, Val(:mva)) """Set [`RenewableDispatch`](@ref) `power_factor`.""" set_power_factor!(value::RenewableDispatch, val) = value.power_factor = val diff --git a/src/models/generated/RenewableNonDispatch.jl b/src/models/generated/RenewableNonDispatch.jl index 8efed05546..c4cc998330 100644 --- a/src/models/generated/RenewableNonDispatch.jl +++ b/src/models/generated/RenewableNonDispatch.jl @@ -103,12 +103,15 @@ get_name(value::RenewableNonDispatch) = value.name get_available(value::RenewableNonDispatch) = value.available """Get [`RenewableNonDispatch`](@ref) `bus`.""" get_bus(value::RenewableNonDispatch) = value.bus -"""Get [`RenewableNonDispatch`](@ref) `active_power`.""" -get_active_power(value::RenewableNonDispatch) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`RenewableNonDispatch`](@ref) `reactive_power`.""" -get_reactive_power(value::RenewableNonDispatch) = get_value(value, Val(:reactive_power), Val(:mva)) -"""Get [`RenewableNonDispatch`](@ref) `rating`.""" -get_rating(value::RenewableNonDispatch) = get_value(value, Val(:rating), Val(:mva)) +"""Get [`RenewableNonDispatch`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::RenewableNonDispatch) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::RenewableNonDispatch, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`RenewableNonDispatch`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::RenewableNonDispatch) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::RenewableNonDispatch, units) = get_value(value, Val(:reactive_power), Val(:mva), units) +"""Get [`RenewableNonDispatch`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::RenewableNonDispatch) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::RenewableNonDispatch, units) = get_value(value, Val(:rating), Val(:mva), units) """Get [`RenewableNonDispatch`](@ref) `prime_mover_type`.""" get_prime_mover_type(value::RenewableNonDispatch) = value.prime_mover_type """Get [`RenewableNonDispatch`](@ref) `power_factor`.""" @@ -128,11 +131,11 @@ get_internal(value::RenewableNonDispatch) = value.internal set_available!(value::RenewableNonDispatch, val) = value.available = val """Set [`RenewableNonDispatch`](@ref) `bus`.""" set_bus!(value::RenewableNonDispatch, val) = value.bus = val -"""Set [`RenewableNonDispatch`](@ref) `active_power`.""" +"""Set [`RenewableNonDispatch`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::RenewableNonDispatch, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`RenewableNonDispatch`](@ref) `reactive_power`.""" +"""Set [`RenewableNonDispatch`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::RenewableNonDispatch, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) -"""Set [`RenewableNonDispatch`](@ref) `rating`.""" +"""Set [`RenewableNonDispatch`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::RenewableNonDispatch, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) """Set [`RenewableNonDispatch`](@ref) `prime_mover_type`.""" set_prime_mover_type!(value::RenewableNonDispatch, val) = value.prime_mover_type = val diff --git a/src/models/generated/ShiftablePowerLoad.jl b/src/models/generated/ShiftablePowerLoad.jl index 5ad474adec..4b69260d7c 100644 --- a/src/models/generated/ShiftablePowerLoad.jl +++ b/src/models/generated/ShiftablePowerLoad.jl @@ -111,16 +111,21 @@ get_name(value::ShiftablePowerLoad) = value.name get_available(value::ShiftablePowerLoad) = value.available """Get [`ShiftablePowerLoad`](@ref) `bus`.""" get_bus(value::ShiftablePowerLoad) = value.bus -"""Get [`ShiftablePowerLoad`](@ref) `active_power`.""" -get_active_power(value::ShiftablePowerLoad) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`ShiftablePowerLoad`](@ref) `active_power_limits`.""" -get_active_power_limits(value::ShiftablePowerLoad) = get_value(value, Val(:active_power_limits), Val(:mva)) -"""Get [`ShiftablePowerLoad`](@ref) `reactive_power`.""" -get_reactive_power(value::ShiftablePowerLoad) = get_value(value, Val(:reactive_power), Val(:mva)) -"""Get [`ShiftablePowerLoad`](@ref) `max_active_power`.""" -get_max_active_power(value::ShiftablePowerLoad) = get_value(value, Val(:max_active_power), Val(:mva)) -"""Get [`ShiftablePowerLoad`](@ref) `max_reactive_power`.""" -get_max_reactive_power(value::ShiftablePowerLoad) = get_value(value, Val(:max_reactive_power), Val(:mva)) +"""Get [`ShiftablePowerLoad`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::ShiftablePowerLoad) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::ShiftablePowerLoad, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`ShiftablePowerLoad`](@ref) `active_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits(value::ShiftablePowerLoad) = get_value(value, Val(:active_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits(value::ShiftablePowerLoad, units) = get_value(value, Val(:active_power_limits), Val(:mva), units) +"""Get [`ShiftablePowerLoad`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::ShiftablePowerLoad) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::ShiftablePowerLoad, units) = get_value(value, Val(:reactive_power), Val(:mva), units) +"""Get [`ShiftablePowerLoad`](@ref) `max_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_active_power(value::ShiftablePowerLoad) = get_value(value, Val(:max_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_active_power(value::ShiftablePowerLoad, units) = get_value(value, Val(:max_active_power), Val(:mva), units) +"""Get [`ShiftablePowerLoad`](@ref) `max_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_reactive_power(value::ShiftablePowerLoad) = get_value(value, Val(:max_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_reactive_power(value::ShiftablePowerLoad, units) = get_value(value, Val(:max_reactive_power), Val(:mva), units) """Get [`ShiftablePowerLoad`](@ref) `base_power`.""" get_base_power(value::ShiftablePowerLoad) = value.base_power """Get [`ShiftablePowerLoad`](@ref) `load_balance_time_horizon`.""" @@ -140,15 +145,15 @@ get_internal(value::ShiftablePowerLoad) = value.internal set_available!(value::ShiftablePowerLoad, val) = value.available = val """Set [`ShiftablePowerLoad`](@ref) `bus`.""" set_bus!(value::ShiftablePowerLoad, val) = value.bus = val -"""Set [`ShiftablePowerLoad`](@ref) `active_power`.""" +"""Set [`ShiftablePowerLoad`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::ShiftablePowerLoad, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`ShiftablePowerLoad`](@ref) `active_power_limits`.""" +"""Set [`ShiftablePowerLoad`](@ref) `active_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits!(value::ShiftablePowerLoad, val) = value.active_power_limits = set_value(value, Val(:active_power_limits), val, Val(:mva)) -"""Set [`ShiftablePowerLoad`](@ref) `reactive_power`.""" +"""Set [`ShiftablePowerLoad`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::ShiftablePowerLoad, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) -"""Set [`ShiftablePowerLoad`](@ref) `max_active_power`.""" +"""Set [`ShiftablePowerLoad`](@ref) `max_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_active_power!(value::ShiftablePowerLoad, val) = value.max_active_power = set_value(value, Val(:max_active_power), val, Val(:mva)) -"""Set [`ShiftablePowerLoad`](@ref) `max_reactive_power`.""" +"""Set [`ShiftablePowerLoad`](@ref) `max_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_reactive_power!(value::ShiftablePowerLoad, val) = value.max_reactive_power = set_value(value, Val(:max_reactive_power), val, Val(:mva)) """Set [`ShiftablePowerLoad`](@ref) `base_power`.""" set_base_power!(value::ShiftablePowerLoad, val) = value.base_power = val diff --git a/src/models/generated/Source.jl b/src/models/generated/Source.jl index 9b14b8177f..7cca980eb8 100644 --- a/src/models/generated/Source.jl +++ b/src/models/generated/Source.jl @@ -121,14 +121,18 @@ get_name(value::Source) = value.name get_available(value::Source) = value.available """Get [`Source`](@ref) `bus`.""" get_bus(value::Source) = value.bus -"""Get [`Source`](@ref) `active_power`.""" -get_active_power(value::Source) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`Source`](@ref) `reactive_power`.""" -get_reactive_power(value::Source) = get_value(value, Val(:reactive_power), Val(:mva)) -"""Get [`Source`](@ref) `active_power_limits`.""" -get_active_power_limits(value::Source) = get_value(value, Val(:active_power_limits), Val(:mva)) -"""Get [`Source`](@ref) `reactive_power_limits`.""" -get_reactive_power_limits(value::Source) = get_value(value, Val(:reactive_power_limits), Val(:mva)) +"""Get [`Source`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::Source) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::Source, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`Source`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::Source) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::Source, units) = get_value(value, Val(:reactive_power), Val(:mva), units) +"""Get [`Source`](@ref) `active_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits(value::Source) = get_value(value, Val(:active_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits(value::Source, units) = get_value(value, Val(:active_power_limits), Val(:mva), units) +"""Get [`Source`](@ref) `reactive_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits(value::Source) = get_value(value, Val(:reactive_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits(value::Source, units) = get_value(value, Val(:reactive_power_limits), Val(:mva), units) """Get [`Source`](@ref) `R_th`.""" get_R_th(value::Source) = value.R_th """Get [`Source`](@ref) `X_th`.""" @@ -154,13 +158,13 @@ get_internal(value::Source) = value.internal set_available!(value::Source, val) = value.available = val """Set [`Source`](@ref) `bus`.""" set_bus!(value::Source, val) = value.bus = val -"""Set [`Source`](@ref) `active_power`.""" +"""Set [`Source`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::Source, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`Source`](@ref) `reactive_power`.""" +"""Set [`Source`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::Source, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) -"""Set [`Source`](@ref) `active_power_limits`.""" +"""Set [`Source`](@ref) `active_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits!(value::Source, val) = value.active_power_limits = set_value(value, Val(:active_power_limits), val, Val(:mva)) -"""Set [`Source`](@ref) `reactive_power_limits`.""" +"""Set [`Source`](@ref) `reactive_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits!(value::Source, val) = value.reactive_power_limits = set_value(value, Val(:reactive_power_limits), val, Val(:mva)) """Set [`Source`](@ref) `R_th`.""" set_R_th!(value::Source, val) = value.R_th = val diff --git a/src/models/generated/StandardLoad.jl b/src/models/generated/StandardLoad.jl index 4fc85c37c5..4f79c3205f 100644 --- a/src/models/generated/StandardLoad.jl +++ b/src/models/generated/StandardLoad.jl @@ -145,30 +145,42 @@ get_available(value::StandardLoad) = value.available get_bus(value::StandardLoad) = value.bus """Get [`StandardLoad`](@ref) `base_power`.""" get_base_power(value::StandardLoad) = value.base_power -"""Get [`StandardLoad`](@ref) `constant_active_power`.""" -get_constant_active_power(value::StandardLoad) = get_value(value, Val(:constant_active_power), Val(:mva)) -"""Get [`StandardLoad`](@ref) `constant_reactive_power`.""" -get_constant_reactive_power(value::StandardLoad) = get_value(value, Val(:constant_reactive_power), Val(:mva)) -"""Get [`StandardLoad`](@ref) `impedance_active_power`.""" -get_impedance_active_power(value::StandardLoad) = get_value(value, Val(:impedance_active_power), Val(:mva)) -"""Get [`StandardLoad`](@ref) `impedance_reactive_power`.""" -get_impedance_reactive_power(value::StandardLoad) = get_value(value, Val(:impedance_reactive_power), Val(:mva)) -"""Get [`StandardLoad`](@ref) `current_active_power`.""" -get_current_active_power(value::StandardLoad) = get_value(value, Val(:current_active_power), Val(:mva)) -"""Get [`StandardLoad`](@ref) `current_reactive_power`.""" -get_current_reactive_power(value::StandardLoad) = get_value(value, Val(:current_reactive_power), Val(:mva)) -"""Get [`StandardLoad`](@ref) `max_constant_active_power`.""" -get_max_constant_active_power(value::StandardLoad) = get_value(value, Val(:max_constant_active_power), Val(:mva)) -"""Get [`StandardLoad`](@ref) `max_constant_reactive_power`.""" -get_max_constant_reactive_power(value::StandardLoad) = get_value(value, Val(:max_constant_reactive_power), Val(:mva)) -"""Get [`StandardLoad`](@ref) `max_impedance_active_power`.""" -get_max_impedance_active_power(value::StandardLoad) = get_value(value, Val(:max_impedance_active_power), Val(:mva)) -"""Get [`StandardLoad`](@ref) `max_impedance_reactive_power`.""" -get_max_impedance_reactive_power(value::StandardLoad) = get_value(value, Val(:max_impedance_reactive_power), Val(:mva)) -"""Get [`StandardLoad`](@ref) `max_current_active_power`.""" -get_max_current_active_power(value::StandardLoad) = get_value(value, Val(:max_current_active_power), Val(:mva)) -"""Get [`StandardLoad`](@ref) `max_current_reactive_power`.""" -get_max_current_reactive_power(value::StandardLoad) = get_value(value, Val(:max_current_reactive_power), Val(:mva)) +"""Get [`StandardLoad`](@ref) `constant_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_constant_active_power(value::StandardLoad) = get_value(value, Val(:constant_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_constant_active_power(value::StandardLoad, units) = get_value(value, Val(:constant_active_power), Val(:mva), units) +"""Get [`StandardLoad`](@ref) `constant_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_constant_reactive_power(value::StandardLoad) = get_value(value, Val(:constant_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_constant_reactive_power(value::StandardLoad, units) = get_value(value, Val(:constant_reactive_power), Val(:mva), units) +"""Get [`StandardLoad`](@ref) `impedance_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_impedance_active_power(value::StandardLoad) = get_value(value, Val(:impedance_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_impedance_active_power(value::StandardLoad, units) = get_value(value, Val(:impedance_active_power), Val(:mva), units) +"""Get [`StandardLoad`](@ref) `impedance_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_impedance_reactive_power(value::StandardLoad) = get_value(value, Val(:impedance_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_impedance_reactive_power(value::StandardLoad, units) = get_value(value, Val(:impedance_reactive_power), Val(:mva), units) +"""Get [`StandardLoad`](@ref) `current_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_current_active_power(value::StandardLoad) = get_value(value, Val(:current_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_current_active_power(value::StandardLoad, units) = get_value(value, Val(:current_active_power), Val(:mva), units) +"""Get [`StandardLoad`](@ref) `current_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_current_reactive_power(value::StandardLoad) = get_value(value, Val(:current_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_current_reactive_power(value::StandardLoad, units) = get_value(value, Val(:current_reactive_power), Val(:mva), units) +"""Get [`StandardLoad`](@ref) `max_constant_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_constant_active_power(value::StandardLoad) = get_value(value, Val(:max_constant_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_constant_active_power(value::StandardLoad, units) = get_value(value, Val(:max_constant_active_power), Val(:mva), units) +"""Get [`StandardLoad`](@ref) `max_constant_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_constant_reactive_power(value::StandardLoad) = get_value(value, Val(:max_constant_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_constant_reactive_power(value::StandardLoad, units) = get_value(value, Val(:max_constant_reactive_power), Val(:mva), units) +"""Get [`StandardLoad`](@ref) `max_impedance_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_impedance_active_power(value::StandardLoad) = get_value(value, Val(:max_impedance_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_impedance_active_power(value::StandardLoad, units) = get_value(value, Val(:max_impedance_active_power), Val(:mva), units) +"""Get [`StandardLoad`](@ref) `max_impedance_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_impedance_reactive_power(value::StandardLoad) = get_value(value, Val(:max_impedance_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_impedance_reactive_power(value::StandardLoad, units) = get_value(value, Val(:max_impedance_reactive_power), Val(:mva), units) +"""Get [`StandardLoad`](@ref) `max_current_active_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_current_active_power(value::StandardLoad) = get_value(value, Val(:max_current_active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_current_active_power(value::StandardLoad, units) = get_value(value, Val(:max_current_active_power), Val(:mva), units) +"""Get [`StandardLoad`](@ref) `max_current_reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_max_current_reactive_power(value::StandardLoad) = get_value(value, Val(:max_current_reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_max_current_reactive_power(value::StandardLoad, units) = get_value(value, Val(:max_current_reactive_power), Val(:mva), units) """Get [`StandardLoad`](@ref) `conformity`.""" get_conformity(value::StandardLoad) = value.conformity """Get [`StandardLoad`](@ref) `services`.""" @@ -186,29 +198,29 @@ set_available!(value::StandardLoad, val) = value.available = val set_bus!(value::StandardLoad, val) = value.bus = val """Set [`StandardLoad`](@ref) `base_power`.""" set_base_power!(value::StandardLoad, val) = value.base_power = val -"""Set [`StandardLoad`](@ref) `constant_active_power`.""" +"""Set [`StandardLoad`](@ref) `constant_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_constant_active_power!(value::StandardLoad, val) = value.constant_active_power = set_value(value, Val(:constant_active_power), val, Val(:mva)) -"""Set [`StandardLoad`](@ref) `constant_reactive_power`.""" +"""Set [`StandardLoad`](@ref) `constant_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_constant_reactive_power!(value::StandardLoad, val) = value.constant_reactive_power = set_value(value, Val(:constant_reactive_power), val, Val(:mva)) -"""Set [`StandardLoad`](@ref) `impedance_active_power`.""" +"""Set [`StandardLoad`](@ref) `impedance_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_impedance_active_power!(value::StandardLoad, val) = value.impedance_active_power = set_value(value, Val(:impedance_active_power), val, Val(:mva)) -"""Set [`StandardLoad`](@ref) `impedance_reactive_power`.""" +"""Set [`StandardLoad`](@ref) `impedance_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_impedance_reactive_power!(value::StandardLoad, val) = value.impedance_reactive_power = set_value(value, Val(:impedance_reactive_power), val, Val(:mva)) -"""Set [`StandardLoad`](@ref) `current_active_power`.""" +"""Set [`StandardLoad`](@ref) `current_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_current_active_power!(value::StandardLoad, val) = value.current_active_power = set_value(value, Val(:current_active_power), val, Val(:mva)) -"""Set [`StandardLoad`](@ref) `current_reactive_power`.""" +"""Set [`StandardLoad`](@ref) `current_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_current_reactive_power!(value::StandardLoad, val) = value.current_reactive_power = set_value(value, Val(:current_reactive_power), val, Val(:mva)) -"""Set [`StandardLoad`](@ref) `max_constant_active_power`.""" +"""Set [`StandardLoad`](@ref) `max_constant_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_constant_active_power!(value::StandardLoad, val) = value.max_constant_active_power = set_value(value, Val(:max_constant_active_power), val, Val(:mva)) -"""Set [`StandardLoad`](@ref) `max_constant_reactive_power`.""" +"""Set [`StandardLoad`](@ref) `max_constant_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_constant_reactive_power!(value::StandardLoad, val) = value.max_constant_reactive_power = set_value(value, Val(:max_constant_reactive_power), val, Val(:mva)) -"""Set [`StandardLoad`](@ref) `max_impedance_active_power`.""" +"""Set [`StandardLoad`](@ref) `max_impedance_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_impedance_active_power!(value::StandardLoad, val) = value.max_impedance_active_power = set_value(value, Val(:max_impedance_active_power), val, Val(:mva)) -"""Set [`StandardLoad`](@ref) `max_impedance_reactive_power`.""" +"""Set [`StandardLoad`](@ref) `max_impedance_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_impedance_reactive_power!(value::StandardLoad, val) = value.max_impedance_reactive_power = set_value(value, Val(:max_impedance_reactive_power), val, Val(:mva)) -"""Set [`StandardLoad`](@ref) `max_current_active_power`.""" +"""Set [`StandardLoad`](@ref) `max_current_active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_current_active_power!(value::StandardLoad, val) = value.max_current_active_power = set_value(value, Val(:max_current_active_power), val, Val(:mva)) -"""Set [`StandardLoad`](@ref) `max_current_reactive_power`.""" +"""Set [`StandardLoad`](@ref) `max_current_reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_max_current_reactive_power!(value::StandardLoad, val) = value.max_current_reactive_power = set_value(value, Val(:max_current_reactive_power), val, Val(:mva)) """Set [`StandardLoad`](@ref) `conformity`.""" set_conformity!(value::StandardLoad, val) = value.conformity = val diff --git a/src/models/generated/SynchronousCondenser.jl b/src/models/generated/SynchronousCondenser.jl index f74c9ae611..843eb85d77 100644 --- a/src/models/generated/SynchronousCondenser.jl +++ b/src/models/generated/SynchronousCondenser.jl @@ -94,16 +94,20 @@ get_name(value::SynchronousCondenser) = value.name get_available(value::SynchronousCondenser) = value.available """Get [`SynchronousCondenser`](@ref) `bus`.""" get_bus(value::SynchronousCondenser) = value.bus -"""Get [`SynchronousCondenser`](@ref) `reactive_power`.""" -get_reactive_power(value::SynchronousCondenser) = get_value(value, Val(:reactive_power), Val(:mva)) -"""Get [`SynchronousCondenser`](@ref) `rating`.""" -get_rating(value::SynchronousCondenser) = get_value(value, Val(:rating), Val(:mva)) -"""Get [`SynchronousCondenser`](@ref) `reactive_power_limits`.""" -get_reactive_power_limits(value::SynchronousCondenser) = get_value(value, Val(:reactive_power_limits), Val(:mva)) +"""Get [`SynchronousCondenser`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::SynchronousCondenser) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::SynchronousCondenser, units) = get_value(value, Val(:reactive_power), Val(:mva), units) +"""Get [`SynchronousCondenser`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::SynchronousCondenser) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::SynchronousCondenser, units) = get_value(value, Val(:rating), Val(:mva), units) +"""Get [`SynchronousCondenser`](@ref) `reactive_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits(value::SynchronousCondenser) = get_value(value, Val(:reactive_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits(value::SynchronousCondenser, units) = get_value(value, Val(:reactive_power_limits), Val(:mva), units) """Get [`SynchronousCondenser`](@ref) `base_power`.""" get_base_power(value::SynchronousCondenser) = value.base_power -"""Get [`SynchronousCondenser`](@ref) `active_power_losses`.""" -get_active_power_losses(value::SynchronousCondenser) = get_value(value, Val(:active_power_losses), Val(:mva)) +"""Get [`SynchronousCondenser`](@ref) `active_power_losses`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_losses(value::SynchronousCondenser) = get_value(value, Val(:active_power_losses), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_losses(value::SynchronousCondenser, units) = get_value(value, Val(:active_power_losses), Val(:mva), units) """Get [`SynchronousCondenser`](@ref) `services`.""" get_services(value::SynchronousCondenser) = value.services """Get [`SynchronousCondenser`](@ref) `dynamic_injector`.""" @@ -117,15 +121,15 @@ get_internal(value::SynchronousCondenser) = value.internal set_available!(value::SynchronousCondenser, val) = value.available = val """Set [`SynchronousCondenser`](@ref) `bus`.""" set_bus!(value::SynchronousCondenser, val) = value.bus = val -"""Set [`SynchronousCondenser`](@ref) `reactive_power`.""" +"""Set [`SynchronousCondenser`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::SynchronousCondenser, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) -"""Set [`SynchronousCondenser`](@ref) `rating`.""" +"""Set [`SynchronousCondenser`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::SynchronousCondenser, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) -"""Set [`SynchronousCondenser`](@ref) `reactive_power_limits`.""" +"""Set [`SynchronousCondenser`](@ref) `reactive_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits!(value::SynchronousCondenser, val) = value.reactive_power_limits = set_value(value, Val(:reactive_power_limits), val, Val(:mva)) """Set [`SynchronousCondenser`](@ref) `base_power`.""" set_base_power!(value::SynchronousCondenser, val) = value.base_power = val -"""Set [`SynchronousCondenser`](@ref) `active_power_losses`.""" +"""Set [`SynchronousCondenser`](@ref) `active_power_losses`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_losses!(value::SynchronousCondenser, val) = value.active_power_losses = set_value(value, Val(:active_power_losses), val, Val(:mva)) """Set [`SynchronousCondenser`](@ref) `services`.""" set_services!(value::SynchronousCondenser, val) = value.services = val diff --git a/src/models/generated/TModelHVDCLine.jl b/src/models/generated/TModelHVDCLine.jl index 04e6f64e37..559e81fe9b 100644 --- a/src/models/generated/TModelHVDCLine.jl +++ b/src/models/generated/TModelHVDCLine.jl @@ -94,8 +94,9 @@ end get_name(value::TModelHVDCLine) = value.name """Get [`TModelHVDCLine`](@ref) `available`.""" get_available(value::TModelHVDCLine) = value.available -"""Get [`TModelHVDCLine`](@ref) `active_power_flow`.""" -get_active_power_flow(value::TModelHVDCLine) = get_value(value, Val(:active_power_flow), Val(:mva)) +"""Get [`TModelHVDCLine`](@ref) `active_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow(value::TModelHVDCLine) = get_value(value, Val(:active_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow(value::TModelHVDCLine, units) = get_value(value, Val(:active_power_flow), Val(:mva), units) """Get [`TModelHVDCLine`](@ref) `arc`.""" get_arc(value::TModelHVDCLine) = value.arc """Get [`TModelHVDCLine`](@ref) `r`.""" @@ -104,10 +105,12 @@ get_r(value::TModelHVDCLine) = value.r get_l(value::TModelHVDCLine) = value.l """Get [`TModelHVDCLine`](@ref) `c`.""" get_c(value::TModelHVDCLine) = value.c -"""Get [`TModelHVDCLine`](@ref) `active_power_limits_from`.""" -get_active_power_limits_from(value::TModelHVDCLine) = get_value(value, Val(:active_power_limits_from), Val(:mva)) -"""Get [`TModelHVDCLine`](@ref) `active_power_limits_to`.""" -get_active_power_limits_to(value::TModelHVDCLine) = get_value(value, Val(:active_power_limits_to), Val(:mva)) +"""Get [`TModelHVDCLine`](@ref) `active_power_limits_from`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits_from(value::TModelHVDCLine) = get_value(value, Val(:active_power_limits_from), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits_from(value::TModelHVDCLine, units) = get_value(value, Val(:active_power_limits_from), Val(:mva), units) +"""Get [`TModelHVDCLine`](@ref) `active_power_limits_to`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits_to(value::TModelHVDCLine) = get_value(value, Val(:active_power_limits_to), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits_to(value::TModelHVDCLine, units) = get_value(value, Val(:active_power_limits_to), Val(:mva), units) """Get [`TModelHVDCLine`](@ref) `services`.""" get_services(value::TModelHVDCLine) = value.services """Get [`TModelHVDCLine`](@ref) `ext`.""" @@ -117,7 +120,7 @@ get_internal(value::TModelHVDCLine) = value.internal """Set [`TModelHVDCLine`](@ref) `available`.""" set_available!(value::TModelHVDCLine, val) = value.available = val -"""Set [`TModelHVDCLine`](@ref) `active_power_flow`.""" +"""Set [`TModelHVDCLine`](@ref) `active_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow!(value::TModelHVDCLine, val) = value.active_power_flow = set_value(value, Val(:active_power_flow), val, Val(:mva)) """Set [`TModelHVDCLine`](@ref) `arc`.""" set_arc!(value::TModelHVDCLine, val) = value.arc = val @@ -127,9 +130,9 @@ set_r!(value::TModelHVDCLine, val) = value.r = val set_l!(value::TModelHVDCLine, val) = value.l = val """Set [`TModelHVDCLine`](@ref) `c`.""" set_c!(value::TModelHVDCLine, val) = value.c = val -"""Set [`TModelHVDCLine`](@ref) `active_power_limits_from`.""" +"""Set [`TModelHVDCLine`](@ref) `active_power_limits_from`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits_from!(value::TModelHVDCLine, val) = value.active_power_limits_from = set_value(value, Val(:active_power_limits_from), val, Val(:mva)) -"""Set [`TModelHVDCLine`](@ref) `active_power_limits_to`.""" +"""Set [`TModelHVDCLine`](@ref) `active_power_limits_to`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits_to!(value::TModelHVDCLine, val) = value.active_power_limits_to = set_value(value, Val(:active_power_limits_to), val, Val(:mva)) """Set [`TModelHVDCLine`](@ref) `services`.""" set_services!(value::TModelHVDCLine, val) = value.services = val diff --git a/src/models/generated/TapTransformer.jl b/src/models/generated/TapTransformer.jl index 0dbbfc9499..3bb357a586 100644 --- a/src/models/generated/TapTransformer.jl +++ b/src/models/generated/TapTransformer.jl @@ -134,32 +134,40 @@ end get_name(value::TapTransformer) = value.name """Get [`TapTransformer`](@ref) `available`.""" get_available(value::TapTransformer) = value.available -"""Get [`TapTransformer`](@ref) `active_power_flow`.""" -get_active_power_flow(value::TapTransformer) = get_value(value, Val(:active_power_flow), Val(:mva)) -"""Get [`TapTransformer`](@ref) `reactive_power_flow`.""" -get_reactive_power_flow(value::TapTransformer) = get_value(value, Val(:reactive_power_flow), Val(:mva)) +"""Get [`TapTransformer`](@ref) `active_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow(value::TapTransformer) = get_value(value, Val(:active_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow(value::TapTransformer, units) = get_value(value, Val(:active_power_flow), Val(:mva), units) +"""Get [`TapTransformer`](@ref) `reactive_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_flow(value::TapTransformer) = get_value(value, Val(:reactive_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_flow(value::TapTransformer, units) = get_value(value, Val(:reactive_power_flow), Val(:mva), units) """Get [`TapTransformer`](@ref) `arc`.""" get_arc(value::TapTransformer) = value.arc -"""Get [`TapTransformer`](@ref) `r`.""" -get_r(value::TapTransformer) = get_value(value, Val(:r), Val(:ohm)) -"""Get [`TapTransformer`](@ref) `x`.""" -get_x(value::TapTransformer) = get_value(value, Val(:x), Val(:ohm)) -"""Get [`TapTransformer`](@ref) `primary_shunt`.""" -get_primary_shunt(value::TapTransformer) = get_value(value, Val(:primary_shunt), Val(:siemens)) +"""Get [`TapTransformer`](@ref) `r`. Returns value in the system's unit setting (natural units by default).""" +get_r(value::TapTransformer) = get_value(value, Val(:r), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r(value::TapTransformer, units) = get_value(value, Val(:r), Val(:ohm), units) +"""Get [`TapTransformer`](@ref) `x`. Returns value in the system's unit setting (natural units by default).""" +get_x(value::TapTransformer) = get_value(value, Val(:x), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x(value::TapTransformer, units) = get_value(value, Val(:x), Val(:ohm), units) +"""Get [`TapTransformer`](@ref) `primary_shunt`. Returns value in the system's unit setting (natural units by default).""" +get_primary_shunt(value::TapTransformer) = get_value(value, Val(:primary_shunt), Val(:siemens), _get_system_units(value, Val(:siemens))) +get_primary_shunt(value::TapTransformer, units) = get_value(value, Val(:primary_shunt), Val(:siemens), units) """Get [`TapTransformer`](@ref) `tap`.""" get_tap(value::TapTransformer) = value.tap -"""Get [`TapTransformer`](@ref) `rating`.""" -get_rating(value::TapTransformer) = get_value(value, Val(:rating), Val(:mva)) +"""Get [`TapTransformer`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::TapTransformer) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::TapTransformer, units) = get_value(value, Val(:rating), Val(:mva), units) """Get [`TapTransformer`](@ref) `base_power`.""" get_base_power(value::TapTransformer) = value.base_power """Get [`TapTransformer`](@ref) `base_voltage_primary`.""" get_base_voltage_primary(value::TapTransformer) = value.base_voltage_primary """Get [`TapTransformer`](@ref) `base_voltage_secondary`.""" get_base_voltage_secondary(value::TapTransformer) = value.base_voltage_secondary -"""Get [`TapTransformer`](@ref) `rating_b`.""" -get_rating_b(value::TapTransformer) = get_value(value, Val(:rating_b), Val(:mva)) -"""Get [`TapTransformer`](@ref) `rating_c`.""" -get_rating_c(value::TapTransformer) = get_value(value, Val(:rating_c), Val(:mva)) +"""Get [`TapTransformer`](@ref) `rating_b`. Returns value in the system's unit setting (natural units by default).""" +get_rating_b(value::TapTransformer) = get_value(value, Val(:rating_b), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_b(value::TapTransformer, units) = get_value(value, Val(:rating_b), Val(:mva), units) +"""Get [`TapTransformer`](@ref) `rating_c`. Returns value in the system's unit setting (natural units by default).""" +get_rating_c(value::TapTransformer) = get_value(value, Val(:rating_c), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_c(value::TapTransformer, units) = get_value(value, Val(:rating_c), Val(:mva), units) """Get [`TapTransformer`](@ref) `winding_group_number`.""" get_winding_group_number(value::TapTransformer) = value.winding_group_number """Get [`TapTransformer`](@ref) `control_objective`.""" @@ -173,21 +181,21 @@ get_internal(value::TapTransformer) = value.internal """Set [`TapTransformer`](@ref) `available`.""" set_available!(value::TapTransformer, val) = value.available = val -"""Set [`TapTransformer`](@ref) `active_power_flow`.""" +"""Set [`TapTransformer`](@ref) `active_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow!(value::TapTransformer, val) = value.active_power_flow = set_value(value, Val(:active_power_flow), val, Val(:mva)) -"""Set [`TapTransformer`](@ref) `reactive_power_flow`.""" +"""Set [`TapTransformer`](@ref) `reactive_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_flow!(value::TapTransformer, val) = value.reactive_power_flow = set_value(value, Val(:reactive_power_flow), val, Val(:mva)) """Set [`TapTransformer`](@ref) `arc`.""" set_arc!(value::TapTransformer, val) = value.arc = val -"""Set [`TapTransformer`](@ref) `r`.""" +"""Set [`TapTransformer`](@ref) `r`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r!(value::TapTransformer, val) = value.r = set_value(value, Val(:r), val, Val(:ohm)) -"""Set [`TapTransformer`](@ref) `x`.""" +"""Set [`TapTransformer`](@ref) `x`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x!(value::TapTransformer, val) = value.x = set_value(value, Val(:x), val, Val(:ohm)) -"""Set [`TapTransformer`](@ref) `primary_shunt`.""" +"""Set [`TapTransformer`](@ref) `primary_shunt`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_primary_shunt!(value::TapTransformer, val) = value.primary_shunt = set_value(value, Val(:primary_shunt), val, Val(:siemens)) """Set [`TapTransformer`](@ref) `tap`.""" set_tap!(value::TapTransformer, val) = value.tap = val -"""Set [`TapTransformer`](@ref) `rating`.""" +"""Set [`TapTransformer`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::TapTransformer, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) """Set [`TapTransformer`](@ref) `base_power`.""" set_base_power!(value::TapTransformer, val) = value.base_power = val @@ -195,9 +203,9 @@ set_base_power!(value::TapTransformer, val) = value.base_power = val set_base_voltage_primary!(value::TapTransformer, val) = value.base_voltage_primary = val """Set [`TapTransformer`](@ref) `base_voltage_secondary`.""" set_base_voltage_secondary!(value::TapTransformer, val) = value.base_voltage_secondary = val -"""Set [`TapTransformer`](@ref) `rating_b`.""" +"""Set [`TapTransformer`](@ref) `rating_b`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_b!(value::TapTransformer, val) = value.rating_b = set_value(value, Val(:rating_b), val, Val(:mva)) -"""Set [`TapTransformer`](@ref) `rating_c`.""" +"""Set [`TapTransformer`](@ref) `rating_c`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_c!(value::TapTransformer, val) = value.rating_c = set_value(value, Val(:rating_c), val, Val(:mva)) """Set [`TapTransformer`](@ref) `winding_group_number`.""" set_winding_group_number!(value::TapTransformer, val) = value.winding_group_number = val diff --git a/src/models/generated/ThermalMultiStart.jl b/src/models/generated/ThermalMultiStart.jl index 68eeda0ab6..6cfa98938a 100644 --- a/src/models/generated/ThermalMultiStart.jl +++ b/src/models/generated/ThermalMultiStart.jl @@ -157,24 +157,31 @@ get_available(value::ThermalMultiStart) = value.available get_status(value::ThermalMultiStart) = value.status """Get [`ThermalMultiStart`](@ref) `bus`.""" get_bus(value::ThermalMultiStart) = value.bus -"""Get [`ThermalMultiStart`](@ref) `active_power`.""" -get_active_power(value::ThermalMultiStart) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`ThermalMultiStart`](@ref) `reactive_power`.""" -get_reactive_power(value::ThermalMultiStart) = get_value(value, Val(:reactive_power), Val(:mva)) -"""Get [`ThermalMultiStart`](@ref) `rating`.""" -get_rating(value::ThermalMultiStart) = get_value(value, Val(:rating), Val(:mva)) +"""Get [`ThermalMultiStart`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::ThermalMultiStart) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::ThermalMultiStart, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`ThermalMultiStart`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::ThermalMultiStart) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::ThermalMultiStart, units) = get_value(value, Val(:reactive_power), Val(:mva), units) +"""Get [`ThermalMultiStart`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::ThermalMultiStart) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::ThermalMultiStart, units) = get_value(value, Val(:rating), Val(:mva), units) """Get [`ThermalMultiStart`](@ref) `prime_mover_type`.""" get_prime_mover_type(value::ThermalMultiStart) = value.prime_mover_type """Get [`ThermalMultiStart`](@ref) `fuel`.""" get_fuel(value::ThermalMultiStart) = value.fuel -"""Get [`ThermalMultiStart`](@ref) `active_power_limits`.""" -get_active_power_limits(value::ThermalMultiStart) = get_value(value, Val(:active_power_limits), Val(:mva)) -"""Get [`ThermalMultiStart`](@ref) `reactive_power_limits`.""" -get_reactive_power_limits(value::ThermalMultiStart) = get_value(value, Val(:reactive_power_limits), Val(:mva)) -"""Get [`ThermalMultiStart`](@ref) `ramp_limits`.""" -get_ramp_limits(value::ThermalMultiStart) = get_value(value, Val(:ramp_limits), Val(:mva)) -"""Get [`ThermalMultiStart`](@ref) `power_trajectory`.""" -get_power_trajectory(value::ThermalMultiStart) = get_value(value, Val(:power_trajectory), Val(:mva)) +"""Get [`ThermalMultiStart`](@ref) `active_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits(value::ThermalMultiStart) = get_value(value, Val(:active_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits(value::ThermalMultiStart, units) = get_value(value, Val(:active_power_limits), Val(:mva), units) +"""Get [`ThermalMultiStart`](@ref) `reactive_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits(value::ThermalMultiStart) = get_value(value, Val(:reactive_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits(value::ThermalMultiStart, units) = get_value(value, Val(:reactive_power_limits), Val(:mva), units) +"""Get [`ThermalMultiStart`](@ref) `ramp_limits`. Returns value in the system's unit setting (natural units by default).""" +get_ramp_limits(value::ThermalMultiStart) = get_value(value, Val(:ramp_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_ramp_limits(value::ThermalMultiStart, units) = get_value(value, Val(:ramp_limits), Val(:mva), units) +"""Get [`ThermalMultiStart`](@ref) `power_trajectory`. Returns value in the system's unit setting (natural units by default).""" +get_power_trajectory(value::ThermalMultiStart) = get_value(value, Val(:power_trajectory), Val(:mva), _get_system_units(value, Val(:mva))) +get_power_trajectory(value::ThermalMultiStart, units) = get_value(value, Val(:power_trajectory), Val(:mva), units) """Get [`ThermalMultiStart`](@ref) `time_limits`.""" get_time_limits(value::ThermalMultiStart) = value.time_limits """Get [`ThermalMultiStart`](@ref) `start_time_limits`.""" @@ -204,23 +211,23 @@ set_available!(value::ThermalMultiStart, val) = value.available = val set_status!(value::ThermalMultiStart, val) = value.status = val """Set [`ThermalMultiStart`](@ref) `bus`.""" set_bus!(value::ThermalMultiStart, val) = value.bus = val -"""Set [`ThermalMultiStart`](@ref) `active_power`.""" +"""Set [`ThermalMultiStart`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::ThermalMultiStart, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`ThermalMultiStart`](@ref) `reactive_power`.""" +"""Set [`ThermalMultiStart`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::ThermalMultiStart, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) -"""Set [`ThermalMultiStart`](@ref) `rating`.""" +"""Set [`ThermalMultiStart`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::ThermalMultiStart, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) """Set [`ThermalMultiStart`](@ref) `prime_mover_type`.""" set_prime_mover_type!(value::ThermalMultiStart, val) = value.prime_mover_type = val """Set [`ThermalMultiStart`](@ref) `fuel`.""" set_fuel!(value::ThermalMultiStart, val) = value.fuel = val -"""Set [`ThermalMultiStart`](@ref) `active_power_limits`.""" +"""Set [`ThermalMultiStart`](@ref) `active_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits!(value::ThermalMultiStart, val) = value.active_power_limits = set_value(value, Val(:active_power_limits), val, Val(:mva)) -"""Set [`ThermalMultiStart`](@ref) `reactive_power_limits`.""" +"""Set [`ThermalMultiStart`](@ref) `reactive_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits!(value::ThermalMultiStart, val) = value.reactive_power_limits = set_value(value, Val(:reactive_power_limits), val, Val(:mva)) -"""Set [`ThermalMultiStart`](@ref) `ramp_limits`.""" +"""Set [`ThermalMultiStart`](@ref) `ramp_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_ramp_limits!(value::ThermalMultiStart, val) = value.ramp_limits = set_value(value, Val(:ramp_limits), val, Val(:mva)) -"""Set [`ThermalMultiStart`](@ref) `power_trajectory`.""" +"""Set [`ThermalMultiStart`](@ref) `power_trajectory`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_power_trajectory!(value::ThermalMultiStart, val) = value.power_trajectory = set_value(value, Val(:power_trajectory), val, Val(:mva)) """Set [`ThermalMultiStart`](@ref) `time_limits`.""" set_time_limits!(value::ThermalMultiStart, val) = value.time_limits = val diff --git a/src/models/generated/ThermalStandard.jl b/src/models/generated/ThermalStandard.jl index cdd3455bf2..a5e131101e 100644 --- a/src/models/generated/ThermalStandard.jl +++ b/src/models/generated/ThermalStandard.jl @@ -143,18 +143,24 @@ get_available(value::ThermalStandard) = value.available get_status(value::ThermalStandard) = value.status """Get [`ThermalStandard`](@ref) `bus`.""" get_bus(value::ThermalStandard) = value.bus -"""Get [`ThermalStandard`](@ref) `active_power`.""" -get_active_power(value::ThermalStandard) = get_value(value, Val(:active_power), Val(:mva)) -"""Get [`ThermalStandard`](@ref) `reactive_power`.""" -get_reactive_power(value::ThermalStandard) = get_value(value, Val(:reactive_power), Val(:mva)) -"""Get [`ThermalStandard`](@ref) `rating`.""" -get_rating(value::ThermalStandard) = get_value(value, Val(:rating), Val(:mva)) -"""Get [`ThermalStandard`](@ref) `active_power_limits`.""" -get_active_power_limits(value::ThermalStandard) = get_value(value, Val(:active_power_limits), Val(:mva)) -"""Get [`ThermalStandard`](@ref) `reactive_power_limits`.""" -get_reactive_power_limits(value::ThermalStandard) = get_value(value, Val(:reactive_power_limits), Val(:mva)) -"""Get [`ThermalStandard`](@ref) `ramp_limits`.""" -get_ramp_limits(value::ThermalStandard) = get_value(value, Val(:ramp_limits), Val(:mva)) +"""Get [`ThermalStandard`](@ref) `active_power`. Returns value in the system's unit setting (natural units by default).""" +get_active_power(value::ThermalStandard) = get_value(value, Val(:active_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power(value::ThermalStandard, units) = get_value(value, Val(:active_power), Val(:mva), units) +"""Get [`ThermalStandard`](@ref) `reactive_power`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power(value::ThermalStandard) = get_value(value, Val(:reactive_power), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power(value::ThermalStandard, units) = get_value(value, Val(:reactive_power), Val(:mva), units) +"""Get [`ThermalStandard`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::ThermalStandard) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::ThermalStandard, units) = get_value(value, Val(:rating), Val(:mva), units) +"""Get [`ThermalStandard`](@ref) `active_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits(value::ThermalStandard) = get_value(value, Val(:active_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits(value::ThermalStandard, units) = get_value(value, Val(:active_power_limits), Val(:mva), units) +"""Get [`ThermalStandard`](@ref) `reactive_power_limits`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits(value::ThermalStandard) = get_value(value, Val(:reactive_power_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits(value::ThermalStandard, units) = get_value(value, Val(:reactive_power_limits), Val(:mva), units) +"""Get [`ThermalStandard`](@ref) `ramp_limits`. Returns value in the system's unit setting (natural units by default).""" +get_ramp_limits(value::ThermalStandard) = get_value(value, Val(:ramp_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_ramp_limits(value::ThermalStandard, units) = get_value(value, Val(:ramp_limits), Val(:mva), units) """Get [`ThermalStandard`](@ref) `operation_cost`.""" get_operation_cost(value::ThermalStandard) = value.operation_cost """Get [`ThermalStandard`](@ref) `base_power`.""" @@ -184,17 +190,17 @@ set_available!(value::ThermalStandard, val) = value.available = val set_status!(value::ThermalStandard, val) = value.status = val """Set [`ThermalStandard`](@ref) `bus`.""" set_bus!(value::ThermalStandard, val) = value.bus = val -"""Set [`ThermalStandard`](@ref) `active_power`.""" +"""Set [`ThermalStandard`](@ref) `active_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power!(value::ThermalStandard, val) = value.active_power = set_value(value, Val(:active_power), val, Val(:mva)) -"""Set [`ThermalStandard`](@ref) `reactive_power`.""" +"""Set [`ThermalStandard`](@ref) `reactive_power`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power!(value::ThermalStandard, val) = value.reactive_power = set_value(value, Val(:reactive_power), val, Val(:mva)) -"""Set [`ThermalStandard`](@ref) `rating`.""" +"""Set [`ThermalStandard`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::ThermalStandard, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) -"""Set [`ThermalStandard`](@ref) `active_power_limits`.""" +"""Set [`ThermalStandard`](@ref) `active_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits!(value::ThermalStandard, val) = value.active_power_limits = set_value(value, Val(:active_power_limits), val, Val(:mva)) -"""Set [`ThermalStandard`](@ref) `reactive_power_limits`.""" +"""Set [`ThermalStandard`](@ref) `reactive_power_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits!(value::ThermalStandard, val) = value.reactive_power_limits = set_value(value, Val(:reactive_power_limits), val, Val(:mva)) -"""Set [`ThermalStandard`](@ref) `ramp_limits`.""" +"""Set [`ThermalStandard`](@ref) `ramp_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_ramp_limits!(value::ThermalStandard, val) = value.ramp_limits = set_value(value, Val(:ramp_limits), val, Val(:mva)) """Set [`ThermalStandard`](@ref) `operation_cost`.""" set_operation_cost!(value::ThermalStandard, val) = value.operation_cost = val diff --git a/src/models/generated/Transformer2W.jl b/src/models/generated/Transformer2W.jl index 84e0ccc088..54f40d221e 100644 --- a/src/models/generated/Transformer2W.jl +++ b/src/models/generated/Transformer2W.jl @@ -124,30 +124,38 @@ end get_name(value::Transformer2W) = value.name """Get [`Transformer2W`](@ref) `available`.""" get_available(value::Transformer2W) = value.available -"""Get [`Transformer2W`](@ref) `active_power_flow`.""" -get_active_power_flow(value::Transformer2W) = get_value(value, Val(:active_power_flow), Val(:mva)) -"""Get [`Transformer2W`](@ref) `reactive_power_flow`.""" -get_reactive_power_flow(value::Transformer2W) = get_value(value, Val(:reactive_power_flow), Val(:mva)) +"""Get [`Transformer2W`](@ref) `active_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow(value::Transformer2W) = get_value(value, Val(:active_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow(value::Transformer2W, units) = get_value(value, Val(:active_power_flow), Val(:mva), units) +"""Get [`Transformer2W`](@ref) `reactive_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_flow(value::Transformer2W) = get_value(value, Val(:reactive_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_flow(value::Transformer2W, units) = get_value(value, Val(:reactive_power_flow), Val(:mva), units) """Get [`Transformer2W`](@ref) `arc`.""" get_arc(value::Transformer2W) = value.arc -"""Get [`Transformer2W`](@ref) `r`.""" -get_r(value::Transformer2W) = get_value(value, Val(:r), Val(:ohm)) -"""Get [`Transformer2W`](@ref) `x`.""" -get_x(value::Transformer2W) = get_value(value, Val(:x), Val(:ohm)) -"""Get [`Transformer2W`](@ref) `primary_shunt`.""" -get_primary_shunt(value::Transformer2W) = get_value(value, Val(:primary_shunt), Val(:siemens)) -"""Get [`Transformer2W`](@ref) `rating`.""" -get_rating(value::Transformer2W) = get_value(value, Val(:rating), Val(:mva)) +"""Get [`Transformer2W`](@ref) `r`. Returns value in the system's unit setting (natural units by default).""" +get_r(value::Transformer2W) = get_value(value, Val(:r), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r(value::Transformer2W, units) = get_value(value, Val(:r), Val(:ohm), units) +"""Get [`Transformer2W`](@ref) `x`. Returns value in the system's unit setting (natural units by default).""" +get_x(value::Transformer2W) = get_value(value, Val(:x), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x(value::Transformer2W, units) = get_value(value, Val(:x), Val(:ohm), units) +"""Get [`Transformer2W`](@ref) `primary_shunt`. Returns value in the system's unit setting (natural units by default).""" +get_primary_shunt(value::Transformer2W) = get_value(value, Val(:primary_shunt), Val(:siemens), _get_system_units(value, Val(:siemens))) +get_primary_shunt(value::Transformer2W, units) = get_value(value, Val(:primary_shunt), Val(:siemens), units) +"""Get [`Transformer2W`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::Transformer2W) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::Transformer2W, units) = get_value(value, Val(:rating), Val(:mva), units) """Get [`Transformer2W`](@ref) `base_power`.""" get_base_power(value::Transformer2W) = value.base_power """Get [`Transformer2W`](@ref) `base_voltage_primary`.""" get_base_voltage_primary(value::Transformer2W) = value.base_voltage_primary """Get [`Transformer2W`](@ref) `base_voltage_secondary`.""" get_base_voltage_secondary(value::Transformer2W) = value.base_voltage_secondary -"""Get [`Transformer2W`](@ref) `rating_b`.""" -get_rating_b(value::Transformer2W) = get_value(value, Val(:rating_b), Val(:mva)) -"""Get [`Transformer2W`](@ref) `rating_c`.""" -get_rating_c(value::Transformer2W) = get_value(value, Val(:rating_c), Val(:mva)) +"""Get [`Transformer2W`](@ref) `rating_b`. Returns value in the system's unit setting (natural units by default).""" +get_rating_b(value::Transformer2W) = get_value(value, Val(:rating_b), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_b(value::Transformer2W, units) = get_value(value, Val(:rating_b), Val(:mva), units) +"""Get [`Transformer2W`](@ref) `rating_c`. Returns value in the system's unit setting (natural units by default).""" +get_rating_c(value::Transformer2W) = get_value(value, Val(:rating_c), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_c(value::Transformer2W, units) = get_value(value, Val(:rating_c), Val(:mva), units) """Get [`Transformer2W`](@ref) `winding_group_number`.""" get_winding_group_number(value::Transformer2W) = value.winding_group_number """Get [`Transformer2W`](@ref) `services`.""" @@ -159,19 +167,19 @@ get_internal(value::Transformer2W) = value.internal """Set [`Transformer2W`](@ref) `available`.""" set_available!(value::Transformer2W, val) = value.available = val -"""Set [`Transformer2W`](@ref) `active_power_flow`.""" +"""Set [`Transformer2W`](@ref) `active_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow!(value::Transformer2W, val) = value.active_power_flow = set_value(value, Val(:active_power_flow), val, Val(:mva)) -"""Set [`Transformer2W`](@ref) `reactive_power_flow`.""" +"""Set [`Transformer2W`](@ref) `reactive_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_flow!(value::Transformer2W, val) = value.reactive_power_flow = set_value(value, Val(:reactive_power_flow), val, Val(:mva)) """Set [`Transformer2W`](@ref) `arc`.""" set_arc!(value::Transformer2W, val) = value.arc = val -"""Set [`Transformer2W`](@ref) `r`.""" +"""Set [`Transformer2W`](@ref) `r`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r!(value::Transformer2W, val) = value.r = set_value(value, Val(:r), val, Val(:ohm)) -"""Set [`Transformer2W`](@ref) `x`.""" +"""Set [`Transformer2W`](@ref) `x`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x!(value::Transformer2W, val) = value.x = set_value(value, Val(:x), val, Val(:ohm)) -"""Set [`Transformer2W`](@ref) `primary_shunt`.""" +"""Set [`Transformer2W`](@ref) `primary_shunt`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_primary_shunt!(value::Transformer2W, val) = value.primary_shunt = set_value(value, Val(:primary_shunt), val, Val(:siemens)) -"""Set [`Transformer2W`](@ref) `rating`.""" +"""Set [`Transformer2W`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::Transformer2W, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) """Set [`Transformer2W`](@ref) `base_power`.""" set_base_power!(value::Transformer2W, val) = value.base_power = val @@ -179,9 +187,9 @@ set_base_power!(value::Transformer2W, val) = value.base_power = val set_base_voltage_primary!(value::Transformer2W, val) = value.base_voltage_primary = val """Set [`Transformer2W`](@ref) `base_voltage_secondary`.""" set_base_voltage_secondary!(value::Transformer2W, val) = value.base_voltage_secondary = val -"""Set [`Transformer2W`](@ref) `rating_b`.""" +"""Set [`Transformer2W`](@ref) `rating_b`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_b!(value::Transformer2W, val) = value.rating_b = set_value(value, Val(:rating_b), val, Val(:mva)) -"""Set [`Transformer2W`](@ref) `rating_c`.""" +"""Set [`Transformer2W`](@ref) `rating_c`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_c!(value::Transformer2W, val) = value.rating_c = set_value(value, Val(:rating_c), val, Val(:mva)) """Set [`Transformer2W`](@ref) `winding_group_number`.""" set_winding_group_number!(value::Transformer2W, val) = value.winding_group_number = val diff --git a/src/models/generated/Transformer3W.jl b/src/models/generated/Transformer3W.jl index c5d98dc334..b1ce103c73 100644 --- a/src/models/generated/Transformer3W.jl +++ b/src/models/generated/Transformer3W.jl @@ -297,44 +297,63 @@ get_secondary_star_arc(value::Transformer3W) = value.secondary_star_arc get_tertiary_star_arc(value::Transformer3W) = value.tertiary_star_arc """Get [`Transformer3W`](@ref) `star_bus`.""" get_star_bus(value::Transformer3W) = value.star_bus -"""Get [`Transformer3W`](@ref) `active_power_flow_primary`.""" -get_active_power_flow_primary(value::Transformer3W) = get_value(value, Val(:active_power_flow_primary), Val(:mva)) -"""Get [`Transformer3W`](@ref) `reactive_power_flow_primary`.""" -get_reactive_power_flow_primary(value::Transformer3W) = get_value(value, Val(:reactive_power_flow_primary), Val(:mva)) -"""Get [`Transformer3W`](@ref) `active_power_flow_secondary`.""" -get_active_power_flow_secondary(value::Transformer3W) = get_value(value, Val(:active_power_flow_secondary), Val(:mva)) -"""Get [`Transformer3W`](@ref) `reactive_power_flow_secondary`.""" -get_reactive_power_flow_secondary(value::Transformer3W) = get_value(value, Val(:reactive_power_flow_secondary), Val(:mva)) -"""Get [`Transformer3W`](@ref) `active_power_flow_tertiary`.""" -get_active_power_flow_tertiary(value::Transformer3W) = get_value(value, Val(:active_power_flow_tertiary), Val(:mva)) -"""Get [`Transformer3W`](@ref) `reactive_power_flow_tertiary`.""" -get_reactive_power_flow_tertiary(value::Transformer3W) = get_value(value, Val(:reactive_power_flow_tertiary), Val(:mva)) -"""Get [`Transformer3W`](@ref) `r_primary`.""" -get_r_primary(value::Transformer3W) = get_value(value, Val(:r_primary), Val(:ohm)) -"""Get [`Transformer3W`](@ref) `x_primary`.""" -get_x_primary(value::Transformer3W) = get_value(value, Val(:x_primary), Val(:ohm)) -"""Get [`Transformer3W`](@ref) `r_secondary`.""" -get_r_secondary(value::Transformer3W) = get_value(value, Val(:r_secondary), Val(:ohm)) -"""Get [`Transformer3W`](@ref) `x_secondary`.""" -get_x_secondary(value::Transformer3W) = get_value(value, Val(:x_secondary), Val(:ohm)) -"""Get [`Transformer3W`](@ref) `r_tertiary`.""" -get_r_tertiary(value::Transformer3W) = get_value(value, Val(:r_tertiary), Val(:ohm)) -"""Get [`Transformer3W`](@ref) `x_tertiary`.""" -get_x_tertiary(value::Transformer3W) = get_value(value, Val(:x_tertiary), Val(:ohm)) -"""Get [`Transformer3W`](@ref) `rating`.""" -get_rating(value::Transformer3W) = get_value(value, Val(:rating), Val(:mva)) -"""Get [`Transformer3W`](@ref) `r_12`.""" -get_r_12(value::Transformer3W) = get_value(value, Val(:r_12), Val(:ohm)) -"""Get [`Transformer3W`](@ref) `x_12`.""" -get_x_12(value::Transformer3W) = get_value(value, Val(:x_12), Val(:ohm)) -"""Get [`Transformer3W`](@ref) `r_23`.""" -get_r_23(value::Transformer3W) = get_value(value, Val(:r_23), Val(:ohm)) -"""Get [`Transformer3W`](@ref) `x_23`.""" -get_x_23(value::Transformer3W) = get_value(value, Val(:x_23), Val(:ohm)) -"""Get [`Transformer3W`](@ref) `r_13`.""" -get_r_13(value::Transformer3W) = get_value(value, Val(:r_13), Val(:ohm)) -"""Get [`Transformer3W`](@ref) `x_13`.""" -get_x_13(value::Transformer3W) = get_value(value, Val(:x_13), Val(:ohm)) +"""Get [`Transformer3W`](@ref) `active_power_flow_primary`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow_primary(value::Transformer3W) = get_value(value, Val(:active_power_flow_primary), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow_primary(value::Transformer3W, units) = get_value(value, Val(:active_power_flow_primary), Val(:mva), units) +"""Get [`Transformer3W`](@ref) `reactive_power_flow_primary`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_flow_primary(value::Transformer3W) = get_value(value, Val(:reactive_power_flow_primary), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_flow_primary(value::Transformer3W, units) = get_value(value, Val(:reactive_power_flow_primary), Val(:mva), units) +"""Get [`Transformer3W`](@ref) `active_power_flow_secondary`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow_secondary(value::Transformer3W) = get_value(value, Val(:active_power_flow_secondary), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow_secondary(value::Transformer3W, units) = get_value(value, Val(:active_power_flow_secondary), Val(:mva), units) +"""Get [`Transformer3W`](@ref) `reactive_power_flow_secondary`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_flow_secondary(value::Transformer3W) = get_value(value, Val(:reactive_power_flow_secondary), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_flow_secondary(value::Transformer3W, units) = get_value(value, Val(:reactive_power_flow_secondary), Val(:mva), units) +"""Get [`Transformer3W`](@ref) `active_power_flow_tertiary`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow_tertiary(value::Transformer3W) = get_value(value, Val(:active_power_flow_tertiary), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow_tertiary(value::Transformer3W, units) = get_value(value, Val(:active_power_flow_tertiary), Val(:mva), units) +"""Get [`Transformer3W`](@ref) `reactive_power_flow_tertiary`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_flow_tertiary(value::Transformer3W) = get_value(value, Val(:reactive_power_flow_tertiary), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_flow_tertiary(value::Transformer3W, units) = get_value(value, Val(:reactive_power_flow_tertiary), Val(:mva), units) +"""Get [`Transformer3W`](@ref) `r_primary`. Returns value in the system's unit setting (natural units by default).""" +get_r_primary(value::Transformer3W) = get_value(value, Val(:r_primary), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r_primary(value::Transformer3W, units) = get_value(value, Val(:r_primary), Val(:ohm), units) +"""Get [`Transformer3W`](@ref) `x_primary`. Returns value in the system's unit setting (natural units by default).""" +get_x_primary(value::Transformer3W) = get_value(value, Val(:x_primary), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x_primary(value::Transformer3W, units) = get_value(value, Val(:x_primary), Val(:ohm), units) +"""Get [`Transformer3W`](@ref) `r_secondary`. Returns value in the system's unit setting (natural units by default).""" +get_r_secondary(value::Transformer3W) = get_value(value, Val(:r_secondary), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r_secondary(value::Transformer3W, units) = get_value(value, Val(:r_secondary), Val(:ohm), units) +"""Get [`Transformer3W`](@ref) `x_secondary`. Returns value in the system's unit setting (natural units by default).""" +get_x_secondary(value::Transformer3W) = get_value(value, Val(:x_secondary), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x_secondary(value::Transformer3W, units) = get_value(value, Val(:x_secondary), Val(:ohm), units) +"""Get [`Transformer3W`](@ref) `r_tertiary`. Returns value in the system's unit setting (natural units by default).""" +get_r_tertiary(value::Transformer3W) = get_value(value, Val(:r_tertiary), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r_tertiary(value::Transformer3W, units) = get_value(value, Val(:r_tertiary), Val(:ohm), units) +"""Get [`Transformer3W`](@ref) `x_tertiary`. Returns value in the system's unit setting (natural units by default).""" +get_x_tertiary(value::Transformer3W) = get_value(value, Val(:x_tertiary), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x_tertiary(value::Transformer3W, units) = get_value(value, Val(:x_tertiary), Val(:ohm), units) +"""Get [`Transformer3W`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::Transformer3W) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::Transformer3W, units) = get_value(value, Val(:rating), Val(:mva), units) +"""Get [`Transformer3W`](@ref) `r_12`. Returns value in the system's unit setting (natural units by default).""" +get_r_12(value::Transformer3W) = get_value(value, Val(:r_12), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r_12(value::Transformer3W, units) = get_value(value, Val(:r_12), Val(:ohm), units) +"""Get [`Transformer3W`](@ref) `x_12`. Returns value in the system's unit setting (natural units by default).""" +get_x_12(value::Transformer3W) = get_value(value, Val(:x_12), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x_12(value::Transformer3W, units) = get_value(value, Val(:x_12), Val(:ohm), units) +"""Get [`Transformer3W`](@ref) `r_23`. Returns value in the system's unit setting (natural units by default).""" +get_r_23(value::Transformer3W) = get_value(value, Val(:r_23), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r_23(value::Transformer3W, units) = get_value(value, Val(:r_23), Val(:ohm), units) +"""Get [`Transformer3W`](@ref) `x_23`. Returns value in the system's unit setting (natural units by default).""" +get_x_23(value::Transformer3W) = get_value(value, Val(:x_23), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x_23(value::Transformer3W, units) = get_value(value, Val(:x_23), Val(:ohm), units) +"""Get [`Transformer3W`](@ref) `r_13`. Returns value in the system's unit setting (natural units by default).""" +get_r_13(value::Transformer3W) = get_value(value, Val(:r_13), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_r_13(value::Transformer3W, units) = get_value(value, Val(:r_13), Val(:ohm), units) +"""Get [`Transformer3W`](@ref) `x_13`. Returns value in the system's unit setting (natural units by default).""" +get_x_13(value::Transformer3W) = get_value(value, Val(:x_13), Val(:ohm), _get_system_units(value, Val(:ohm))) +get_x_13(value::Transformer3W, units) = get_value(value, Val(:x_13), Val(:ohm), units) """Get [`Transformer3W`](@ref) `base_power_12`.""" get_base_power_12(value::Transformer3W) = value.base_power_12 """Get [`Transformer3W`](@ref) `base_power_23`.""" @@ -347,10 +366,12 @@ get_base_voltage_primary(value::Transformer3W) = value.base_voltage_primary get_base_voltage_secondary(value::Transformer3W) = value.base_voltage_secondary """Get [`Transformer3W`](@ref) `base_voltage_tertiary`.""" get_base_voltage_tertiary(value::Transformer3W) = value.base_voltage_tertiary -"""Get [`Transformer3W`](@ref) `g`.""" -get_g(value::Transformer3W) = get_value(value, Val(:g), Val(:siemens)) -"""Get [`Transformer3W`](@ref) `b`.""" -get_b(value::Transformer3W) = get_value(value, Val(:b), Val(:siemens)) +"""Get [`Transformer3W`](@ref) `g`. Returns value in the system's unit setting (natural units by default).""" +get_g(value::Transformer3W) = get_value(value, Val(:g), Val(:siemens), _get_system_units(value, Val(:siemens))) +get_g(value::Transformer3W, units) = get_value(value, Val(:g), Val(:siemens), units) +"""Get [`Transformer3W`](@ref) `b`. Returns value in the system's unit setting (natural units by default).""" +get_b(value::Transformer3W) = get_value(value, Val(:b), Val(:siemens), _get_system_units(value, Val(:siemens))) +get_b(value::Transformer3W, units) = get_value(value, Val(:b), Val(:siemens), units) """Get [`Transformer3W`](@ref) `primary_turns_ratio`.""" get_primary_turns_ratio(value::Transformer3W) = value.primary_turns_ratio """Get [`Transformer3W`](@ref) `secondary_turns_ratio`.""" @@ -363,12 +384,15 @@ get_available_primary(value::Transformer3W) = value.available_primary get_available_secondary(value::Transformer3W) = value.available_secondary """Get [`Transformer3W`](@ref) `available_tertiary`.""" get_available_tertiary(value::Transformer3W) = value.available_tertiary -"""Get [`Transformer3W`](@ref) `rating_primary`.""" -get_rating_primary(value::Transformer3W) = get_value(value, Val(:rating_primary), Val(:mva)) -"""Get [`Transformer3W`](@ref) `rating_secondary`.""" -get_rating_secondary(value::Transformer3W) = get_value(value, Val(:rating_secondary), Val(:mva)) -"""Get [`Transformer3W`](@ref) `rating_tertiary`.""" -get_rating_tertiary(value::Transformer3W) = get_value(value, Val(:rating_tertiary), Val(:mva)) +"""Get [`Transformer3W`](@ref) `rating_primary`. Returns value in the system's unit setting (natural units by default).""" +get_rating_primary(value::Transformer3W) = get_value(value, Val(:rating_primary), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_primary(value::Transformer3W, units) = get_value(value, Val(:rating_primary), Val(:mva), units) +"""Get [`Transformer3W`](@ref) `rating_secondary`. Returns value in the system's unit setting (natural units by default).""" +get_rating_secondary(value::Transformer3W) = get_value(value, Val(:rating_secondary), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_secondary(value::Transformer3W, units) = get_value(value, Val(:rating_secondary), Val(:mva), units) +"""Get [`Transformer3W`](@ref) `rating_tertiary`. Returns value in the system's unit setting (natural units by default).""" +get_rating_tertiary(value::Transformer3W) = get_value(value, Val(:rating_tertiary), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_tertiary(value::Transformer3W, units) = get_value(value, Val(:rating_tertiary), Val(:mva), units) """Get [`Transformer3W`](@ref) `primary_group_number`.""" get_primary_group_number(value::Transformer3W) = value.primary_group_number """Get [`Transformer3W`](@ref) `secondary_group_number`.""" @@ -398,43 +422,43 @@ set_secondary_star_arc!(value::Transformer3W, val) = value.secondary_star_arc = set_tertiary_star_arc!(value::Transformer3W, val) = value.tertiary_star_arc = val """Set [`Transformer3W`](@ref) `star_bus`.""" set_star_bus!(value::Transformer3W, val) = value.star_bus = val -"""Set [`Transformer3W`](@ref) `active_power_flow_primary`.""" +"""Set [`Transformer3W`](@ref) `active_power_flow_primary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow_primary!(value::Transformer3W, val) = value.active_power_flow_primary = set_value(value, Val(:active_power_flow_primary), val, Val(:mva)) -"""Set [`Transformer3W`](@ref) `reactive_power_flow_primary`.""" +"""Set [`Transformer3W`](@ref) `reactive_power_flow_primary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_flow_primary!(value::Transformer3W, val) = value.reactive_power_flow_primary = set_value(value, Val(:reactive_power_flow_primary), val, Val(:mva)) -"""Set [`Transformer3W`](@ref) `active_power_flow_secondary`.""" +"""Set [`Transformer3W`](@ref) `active_power_flow_secondary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow_secondary!(value::Transformer3W, val) = value.active_power_flow_secondary = set_value(value, Val(:active_power_flow_secondary), val, Val(:mva)) -"""Set [`Transformer3W`](@ref) `reactive_power_flow_secondary`.""" +"""Set [`Transformer3W`](@ref) `reactive_power_flow_secondary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_flow_secondary!(value::Transformer3W, val) = value.reactive_power_flow_secondary = set_value(value, Val(:reactive_power_flow_secondary), val, Val(:mva)) -"""Set [`Transformer3W`](@ref) `active_power_flow_tertiary`.""" +"""Set [`Transformer3W`](@ref) `active_power_flow_tertiary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow_tertiary!(value::Transformer3W, val) = value.active_power_flow_tertiary = set_value(value, Val(:active_power_flow_tertiary), val, Val(:mva)) -"""Set [`Transformer3W`](@ref) `reactive_power_flow_tertiary`.""" +"""Set [`Transformer3W`](@ref) `reactive_power_flow_tertiary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_flow_tertiary!(value::Transformer3W, val) = value.reactive_power_flow_tertiary = set_value(value, Val(:reactive_power_flow_tertiary), val, Val(:mva)) -"""Set [`Transformer3W`](@ref) `r_primary`.""" +"""Set [`Transformer3W`](@ref) `r_primary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r_primary!(value::Transformer3W, val) = value.r_primary = set_value(value, Val(:r_primary), val, Val(:ohm)) -"""Set [`Transformer3W`](@ref) `x_primary`.""" +"""Set [`Transformer3W`](@ref) `x_primary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x_primary!(value::Transformer3W, val) = value.x_primary = set_value(value, Val(:x_primary), val, Val(:ohm)) -"""Set [`Transformer3W`](@ref) `r_secondary`.""" +"""Set [`Transformer3W`](@ref) `r_secondary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r_secondary!(value::Transformer3W, val) = value.r_secondary = set_value(value, Val(:r_secondary), val, Val(:ohm)) -"""Set [`Transformer3W`](@ref) `x_secondary`.""" +"""Set [`Transformer3W`](@ref) `x_secondary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x_secondary!(value::Transformer3W, val) = value.x_secondary = set_value(value, Val(:x_secondary), val, Val(:ohm)) -"""Set [`Transformer3W`](@ref) `r_tertiary`.""" +"""Set [`Transformer3W`](@ref) `r_tertiary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r_tertiary!(value::Transformer3W, val) = value.r_tertiary = set_value(value, Val(:r_tertiary), val, Val(:ohm)) -"""Set [`Transformer3W`](@ref) `x_tertiary`.""" +"""Set [`Transformer3W`](@ref) `x_tertiary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x_tertiary!(value::Transformer3W, val) = value.x_tertiary = set_value(value, Val(:x_tertiary), val, Val(:ohm)) -"""Set [`Transformer3W`](@ref) `rating`.""" +"""Set [`Transformer3W`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::Transformer3W, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) -"""Set [`Transformer3W`](@ref) `r_12`.""" +"""Set [`Transformer3W`](@ref) `r_12`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r_12!(value::Transformer3W, val) = value.r_12 = set_value(value, Val(:r_12), val, Val(:ohm)) -"""Set [`Transformer3W`](@ref) `x_12`.""" +"""Set [`Transformer3W`](@ref) `x_12`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x_12!(value::Transformer3W, val) = value.x_12 = set_value(value, Val(:x_12), val, Val(:ohm)) -"""Set [`Transformer3W`](@ref) `r_23`.""" +"""Set [`Transformer3W`](@ref) `r_23`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r_23!(value::Transformer3W, val) = value.r_23 = set_value(value, Val(:r_23), val, Val(:ohm)) -"""Set [`Transformer3W`](@ref) `x_23`.""" +"""Set [`Transformer3W`](@ref) `x_23`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x_23!(value::Transformer3W, val) = value.x_23 = set_value(value, Val(:x_23), val, Val(:ohm)) -"""Set [`Transformer3W`](@ref) `r_13`.""" +"""Set [`Transformer3W`](@ref) `r_13`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_r_13!(value::Transformer3W, val) = value.r_13 = set_value(value, Val(:r_13), val, Val(:ohm)) -"""Set [`Transformer3W`](@ref) `x_13`.""" +"""Set [`Transformer3W`](@ref) `x_13`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_x_13!(value::Transformer3W, val) = value.x_13 = set_value(value, Val(:x_13), val, Val(:ohm)) """Set [`Transformer3W`](@ref) `base_power_12`.""" set_base_power_12!(value::Transformer3W, val) = value.base_power_12 = val @@ -448,9 +472,9 @@ set_base_voltage_primary!(value::Transformer3W, val) = value.base_voltage_primar set_base_voltage_secondary!(value::Transformer3W, val) = value.base_voltage_secondary = val """Set [`Transformer3W`](@ref) `base_voltage_tertiary`.""" set_base_voltage_tertiary!(value::Transformer3W, val) = value.base_voltage_tertiary = val -"""Set [`Transformer3W`](@ref) `g`.""" +"""Set [`Transformer3W`](@ref) `g`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_g!(value::Transformer3W, val) = value.g = set_value(value, Val(:g), val, Val(:siemens)) -"""Set [`Transformer3W`](@ref) `b`.""" +"""Set [`Transformer3W`](@ref) `b`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_b!(value::Transformer3W, val) = value.b = set_value(value, Val(:b), val, Val(:siemens)) """Set [`Transformer3W`](@ref) `primary_turns_ratio`.""" set_primary_turns_ratio!(value::Transformer3W, val) = value.primary_turns_ratio = val @@ -464,11 +488,11 @@ set_available_primary!(value::Transformer3W, val) = value.available_primary = va set_available_secondary!(value::Transformer3W, val) = value.available_secondary = val """Set [`Transformer3W`](@ref) `available_tertiary`.""" set_available_tertiary!(value::Transformer3W, val) = value.available_tertiary = val -"""Set [`Transformer3W`](@ref) `rating_primary`.""" +"""Set [`Transformer3W`](@ref) `rating_primary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_primary!(value::Transformer3W, val) = value.rating_primary = set_value(value, Val(:rating_primary), val, Val(:mva)) -"""Set [`Transformer3W`](@ref) `rating_secondary`.""" +"""Set [`Transformer3W`](@ref) `rating_secondary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_secondary!(value::Transformer3W, val) = value.rating_secondary = set_value(value, Val(:rating_secondary), val, Val(:mva)) -"""Set [`Transformer3W`](@ref) `rating_tertiary`.""" +"""Set [`Transformer3W`](@ref) `rating_tertiary`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_tertiary!(value::Transformer3W, val) = value.rating_tertiary = set_value(value, Val(:rating_tertiary), val, Val(:mva)) """Set [`Transformer3W`](@ref) `primary_group_number`.""" set_primary_group_number!(value::Transformer3W, val) = value.primary_group_number = val diff --git a/src/models/generated/TransmissionInterface.jl b/src/models/generated/TransmissionInterface.jl index fb6e1125e1..caab5d7044 100644 --- a/src/models/generated/TransmissionInterface.jl +++ b/src/models/generated/TransmissionInterface.jl @@ -64,8 +64,9 @@ end get_name(value::TransmissionInterface) = value.name """Get [`TransmissionInterface`](@ref) `available`.""" get_available(value::TransmissionInterface) = value.available -"""Get [`TransmissionInterface`](@ref) `active_power_flow_limits`.""" -get_active_power_flow_limits(value::TransmissionInterface) = get_value(value, Val(:active_power_flow_limits), Val(:mva)) +"""Get [`TransmissionInterface`](@ref) `active_power_flow_limits`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow_limits(value::TransmissionInterface) = get_value(value, Val(:active_power_flow_limits), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow_limits(value::TransmissionInterface, units) = get_value(value, Val(:active_power_flow_limits), Val(:mva), units) """Get [`TransmissionInterface`](@ref) `violation_penalty`.""" get_violation_penalty(value::TransmissionInterface) = value.violation_penalty """Get [`TransmissionInterface`](@ref) `direction_mapping`.""" @@ -75,7 +76,7 @@ get_internal(value::TransmissionInterface) = value.internal """Set [`TransmissionInterface`](@ref) `available`.""" set_available!(value::TransmissionInterface, val) = value.available = val -"""Set [`TransmissionInterface`](@ref) `active_power_flow_limits`.""" +"""Set [`TransmissionInterface`](@ref) `active_power_flow_limits`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow_limits!(value::TransmissionInterface, val) = value.active_power_flow_limits = set_value(value, Val(:active_power_flow_limits), val, Val(:mva)) """Set [`TransmissionInterface`](@ref) `violation_penalty`.""" set_violation_penalty!(value::TransmissionInterface, val) = value.violation_penalty = val diff --git a/src/models/generated/TwoTerminalGenericHVDCLine.jl b/src/models/generated/TwoTerminalGenericHVDCLine.jl index 74777e5145..9b0c0c5cdc 100644 --- a/src/models/generated/TwoTerminalGenericHVDCLine.jl +++ b/src/models/generated/TwoTerminalGenericHVDCLine.jl @@ -94,18 +94,23 @@ end get_name(value::TwoTerminalGenericHVDCLine) = value.name """Get [`TwoTerminalGenericHVDCLine`](@ref) `available`.""" get_available(value::TwoTerminalGenericHVDCLine) = value.available -"""Get [`TwoTerminalGenericHVDCLine`](@ref) `active_power_flow`.""" -get_active_power_flow(value::TwoTerminalGenericHVDCLine) = get_value(value, Val(:active_power_flow), Val(:mva)) +"""Get [`TwoTerminalGenericHVDCLine`](@ref) `active_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow(value::TwoTerminalGenericHVDCLine) = get_value(value, Val(:active_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow(value::TwoTerminalGenericHVDCLine, units) = get_value(value, Val(:active_power_flow), Val(:mva), units) """Get [`TwoTerminalGenericHVDCLine`](@ref) `arc`.""" get_arc(value::TwoTerminalGenericHVDCLine) = value.arc -"""Get [`TwoTerminalGenericHVDCLine`](@ref) `active_power_limits_from`.""" -get_active_power_limits_from(value::TwoTerminalGenericHVDCLine) = get_value(value, Val(:active_power_limits_from), Val(:mva)) -"""Get [`TwoTerminalGenericHVDCLine`](@ref) `active_power_limits_to`.""" -get_active_power_limits_to(value::TwoTerminalGenericHVDCLine) = get_value(value, Val(:active_power_limits_to), Val(:mva)) -"""Get [`TwoTerminalGenericHVDCLine`](@ref) `reactive_power_limits_from`.""" -get_reactive_power_limits_from(value::TwoTerminalGenericHVDCLine) = get_value(value, Val(:reactive_power_limits_from), Val(:mva)) -"""Get [`TwoTerminalGenericHVDCLine`](@ref) `reactive_power_limits_to`.""" -get_reactive_power_limits_to(value::TwoTerminalGenericHVDCLine) = get_value(value, Val(:reactive_power_limits_to), Val(:mva)) +"""Get [`TwoTerminalGenericHVDCLine`](@ref) `active_power_limits_from`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits_from(value::TwoTerminalGenericHVDCLine) = get_value(value, Val(:active_power_limits_from), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits_from(value::TwoTerminalGenericHVDCLine, units) = get_value(value, Val(:active_power_limits_from), Val(:mva), units) +"""Get [`TwoTerminalGenericHVDCLine`](@ref) `active_power_limits_to`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits_to(value::TwoTerminalGenericHVDCLine) = get_value(value, Val(:active_power_limits_to), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits_to(value::TwoTerminalGenericHVDCLine, units) = get_value(value, Val(:active_power_limits_to), Val(:mva), units) +"""Get [`TwoTerminalGenericHVDCLine`](@ref) `reactive_power_limits_from`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits_from(value::TwoTerminalGenericHVDCLine) = get_value(value, Val(:reactive_power_limits_from), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits_from(value::TwoTerminalGenericHVDCLine, units) = get_value(value, Val(:reactive_power_limits_from), Val(:mva), units) +"""Get [`TwoTerminalGenericHVDCLine`](@ref) `reactive_power_limits_to`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits_to(value::TwoTerminalGenericHVDCLine) = get_value(value, Val(:reactive_power_limits_to), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits_to(value::TwoTerminalGenericHVDCLine, units) = get_value(value, Val(:reactive_power_limits_to), Val(:mva), units) """Get [`TwoTerminalGenericHVDCLine`](@ref) `loss`.""" get_loss(value::TwoTerminalGenericHVDCLine) = value.loss """Get [`TwoTerminalGenericHVDCLine`](@ref) `services`.""" @@ -117,17 +122,17 @@ get_internal(value::TwoTerminalGenericHVDCLine) = value.internal """Set [`TwoTerminalGenericHVDCLine`](@ref) `available`.""" set_available!(value::TwoTerminalGenericHVDCLine, val) = value.available = val -"""Set [`TwoTerminalGenericHVDCLine`](@ref) `active_power_flow`.""" +"""Set [`TwoTerminalGenericHVDCLine`](@ref) `active_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow!(value::TwoTerminalGenericHVDCLine, val) = value.active_power_flow = set_value(value, Val(:active_power_flow), val, Val(:mva)) """Set [`TwoTerminalGenericHVDCLine`](@ref) `arc`.""" set_arc!(value::TwoTerminalGenericHVDCLine, val) = value.arc = val -"""Set [`TwoTerminalGenericHVDCLine`](@ref) `active_power_limits_from`.""" +"""Set [`TwoTerminalGenericHVDCLine`](@ref) `active_power_limits_from`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits_from!(value::TwoTerminalGenericHVDCLine, val) = value.active_power_limits_from = set_value(value, Val(:active_power_limits_from), val, Val(:mva)) -"""Set [`TwoTerminalGenericHVDCLine`](@ref) `active_power_limits_to`.""" +"""Set [`TwoTerminalGenericHVDCLine`](@ref) `active_power_limits_to`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits_to!(value::TwoTerminalGenericHVDCLine, val) = value.active_power_limits_to = set_value(value, Val(:active_power_limits_to), val, Val(:mva)) -"""Set [`TwoTerminalGenericHVDCLine`](@ref) `reactive_power_limits_from`.""" +"""Set [`TwoTerminalGenericHVDCLine`](@ref) `reactive_power_limits_from`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits_from!(value::TwoTerminalGenericHVDCLine, val) = value.reactive_power_limits_from = set_value(value, Val(:reactive_power_limits_from), val, Val(:mva)) -"""Set [`TwoTerminalGenericHVDCLine`](@ref) `reactive_power_limits_to`.""" +"""Set [`TwoTerminalGenericHVDCLine`](@ref) `reactive_power_limits_to`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits_to!(value::TwoTerminalGenericHVDCLine, val) = value.reactive_power_limits_to = set_value(value, Val(:reactive_power_limits_to), val, Val(:mva)) """Set [`TwoTerminalGenericHVDCLine`](@ref) `loss`.""" set_loss!(value::TwoTerminalGenericHVDCLine, val) = value.loss = val diff --git a/src/models/generated/TwoTerminalLCCLine.jl b/src/models/generated/TwoTerminalLCCLine.jl index 3ff7f2ef7e..2123e3f62f 100644 --- a/src/models/generated/TwoTerminalLCCLine.jl +++ b/src/models/generated/TwoTerminalLCCLine.jl @@ -241,8 +241,9 @@ get_name(value::TwoTerminalLCCLine) = value.name get_available(value::TwoTerminalLCCLine) = value.available """Get [`TwoTerminalLCCLine`](@ref) `arc`.""" get_arc(value::TwoTerminalLCCLine) = value.arc -"""Get [`TwoTerminalLCCLine`](@ref) `active_power_flow`.""" -get_active_power_flow(value::TwoTerminalLCCLine) = get_value(value, Val(:active_power_flow), Val(:mva)) +"""Get [`TwoTerminalLCCLine`](@ref) `active_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow(value::TwoTerminalLCCLine) = get_value(value, Val(:active_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow(value::TwoTerminalLCCLine, units) = get_value(value, Val(:active_power_flow), Val(:mva), units) """Get [`TwoTerminalLCCLine`](@ref) `r`.""" get_r(value::TwoTerminalLCCLine) = value.r """Get [`TwoTerminalLCCLine`](@ref) `transfer_setpoint`.""" @@ -301,14 +302,18 @@ get_inverter_tap_step(value::TwoTerminalLCCLine) = value.inverter_tap_step get_inverter_extinction_angle(value::TwoTerminalLCCLine) = value.inverter_extinction_angle """Get [`TwoTerminalLCCLine`](@ref) `inverter_capacitor_reactance`.""" get_inverter_capacitor_reactance(value::TwoTerminalLCCLine) = value.inverter_capacitor_reactance -"""Get [`TwoTerminalLCCLine`](@ref) `active_power_limits_from`.""" -get_active_power_limits_from(value::TwoTerminalLCCLine) = get_value(value, Val(:active_power_limits_from), Val(:mva)) -"""Get [`TwoTerminalLCCLine`](@ref) `active_power_limits_to`.""" -get_active_power_limits_to(value::TwoTerminalLCCLine) = get_value(value, Val(:active_power_limits_to), Val(:mva)) -"""Get [`TwoTerminalLCCLine`](@ref) `reactive_power_limits_from`.""" -get_reactive_power_limits_from(value::TwoTerminalLCCLine) = get_value(value, Val(:reactive_power_limits_from), Val(:mva)) -"""Get [`TwoTerminalLCCLine`](@ref) `reactive_power_limits_to`.""" -get_reactive_power_limits_to(value::TwoTerminalLCCLine) = get_value(value, Val(:reactive_power_limits_to), Val(:mva)) +"""Get [`TwoTerminalLCCLine`](@ref) `active_power_limits_from`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits_from(value::TwoTerminalLCCLine) = get_value(value, Val(:active_power_limits_from), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits_from(value::TwoTerminalLCCLine, units) = get_value(value, Val(:active_power_limits_from), Val(:mva), units) +"""Get [`TwoTerminalLCCLine`](@ref) `active_power_limits_to`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits_to(value::TwoTerminalLCCLine) = get_value(value, Val(:active_power_limits_to), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits_to(value::TwoTerminalLCCLine, units) = get_value(value, Val(:active_power_limits_to), Val(:mva), units) +"""Get [`TwoTerminalLCCLine`](@ref) `reactive_power_limits_from`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits_from(value::TwoTerminalLCCLine) = get_value(value, Val(:reactive_power_limits_from), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits_from(value::TwoTerminalLCCLine, units) = get_value(value, Val(:reactive_power_limits_from), Val(:mva), units) +"""Get [`TwoTerminalLCCLine`](@ref) `reactive_power_limits_to`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits_to(value::TwoTerminalLCCLine) = get_value(value, Val(:reactive_power_limits_to), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits_to(value::TwoTerminalLCCLine, units) = get_value(value, Val(:reactive_power_limits_to), Val(:mva), units) """Get [`TwoTerminalLCCLine`](@ref) `loss`.""" get_loss(value::TwoTerminalLCCLine) = value.loss """Get [`TwoTerminalLCCLine`](@ref) `services`.""" @@ -322,7 +327,7 @@ get_internal(value::TwoTerminalLCCLine) = value.internal set_available!(value::TwoTerminalLCCLine, val) = value.available = val """Set [`TwoTerminalLCCLine`](@ref) `arc`.""" set_arc!(value::TwoTerminalLCCLine, val) = value.arc = val -"""Set [`TwoTerminalLCCLine`](@ref) `active_power_flow`.""" +"""Set [`TwoTerminalLCCLine`](@ref) `active_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow!(value::TwoTerminalLCCLine, val) = value.active_power_flow = set_value(value, Val(:active_power_flow), val, Val(:mva)) """Set [`TwoTerminalLCCLine`](@ref) `r`.""" set_r!(value::TwoTerminalLCCLine, val) = value.r = val @@ -382,13 +387,13 @@ set_inverter_tap_step!(value::TwoTerminalLCCLine, val) = value.inverter_tap_step set_inverter_extinction_angle!(value::TwoTerminalLCCLine, val) = value.inverter_extinction_angle = val """Set [`TwoTerminalLCCLine`](@ref) `inverter_capacitor_reactance`.""" set_inverter_capacitor_reactance!(value::TwoTerminalLCCLine, val) = value.inverter_capacitor_reactance = val -"""Set [`TwoTerminalLCCLine`](@ref) `active_power_limits_from`.""" +"""Set [`TwoTerminalLCCLine`](@ref) `active_power_limits_from`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits_from!(value::TwoTerminalLCCLine, val) = value.active_power_limits_from = set_value(value, Val(:active_power_limits_from), val, Val(:mva)) -"""Set [`TwoTerminalLCCLine`](@ref) `active_power_limits_to`.""" +"""Set [`TwoTerminalLCCLine`](@ref) `active_power_limits_to`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits_to!(value::TwoTerminalLCCLine, val) = value.active_power_limits_to = set_value(value, Val(:active_power_limits_to), val, Val(:mva)) -"""Set [`TwoTerminalLCCLine`](@ref) `reactive_power_limits_from`.""" +"""Set [`TwoTerminalLCCLine`](@ref) `reactive_power_limits_from`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits_from!(value::TwoTerminalLCCLine, val) = value.reactive_power_limits_from = set_value(value, Val(:reactive_power_limits_from), val, Val(:mva)) -"""Set [`TwoTerminalLCCLine`](@ref) `reactive_power_limits_to`.""" +"""Set [`TwoTerminalLCCLine`](@ref) `reactive_power_limits_to`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits_to!(value::TwoTerminalLCCLine, val) = value.reactive_power_limits_to = set_value(value, Val(:reactive_power_limits_to), val, Val(:mva)) """Set [`TwoTerminalLCCLine`](@ref) `loss`.""" set_loss!(value::TwoTerminalLCCLine, val) = value.loss = val diff --git a/src/models/generated/TwoTerminalVSCLine.jl b/src/models/generated/TwoTerminalVSCLine.jl index 5a5221bca9..82ef32d637 100644 --- a/src/models/generated/TwoTerminalVSCLine.jl +++ b/src/models/generated/TwoTerminalVSCLine.jl @@ -206,20 +206,25 @@ get_name(value::TwoTerminalVSCLine) = value.name get_available(value::TwoTerminalVSCLine) = value.available """Get [`TwoTerminalVSCLine`](@ref) `arc`.""" get_arc(value::TwoTerminalVSCLine) = value.arc -"""Get [`TwoTerminalVSCLine`](@ref) `active_power_flow`.""" -get_active_power_flow(value::TwoTerminalVSCLine) = get_value(value, Val(:active_power_flow), Val(:mva)) -"""Get [`TwoTerminalVSCLine`](@ref) `rating`.""" -get_rating(value::TwoTerminalVSCLine) = get_value(value, Val(:rating), Val(:mva)) -"""Get [`TwoTerminalVSCLine`](@ref) `active_power_limits_from`.""" -get_active_power_limits_from(value::TwoTerminalVSCLine) = get_value(value, Val(:active_power_limits_from), Val(:mva)) -"""Get [`TwoTerminalVSCLine`](@ref) `active_power_limits_to`.""" -get_active_power_limits_to(value::TwoTerminalVSCLine) = get_value(value, Val(:active_power_limits_to), Val(:mva)) +"""Get [`TwoTerminalVSCLine`](@ref) `active_power_flow`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_flow(value::TwoTerminalVSCLine) = get_value(value, Val(:active_power_flow), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_flow(value::TwoTerminalVSCLine, units) = get_value(value, Val(:active_power_flow), Val(:mva), units) +"""Get [`TwoTerminalVSCLine`](@ref) `rating`. Returns value in the system's unit setting (natural units by default).""" +get_rating(value::TwoTerminalVSCLine) = get_value(value, Val(:rating), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating(value::TwoTerminalVSCLine, units) = get_value(value, Val(:rating), Val(:mva), units) +"""Get [`TwoTerminalVSCLine`](@ref) `active_power_limits_from`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits_from(value::TwoTerminalVSCLine) = get_value(value, Val(:active_power_limits_from), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits_from(value::TwoTerminalVSCLine, units) = get_value(value, Val(:active_power_limits_from), Val(:mva), units) +"""Get [`TwoTerminalVSCLine`](@ref) `active_power_limits_to`. Returns value in the system's unit setting (natural units by default).""" +get_active_power_limits_to(value::TwoTerminalVSCLine) = get_value(value, Val(:active_power_limits_to), Val(:mva), _get_system_units(value, Val(:mva))) +get_active_power_limits_to(value::TwoTerminalVSCLine, units) = get_value(value, Val(:active_power_limits_to), Val(:mva), units) """Get [`TwoTerminalVSCLine`](@ref) `g`.""" get_g(value::TwoTerminalVSCLine) = value.g """Get [`TwoTerminalVSCLine`](@ref) `dc_current`.""" get_dc_current(value::TwoTerminalVSCLine) = value.dc_current -"""Get [`TwoTerminalVSCLine`](@ref) `reactive_power_from`.""" -get_reactive_power_from(value::TwoTerminalVSCLine) = get_value(value, Val(:reactive_power_from), Val(:mva)) +"""Get [`TwoTerminalVSCLine`](@ref) `reactive_power_from`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_from(value::TwoTerminalVSCLine) = get_value(value, Val(:reactive_power_from), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_from(value::TwoTerminalVSCLine, units) = get_value(value, Val(:reactive_power_from), Val(:mva), units) """Get [`TwoTerminalVSCLine`](@ref) `dc_voltage_control_from`.""" get_dc_voltage_control_from(value::TwoTerminalVSCLine) = value.dc_voltage_control_from """Get [`TwoTerminalVSCLine`](@ref) `ac_voltage_control_from`.""" @@ -232,16 +237,19 @@ get_ac_setpoint_from(value::TwoTerminalVSCLine) = value.ac_setpoint_from get_converter_loss_from(value::TwoTerminalVSCLine) = value.converter_loss_from """Get [`TwoTerminalVSCLine`](@ref) `max_dc_current_from`.""" get_max_dc_current_from(value::TwoTerminalVSCLine) = value.max_dc_current_from -"""Get [`TwoTerminalVSCLine`](@ref) `rating_from`.""" -get_rating_from(value::TwoTerminalVSCLine) = get_value(value, Val(:rating_from), Val(:mva)) -"""Get [`TwoTerminalVSCLine`](@ref) `reactive_power_limits_from`.""" -get_reactive_power_limits_from(value::TwoTerminalVSCLine) = get_value(value, Val(:reactive_power_limits_from), Val(:mva)) +"""Get [`TwoTerminalVSCLine`](@ref) `rating_from`. Returns value in the system's unit setting (natural units by default).""" +get_rating_from(value::TwoTerminalVSCLine) = get_value(value, Val(:rating_from), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_from(value::TwoTerminalVSCLine, units) = get_value(value, Val(:rating_from), Val(:mva), units) +"""Get [`TwoTerminalVSCLine`](@ref) `reactive_power_limits_from`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits_from(value::TwoTerminalVSCLine) = get_value(value, Val(:reactive_power_limits_from), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits_from(value::TwoTerminalVSCLine, units) = get_value(value, Val(:reactive_power_limits_from), Val(:mva), units) """Get [`TwoTerminalVSCLine`](@ref) `power_factor_weighting_fraction_from`.""" get_power_factor_weighting_fraction_from(value::TwoTerminalVSCLine) = value.power_factor_weighting_fraction_from """Get [`TwoTerminalVSCLine`](@ref) `voltage_limits_from`.""" get_voltage_limits_from(value::TwoTerminalVSCLine) = value.voltage_limits_from -"""Get [`TwoTerminalVSCLine`](@ref) `reactive_power_to`.""" -get_reactive_power_to(value::TwoTerminalVSCLine) = get_value(value, Val(:reactive_power_to), Val(:mva)) +"""Get [`TwoTerminalVSCLine`](@ref) `reactive_power_to`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_to(value::TwoTerminalVSCLine) = get_value(value, Val(:reactive_power_to), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_to(value::TwoTerminalVSCLine, units) = get_value(value, Val(:reactive_power_to), Val(:mva), units) """Get [`TwoTerminalVSCLine`](@ref) `dc_voltage_control_to`.""" get_dc_voltage_control_to(value::TwoTerminalVSCLine) = value.dc_voltage_control_to """Get [`TwoTerminalVSCLine`](@ref) `ac_voltage_control_to`.""" @@ -254,10 +262,12 @@ get_ac_setpoint_to(value::TwoTerminalVSCLine) = value.ac_setpoint_to get_converter_loss_to(value::TwoTerminalVSCLine) = value.converter_loss_to """Get [`TwoTerminalVSCLine`](@ref) `max_dc_current_to`.""" get_max_dc_current_to(value::TwoTerminalVSCLine) = value.max_dc_current_to -"""Get [`TwoTerminalVSCLine`](@ref) `rating_to`.""" -get_rating_to(value::TwoTerminalVSCLine) = get_value(value, Val(:rating_to), Val(:mva)) -"""Get [`TwoTerminalVSCLine`](@ref) `reactive_power_limits_to`.""" -get_reactive_power_limits_to(value::TwoTerminalVSCLine) = get_value(value, Val(:reactive_power_limits_to), Val(:mva)) +"""Get [`TwoTerminalVSCLine`](@ref) `rating_to`. Returns value in the system's unit setting (natural units by default).""" +get_rating_to(value::TwoTerminalVSCLine) = get_value(value, Val(:rating_to), Val(:mva), _get_system_units(value, Val(:mva))) +get_rating_to(value::TwoTerminalVSCLine, units) = get_value(value, Val(:rating_to), Val(:mva), units) +"""Get [`TwoTerminalVSCLine`](@ref) `reactive_power_limits_to`. Returns value in the system's unit setting (natural units by default).""" +get_reactive_power_limits_to(value::TwoTerminalVSCLine) = get_value(value, Val(:reactive_power_limits_to), Val(:mva), _get_system_units(value, Val(:mva))) +get_reactive_power_limits_to(value::TwoTerminalVSCLine, units) = get_value(value, Val(:reactive_power_limits_to), Val(:mva), units) """Get [`TwoTerminalVSCLine`](@ref) `power_factor_weighting_fraction_to`.""" get_power_factor_weighting_fraction_to(value::TwoTerminalVSCLine) = value.power_factor_weighting_fraction_to """Get [`TwoTerminalVSCLine`](@ref) `voltage_limits_to`.""" @@ -273,19 +283,19 @@ get_internal(value::TwoTerminalVSCLine) = value.internal set_available!(value::TwoTerminalVSCLine, val) = value.available = val """Set [`TwoTerminalVSCLine`](@ref) `arc`.""" set_arc!(value::TwoTerminalVSCLine, val) = value.arc = val -"""Set [`TwoTerminalVSCLine`](@ref) `active_power_flow`.""" +"""Set [`TwoTerminalVSCLine`](@ref) `active_power_flow`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_flow!(value::TwoTerminalVSCLine, val) = value.active_power_flow = set_value(value, Val(:active_power_flow), val, Val(:mva)) -"""Set [`TwoTerminalVSCLine`](@ref) `rating`.""" +"""Set [`TwoTerminalVSCLine`](@ref) `rating`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating!(value::TwoTerminalVSCLine, val) = value.rating = set_value(value, Val(:rating), val, Val(:mva)) -"""Set [`TwoTerminalVSCLine`](@ref) `active_power_limits_from`.""" +"""Set [`TwoTerminalVSCLine`](@ref) `active_power_limits_from`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits_from!(value::TwoTerminalVSCLine, val) = value.active_power_limits_from = set_value(value, Val(:active_power_limits_from), val, Val(:mva)) -"""Set [`TwoTerminalVSCLine`](@ref) `active_power_limits_to`.""" +"""Set [`TwoTerminalVSCLine`](@ref) `active_power_limits_to`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_active_power_limits_to!(value::TwoTerminalVSCLine, val) = value.active_power_limits_to = set_value(value, Val(:active_power_limits_to), val, Val(:mva)) """Set [`TwoTerminalVSCLine`](@ref) `g`.""" set_g!(value::TwoTerminalVSCLine, val) = value.g = val """Set [`TwoTerminalVSCLine`](@ref) `dc_current`.""" set_dc_current!(value::TwoTerminalVSCLine, val) = value.dc_current = val -"""Set [`TwoTerminalVSCLine`](@ref) `reactive_power_from`.""" +"""Set [`TwoTerminalVSCLine`](@ref) `reactive_power_from`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_from!(value::TwoTerminalVSCLine, val) = value.reactive_power_from = set_value(value, Val(:reactive_power_from), val, Val(:mva)) """Set [`TwoTerminalVSCLine`](@ref) `dc_voltage_control_from`.""" set_dc_voltage_control_from!(value::TwoTerminalVSCLine, val) = value.dc_voltage_control_from = val @@ -299,15 +309,15 @@ set_ac_setpoint_from!(value::TwoTerminalVSCLine, val) = value.ac_setpoint_from = set_converter_loss_from!(value::TwoTerminalVSCLine, val) = value.converter_loss_from = val """Set [`TwoTerminalVSCLine`](@ref) `max_dc_current_from`.""" set_max_dc_current_from!(value::TwoTerminalVSCLine, val) = value.max_dc_current_from = val -"""Set [`TwoTerminalVSCLine`](@ref) `rating_from`.""" +"""Set [`TwoTerminalVSCLine`](@ref) `rating_from`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_from!(value::TwoTerminalVSCLine, val) = value.rating_from = set_value(value, Val(:rating_from), val, Val(:mva)) -"""Set [`TwoTerminalVSCLine`](@ref) `reactive_power_limits_from`.""" +"""Set [`TwoTerminalVSCLine`](@ref) `reactive_power_limits_from`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits_from!(value::TwoTerminalVSCLine, val) = value.reactive_power_limits_from = set_value(value, Val(:reactive_power_limits_from), val, Val(:mva)) """Set [`TwoTerminalVSCLine`](@ref) `power_factor_weighting_fraction_from`.""" set_power_factor_weighting_fraction_from!(value::TwoTerminalVSCLine, val) = value.power_factor_weighting_fraction_from = val """Set [`TwoTerminalVSCLine`](@ref) `voltage_limits_from`.""" set_voltage_limits_from!(value::TwoTerminalVSCLine, val) = value.voltage_limits_from = val -"""Set [`TwoTerminalVSCLine`](@ref) `reactive_power_to`.""" +"""Set [`TwoTerminalVSCLine`](@ref) `reactive_power_to`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_to!(value::TwoTerminalVSCLine, val) = value.reactive_power_to = set_value(value, Val(:reactive_power_to), val, Val(:mva)) """Set [`TwoTerminalVSCLine`](@ref) `dc_voltage_control_to`.""" set_dc_voltage_control_to!(value::TwoTerminalVSCLine, val) = value.dc_voltage_control_to = val @@ -321,9 +331,9 @@ set_ac_setpoint_to!(value::TwoTerminalVSCLine, val) = value.ac_setpoint_to = val set_converter_loss_to!(value::TwoTerminalVSCLine, val) = value.converter_loss_to = val """Set [`TwoTerminalVSCLine`](@ref) `max_dc_current_to`.""" set_max_dc_current_to!(value::TwoTerminalVSCLine, val) = value.max_dc_current_to = val -"""Set [`TwoTerminalVSCLine`](@ref) `rating_to`.""" +"""Set [`TwoTerminalVSCLine`](@ref) `rating_to`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_rating_to!(value::TwoTerminalVSCLine, val) = value.rating_to = set_value(value, Val(:rating_to), val, Val(:mva)) -"""Set [`TwoTerminalVSCLine`](@ref) `reactive_power_limits_to`.""" +"""Set [`TwoTerminalVSCLine`](@ref) `reactive_power_limits_to`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_reactive_power_limits_to!(value::TwoTerminalVSCLine, val) = value.reactive_power_limits_to = set_value(value, Val(:reactive_power_limits_to), val, Val(:mva)) """Set [`TwoTerminalVSCLine`](@ref) `power_factor_weighting_fraction_to`.""" set_power_factor_weighting_fraction_to!(value::TwoTerminalVSCLine, val) = value.power_factor_weighting_fraction_to = val diff --git a/src/models/generated/VariableReserveNonSpinning.jl b/src/models/generated/VariableReserveNonSpinning.jl index 74c369b671..ef9463d3f6 100644 --- a/src/models/generated/VariableReserveNonSpinning.jl +++ b/src/models/generated/VariableReserveNonSpinning.jl @@ -88,8 +88,9 @@ get_name(value::VariableReserveNonSpinning) = value.name get_available(value::VariableReserveNonSpinning) = value.available """Get [`VariableReserveNonSpinning`](@ref) `time_frame`.""" get_time_frame(value::VariableReserveNonSpinning) = value.time_frame -"""Get [`VariableReserveNonSpinning`](@ref) `requirement`.""" -get_requirement(value::VariableReserveNonSpinning) = get_value(value, Val(:requirement), Val(:mva)) +"""Get [`VariableReserveNonSpinning`](@ref) `requirement`. Returns value in the system's unit setting (natural units by default).""" +get_requirement(value::VariableReserveNonSpinning) = get_value(value, Val(:requirement), Val(:mva), _get_system_units(value, Val(:mva))) +get_requirement(value::VariableReserveNonSpinning, units) = get_value(value, Val(:requirement), Val(:mva), units) """Get [`VariableReserveNonSpinning`](@ref) `sustained_time`.""" get_sustained_time(value::VariableReserveNonSpinning) = value.sustained_time """Get [`VariableReserveNonSpinning`](@ref) `max_output_fraction`.""" @@ -107,7 +108,7 @@ get_internal(value::VariableReserveNonSpinning) = value.internal set_available!(value::VariableReserveNonSpinning, val) = value.available = val """Set [`VariableReserveNonSpinning`](@ref) `time_frame`.""" set_time_frame!(value::VariableReserveNonSpinning, val) = value.time_frame = val -"""Set [`VariableReserveNonSpinning`](@ref) `requirement`.""" +"""Set [`VariableReserveNonSpinning`](@ref) `requirement`. Value must have units (e.g., `30.0MW`, `0.5DU`).""" set_requirement!(value::VariableReserveNonSpinning, val) = value.requirement = set_value(value, Val(:requirement), val, Val(:mva)) """Set [`VariableReserveNonSpinning`](@ref) `sustained_time`.""" set_sustained_time!(value::VariableReserveNonSpinning, val) = value.sustained_time = val diff --git a/src/models/supplemental_accessors.jl b/src/models/supplemental_accessors.jl index 971569b521..8bf808d207 100644 --- a/src/models/supplemental_accessors.jl +++ b/src/models/supplemental_accessors.jl @@ -167,6 +167,13 @@ function get_max_active_power(d::T) where {T <: StaticInjection} return get_active_power_limits(d).max end +""" +Return the max active power for a device with explicit units specified. +""" +function get_max_active_power(d::T, units) where {T <: StaticInjection} + return get_active_power_limits(d, units).max +end + """ Return the max reactive power for a device as the max field in the named tuple returned by [`get_reactive_power_limits`](@ref). """ @@ -225,6 +232,17 @@ function get_max_active_power(d::Union{InterruptibleStandardLoad, StandardLoad}) return total_load end +""" +Calculate the maximum active power for a [`StandardLoad`](@ref) or [`InterruptibleStandardLoad`](@ref) + with explicit units specified. +""" +function get_max_active_power(d::Union{InterruptibleStandardLoad, StandardLoad}, units) + total_load = get_max_constant_active_power(d, units) + total_load += get_max_impedance_active_power(d, units) + total_load += get_max_current_active_power(d, units) + return total_load +end + """ Get the maximum storage capacity for HydroReservoir. """ diff --git a/src/parsers/power_system_table_data.jl b/src/parsers/power_system_table_data.jl index 0ea686b055..0eb27732e0 100644 --- a/src/parsers/power_system_table_data.jl +++ b/src/parsers/power_system_table_data.jl @@ -1385,14 +1385,14 @@ function make_thermal_generator_multistart( available = get_available(thermal_gen), status = get_status(thermal_gen), bus = get_bus(thermal_gen), - active_power = get_active_power(thermal_gen), - reactive_power = get_reactive_power(thermal_gen), - rating = get_rating(thermal_gen), + active_power = thermal_gen.active_power, + reactive_power = thermal_gen.reactive_power, + rating = thermal_gen.rating, prime_mover_type = get_prime_mover_type(thermal_gen), fuel = get_fuel(thermal_gen), - active_power_limits = get_active_power_limits(thermal_gen), - reactive_power_limits = get_reactive_power_limits(thermal_gen), - ramp_limits = get_ramp_limits(thermal_gen), + active_power_limits = thermal_gen.active_power_limits, + reactive_power_limits = thermal_gen.reactive_power_limits, + ramp_limits = thermal_gen.ramp_limits, power_trajectory = power_trajectory, time_limits = get_time_limits(thermal_gen), start_time_limits = startup_timelimits, diff --git a/src/parsers/psse_dynamic_data.jl b/src/parsers/psse_dynamic_data.jl index af16df3640..57dcf90a36 100644 --- a/src/parsers/psse_dynamic_data.jl +++ b/src/parsers/psse_dynamic_data.jl @@ -126,8 +126,8 @@ function _make_source(g::StaticInjection, r::Float64, x::Float64, sys_base::Floa name = get_name(g), available = true, bus = get_bus(g), - active_power = get_active_power(g), - reactive_power = get_reactive_power(g), + active_power = g.active_power, + reactive_power = g.reactive_power, R_th = r_sysbase, X_th = x_sysbase, ) diff --git a/src/utils/IO/system_checks.jl b/src/utils/IO/system_checks.jl index 815b7f8912..72e632a611 100644 --- a/src/utils/IO/system_checks.jl +++ b/src/utils/IO/system_checks.jl @@ -1,6 +1,20 @@ ### Utility Functions needed for the construction of the Power System, mostly used for consistency checking #### +""" +Sum a getter over components in MW, returning zero(DEFAULT_POWER_UNITS_TYPE) if empty. +The second argument can be a getter function (which will be called with MW units), +or a tuple of (getter, units) to specify different units. +""" +function _sum_or_zero(getter::Function, components) + if isempty(components) + return zero(DEFAULT_POWER_UNITS_TYPE) + else + # Always request MW to ensure consistent units + return sum(c -> getter(c, IS.MW), components) + end +end + ## Check that all the buses have a type defintion and that bus types are consistent with generator connections ## function buscheck(sys::System) @@ -87,28 +101,25 @@ Checks the system for sum(generator ratings) >= sum(load ratings). - `sys::System`: system """ function total_load_rating(sys::System) - base_power = get_base_power(sys) - controllable_loads = get_components(ControllableLoad, sys) - cl = - if isempty(controllable_loads) - 0.0 - else - sum(get_max_active_power.(controllable_loads)) * base_power - end + cl = _sum_or_zero(get_max_active_power, get_components(ControllableLoad, sys)) @debug "System has $cl MW of ControllableLoad" _group = IS.LOG_GROUP_SYSTEM_CHECKS - static_loads = get_components(StaticLoad, sys) - sl = isempty(static_loads) ? 0.0 : sum(get_max_active_power.(static_loads)) * base_power + + sl = _sum_or_zero(get_max_active_power, get_components(StaticLoad, sys)) @debug "System has $sl MW of StaticLoad" _group = IS.LOG_GROUP_SYSTEM_CHECKS + # Total load calculation assumes P = Real(V^2/Y) assuming V=1.0 + # Note: get_base_voltage and get_Y return raw Float64 values (kV and p.u. respectively) fa_loads = get_components(FixedAdmittance, sys) fa = if isempty(fa_loads) - 0.0 + zero(DEFAULT_POWER_UNITS_TYPE) else - sum(real.(get_base_voltage.(get_bus.(fa_loads)) .^ 2 ./ get_Y.(fa_loads))) + sum(real.(get_base_voltage.(get_bus.(fa_loads)) .^ 2 ./ get_Y.(fa_loads))) * + IS.MW end @debug "System has $fa MW of FixedAdmittance assuming admittance values are in P.U." _group = IS.LOG_GROUP_SYSTEM_CHECKS + total_load = cl + sl + fa @debug "Total System Load: $total_load" _group = IS.LOG_GROUP_SYSTEM_CHECKS return total_load @@ -123,15 +134,13 @@ Sum of system generator and storage ratings. - `sys::System`: system """ function total_capacity_rating(sys::System) - total = 0 + total = zero(DEFAULT_POWER_UNITS_TYPE) + for component_type in (Generator, Storage) - components = get_components(component_type, sys) - if !isempty(components) - component_total = sum(get_rating.(components)) * get_base_power(sys) - @debug "total rating for $component_type = $component_total" _group = - IS.LOG_GROUP_SYSTEM_CHECKS - total += component_total - end + component_total = _sum_or_zero(get_rating, get_components(component_type, sys)) + @debug "total rating for $component_type = $component_total" _group = + IS.LOG_GROUP_SYSTEM_CHECKS + total += component_total end @debug "Total System capacity: $total" _group = IS.LOG_GROUP_SYSTEM_CHECKS diff --git a/test/Project.toml b/test/Project.toml index 1b73ad4461..1e45e952a7 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -18,6 +18,7 @@ SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" TimeSeries = "9e3dc215-6440-5c97-bce1-76c03772f85e" UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" +Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" YAML = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6" [compat] diff --git a/test/common.jl b/test/common.jl index eaaaf22c6d..9dd4f90b25 100644 --- a/test/common.jl +++ b/test/common.jl @@ -246,6 +246,8 @@ function create_system_with_subsystems() end function test_accessors(component) + # FIXME this fails for some components, with "not attached to a system. Cannot determine base power." + # presumably we're calling the getter with a unit setting that requires base power. ps_type = typeof(component) for (field_name, field_type) in zip(fieldnames(ps_type), fieldtypes(ps_type)) diff --git a/test/runtests.jl b/test/runtests.jl index b2795d84a8..38faae336a 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -3,6 +3,7 @@ using Logging using DataStructures using Dates using LinearAlgebra +using Unitful import TimeSeries import InteractiveUtils import JSON3 diff --git a/test/test_devices.jl b/test/test_devices.jl index f5a4e93b0e..7abbfe9eee 100644 --- a/test/test_devices.jl +++ b/test/test_devices.jl @@ -5,7 +5,7 @@ @test get_max_active_power(th) == get_active_power_limits(th).max @test get_max_active_power(re) <= get_rating(re) - @test isa(get_max_reactive_power(re), Float64) + @test isa(get_max_reactive_power(re), Number) @test_throws MethodError get_max_active_power(TestDevice("foo")) @test_throws ArgumentError get_max_active_power(TestInjector("foo")) @@ -78,13 +78,19 @@ end dir_path = mktempdir() to_json(sys, joinpath(dir_path, "test_RTS_GMLC_sys.json")) sys2 = System(joinpath(dir_path, "test_RTS_GMLC_sys.json")) - @test get_active_power(get_component(ShiftablePowerLoad, sys2, "ShiftableLoadBus4")) == - 0.10 - @test get_active_power(get_component(InterruptiblePowerLoad, sys2, "IloadBus")) == 0.10 + @test get_active_power( + get_component(ShiftablePowerLoad, sys2, "ShiftableLoadBus4"), + DU, + ) == + 0.10 * DU + @test get_active_power(get_component(InterruptiblePowerLoad, sys2, "IloadBus"), DU) == + 0.10 * DU @test get_active_power_limits( get_component(ShiftablePowerLoad, sys2, "ShiftableLoadBus4"), - ).min == 0.03 + DU, + ).min == 0.03 * DU @test get_active_power_limits( get_component(ShiftablePowerLoad, sys2, "ShiftableLoadBus4"), - ).max == 0.10 + DU, + ).max == 0.10 * DU end diff --git a/test/test_parse_psse.jl b/test/test_parse_psse.jl index c37bcd0128..b852f9ba52 100644 --- a/test/test_parse_psse.jl +++ b/test/test_parse_psse.jl @@ -25,37 +25,40 @@ end @testset "PSSE Component Parsing" begin @info "Testing Load Parsing" mp_sys = build_system(MatpowerTestSystems, "matpower_case24_sys") - @test get_active_power(get_component(PowerLoad, mp_sys, "bus14")) == 1.94 - @test get_max_reactive_power(get_component(PowerLoad, mp_sys, "bus14")) == 0.39 + @test get_active_power(get_component(PowerLoad, mp_sys, "bus14"), DU) == 1.94DU + @test get_max_reactive_power(get_component(PowerLoad, mp_sys, "bus14"), DU) == 0.39DU @test get_conformity(get_component(PowerLoad, mp_sys, "bus14")) == LoadConformity.CONFORMING sys = build_system(PSYTestSystems, "psse_240_parsing_sys") # current/imedance_power read in natural units during parsing - @test get_current_active_power(get_component(StandardLoad, sys, "load10021")) == 2.2371 - @test get_impedance_reactive_power(get_component(StandardLoad, sys, "load10021")) == - -5.83546 + @test get_current_active_power(get_component(StandardLoad, sys, "load10021"), DU) == + 2.2371DU + @test get_impedance_reactive_power(get_component(StandardLoad, sys, "load10021"), DU) == + -5.83546DU @test get_conformity(get_component(StandardLoad, sys, "load10021")) == LoadConformity.CONFORMING sys2 = build_system(PSYTestSystems, "psse_Benchmark_4ger_33_2015_sys") # Constant_active/reactive_power read in pu during parsing - @test get_constant_active_power(get_component(StandardLoad, sys2, "load71")) == 9.67 - @test get_constant_reactive_power(get_component(StandardLoad, sys2, "load71")) == 1.0 + @test get_constant_active_power(get_component(StandardLoad, sys2, "load71"), DU) == + 9.67DU + @test get_constant_reactive_power(get_component(StandardLoad, sys2, "load71"), DU) == + 1.0DU @test get_conformity(get_component(StandardLoad, sys2, "load71")) == LoadConformity.CONFORMING @info "Testing ZIP Load Parsing" wecc_sys = build_system(PSYTestSystems, "psse_240_parsing_sys") test_load1 = get_component(StandardLoad, wecc_sys, "load24091") - impedance_q = get_impedance_reactive_power(test_load1) + impedance_q = get_impedance_reactive_power(test_load1, DU) # Negative for capacitive loads - @test impedance_q < 0 - @test isapprox(impedance_q, -0.75; atol = 1e-4) + @test impedance_q < 0.0DU + @test isapprox(impedance_q, -0.75DU; atol = 1e-4) test_load2 = get_component(StandardLoad, wecc_sys, "load10031") - impedance_q = get_impedance_reactive_power(test_load2) + impedance_q = get_impedance_reactive_power(test_load2, DU) # Positive for inductance loads - @test impedance_q > 0 - @test isapprox(impedance_q, 3.873; atol = 1e-3) + @test impedance_q > 0.0DU + @test isapprox(impedance_q, 3.873DU; atol = 1e-3) @info "Testing Generator Parsing" @test get_status(get_component(ThermalStandard, sys, "generator-2438-ND")) == 0 @@ -83,9 +86,9 @@ end tw3s = get_components(Transformer3W, sys4) @test length(tw3s) == 1 tw3 = only(tw3s) - @test isapprox(get_b(tw3), 0.0036144) + @test isapprox(get_b(tw3, SU), 0.00251SU; atol = 1e-5) @test get_primary_turns_ratio(tw3) == 1.5 - @test get_rating(tw3) == 0.0 + @test get_rating(tw3, DU) == 0.0DU @test get_available( get_component(Transformer3W, sys5, "FAV SPOT 01-FAV SPOT 02-FAV SPOT 03-i_A"), @@ -93,7 +96,8 @@ end @test get_r_primary( get_component(Transformer3W, sys5, "FAV SPOT 01-FAV SPOT 02-FAV SPOT 03-i_C"), - ) == 0.00225 + DU, + ) == 0.00225DU @test haskey( get_ext( get_component(Transformer3W, sys5, "FAV SPOT 01-FAV SPOT 02-FAV SPOT 03-i_C"), @@ -167,7 +171,7 @@ end @info "Testing VSC Parser" vsc = only(get_components(TwoTerminalVSCLine, sys4)) - @test get_active_power_flow(vsc) == -0.2 + @test get_active_power_flow(vsc, DU) == -0.2DU @test get_dc_setpoint_to(vsc) == -20.0 @info "Testing Load Zone Formatter" @@ -209,8 +213,8 @@ end sc_gen1 = collect(get_components(SynchronousCondenser, sys))[1] @test !hasproperty(sc_gen1, :active_power) - @test get_rating(sc_gen1) >= 0.0 - @test get_reactive_power(sc_gen1) != 0.0 + @test get_rating(sc_gen1, DU) >= 0.0DU + @test get_reactive_power(sc_gen1, DU) != 0.0DU @test get_available(sc_gen1) == true @test get_bustype(get_bus(sc_gen1)) == ACBusTypes.PV end @@ -282,7 +286,7 @@ end @test length(lccs) == 1 lcc = only(lccs) @test get_transfer_setpoint(lcc) == 20.0 - @test get_active_power_flow(lcc) == 0.2 + @test get_active_power_flow(lcc, DU) == 0.2DU @test isapprox(get_rectifier_delay_angle_limits(lcc).max, pi / 2) @test isapprox(get_inverter_extinction_angle_limits(lcc).max, pi / 2) @test get_power_mode(lcc) @@ -499,8 +503,8 @@ end @test length(all_isl) == 4 @test get_available(isl) == true @test isl isa InterruptibleStandardLoad - @test get_constant_active_power(isl) == 0.11485 - @test get_max_active_power(isl) == 0.11485 + @test get_constant_active_power(isl, DU) == 0.11485DU + @test get_max_active_power(isl, DU) == 0.11485DU end @testset "Test conversion zero impedance branch to switch" begin @@ -511,7 +515,11 @@ end ) @test length(get_components(DiscreteControlledACBranch, sys)) == 6 @test length( - get_components(x -> get_r(x) == get_x(x) == 0.0, DiscreteControlledACBranch, sys), + get_components( + x -> get_r(x, DU) == get_x(x, DU) == 0.0DU, + DiscreteControlledACBranch, + sys, + ), ) == 4 end @@ -524,7 +532,7 @@ end trf_3w = collect(get_components(Transformer3W, sys))[1] @test get_available(trf_3w) == true @test get_available_tertiary(trf_3w) == true - @test get_x_tertiary(trf_3w) == 1e-4 + @test get_x_tertiary(trf_3w) == 1.5e-5SU end @testset "Test GeoJSON RFC 7946 Compliance" begin diff --git a/test/test_power_system_table_data.jl b/test/test_power_system_table_data.jl index e8868743fd..3d53c8a774 100644 --- a/test/test_power_system_table_data.jl +++ b/test/test_power_system_table_data.jl @@ -142,17 +142,17 @@ end end cdm_ac_branches = collect(get_components(ACBranch, cdmsys)) - @test get_rating(cdm_ac_branches[2]) == - get_rating(get_branch(mpsys, cdm_ac_branches[2])) - @test get_rating(cdm_ac_branches[6]) == - get_rating(get_branch(mpsys, cdm_ac_branches[6])) - @test get_rating(cdm_ac_branches[120]) == - get_rating(get_branch(mpsys, cdm_ac_branches[120])) + @test get_rating(cdm_ac_branches[2], SU) == + get_rating(get_branch(mpsys, cdm_ac_branches[2]), SU) + @test get_rating(cdm_ac_branches[6], SU) == + get_rating(get_branch(mpsys, cdm_ac_branches[6]), SU) + @test get_rating(cdm_ac_branches[120], SU) == + get_rating(get_branch(mpsys, cdm_ac_branches[120]), SU) cdm_dc_branches = collect(get_components(TwoTerminalGenericHVDCLine, cdmsys)) - @test get_active_power_limits_from(cdm_dc_branches[1]) == - get_active_power_limits_from(get_branch(mpsys, cdm_dc_branches[1])) + @test get_active_power_limits_from(cdm_dc_branches[1], SU) == + get_active_power_limits_from(get_branch(mpsys, cdm_dc_branches[1]), SU) end @test_logs (:error,) match_mode = :any min_level = Logging.Error consistency_test() end diff --git a/test/test_printing.jl b/test/test_printing.jl index 79a0c0434c..c217d04f4e 100644 --- a/test/test_printing.jl +++ b/test/test_printing.jl @@ -28,20 +28,41 @@ function are_type_and_fields_in_output(obj::T) where {T <: Component} continue end - # Account for the fact that type may be abstract. - actual_type = typeof(val) + # The show method uses getters, which may return unit-bearing values + # (e.g., "30.0 MW" instead of raw "0.3"). We call the getter to get + # the displayed value, then check that its numeric part appears in + # the output — this verifies the value is present without being + # tautological about exact formatting. + getter_name = Symbol("get_$name") + display_val = if hasproperty(PowerSystems, getter_name) + try + getproperty(PowerSystems, getter_name)(obj) + catch + val + end + else + val + end + + # Extract the numeric value for unit-bearing quantities so we check + # that the number itself appears in the output. + actual_type = typeof(display_val) if actual_type <: IS.InfrastructureSystemsType expected = string(actual_type) elseif actual_type <: Vector{<:Service} expected = string(actual_type) elseif actual_type <: Vector{<:IS.InfrastructureSystemsType} expected = string(actual_type) + elseif display_val isa Unitful.Quantity + expected = string(Unitful.ustrip(display_val)) + elseif display_val isa IS.RelativeQuantity + expected = string(IS.ustrip(display_val)) else - expected = string(val) + expected = string(display_val) end if !occursin(expected, custom) - @error "field's value is not in custom output" name custom + @error "field's value is not in custom output" name expected custom match = false end end diff --git a/test/test_system.jl b/test/test_system.jl index f94d5e704b..1b543843ca 100644 --- a/test/test_system.jl +++ b/test/test_system.jl @@ -78,7 +78,7 @@ @test val[1] isa Dates.DateTime val = get_time_series_values(SingleTimeSeries, component, "max_active_power") @test val isa Array - @test val[1] isa AbstractFloat + @test val[1] isa Number val = get_time_series_array(component, ts) @test val isa TimeSeries.TimeArray @@ -87,7 +87,7 @@ @test val[1] isa Dates.DateTime val = get_time_series_values(component, ts) @test val isa Array - @test val[1] isa AbstractFloat + @test val[1] isa Number clear_time_series!(sys) @test length(collect(get_time_series_multiple(sys))) == 0 @@ -221,6 +221,7 @@ end @testset "Test system units" begin sys = PSB.build_system(PSITestSystems, "test_RTS_GMLC_sys"; add_forecasts = false) + set_units_base_system!(sys, "DEVICE_BASE") @test get_units_base(sys) == "DEVICE_BASE" set_units_base_system!(sys, "SYSTEM_BASE") @test get_units_base(sys) == "SYSTEM_BASE" @@ -234,49 +235,73 @@ end @test active_power_mw == get_active_power(gen) end -@testset "Test with_units_base on component" begin - sys = PSB.build_system(PSITestSystems, "test_RTS_GMLC_sys"; add_forecasts = false) - set_units_base_system!(sys, "SYSTEM_BASE") - gen = get_component(ThermalStandard, sys, "322_CT_6") - base_power = get_base_power(sys) +@testset "Test explicit units API" begin + # Create fresh components to test the new units-aware API + sys = System(100.0) # 100 MVA system base + bus = ACBus(nothing) + bus.name = "Bus1" + bus.number = 1 + add_component!(sys, bus) - # Component shares system's units_settings initially - @test sys.units_settings === PSY.get_internal(gen).units_info + gen = ThermalStandard(nothing) + gen.name = "Gen1" + gen.base_power = 50.0 # 50 MVA device base (different from system) + gen.active_power = 0.6 # 0.6 pu device base = 30 MW + gen.reactive_power = 0.4 # 0.4 pu device base = 20 Mvar + gen.bus = bus + add_component!(sys, gen) - # with_units_base on component should work and preserve reference after - P_pu = get_active_power(gen) - P_natural = with_units_base(gen, "NATURAL_UNITS") do - get_active_power(gen) - end - @test P_natural ≈ P_pu * base_power + device_base = get_base_power(gen) + system_base = get_base_power(sys) + raw_active = gen.active_power + raw_reactive = gen.reactive_power - # Reference should be preserved after with_units_base(component, ...) - @test sys.units_settings === PSY.get_internal(gen).units_info + # Explicit MW + P_mw = get_active_power(gen, MW) + @test P_mw isa Unitful.Quantity + @test Unitful.ustrip(P_mw) ≈ raw_active * device_base - # System-level with_units_base should still work after component-level call - P_natural_via_sys = with_units_base(sys, UnitSystem.NATURAL_UNITS) do - get_active_power(gen) - end - @test P_natural ≈ P_natural_via_sys + # Explicit DU (device base per-unit) + P_du = get_active_power(gen, PSY.DU) + @test P_du isa PSY.RelativeQuantity + @test PSY.ustrip(P_du) ≈ raw_active + + # Explicit SU (system base per-unit) + P_su = get_active_power(gen, PSY.SU) + @test P_su isa PSY.RelativeQuantity + @test PSY.ustrip(P_su) ≈ raw_active * device_base / system_base + + # Reactive power in Mvar + Q_mvar = get_reactive_power(gen, PSY.Mvar) + @test Unitful.ustrip(Unitful.uconvert(PSY.Mvar, Q_mvar)) ≈ raw_reactive * device_base end -@testset "Test with_units_base on component removed during block" begin - sys = PSB.build_system(PSITestSystems, "test_RTS_GMLC_sys"; add_forecasts = false) - set_units_base_system!(sys, "SYSTEM_BASE") - line = first(get_components(Line, sys)) +@testset "Test explicit units setters" begin + sys = System(100.0) + bus = ACBus(nothing) + bus.name = "Bus1" + bus.number = 1 + add_component!(sys, bus) - # Component shares system's units_settings initially - @test sys.units_settings === PSY.get_internal(line).units_info + gen = ThermalStandard(nothing) + gen.name = "Gen1" + gen.base_power = 100.0 + gen.bus = bus + add_component!(sys, gen) - # Remove component during with_units_base block - @test_throws ErrorException begin - with_units_base(line, "NATURAL_UNITS") do - remove_component!(sys, line) - end - end + device_base = get_base_power(gen) + + # Set with MW + set_active_power!(gen, 50.0PSY.MW) + @test gen.active_power ≈ 50.0 / device_base + + # Set with DU + set_active_power!(gen, 0.6PSY.DU) + @test gen.active_power ≈ 0.6 - # After removal, units_info should be nothing (not restored to system's) - @test isnothing(PSY.get_internal(line).units_info) + # Set with Mvar + set_reactive_power!(gen, 25.0PSY.Mvar) + @test gen.reactive_power ≈ 25.0 / device_base end @testset "Test add_time_series multiple components" begin @@ -553,7 +578,7 @@ end @test IS.compare_values(gen1, gen2) @test IS.compare_values(sys1, sys2) - set_active_power!(gen1, get_active_power(gen1) + 0.1) + set_active_power!(gen1, get_active_power(gen1, DU) + 0.1DU) @test( @test_logs( (:error, r"not match"),