This release adds official support for Python 3.13 and adds a new experimental backward-forward solver. 🎉
Breaking changes
- The
min_voltage
andmax_voltage
ofBus
have been replaced bynominal_voltage
(phase-to-phase, in V), amin_voltage_level
(unitless) and amax_voltage_level
(unitless). - The
type
parameter ofTransformerParameters
constructors becomesvg
for vector group. Replacetype="single"
byvg="Ii0"
andtype="center"
byvg="Iii0"
. - The
type
attribute ofTransformerParameters
now returnsthree-phase
,single-phase
orcenter-tapped
. UseTransformerParameters.vg
to get the vector group. - The names of the transformers in the catalogue have been modified to add voltage levels and vector groups. Use
rlf.TransformerParameters.get_catalogue()
to see the updated catalogue. - The
max_current
,section
,insulator_type
andconductor_type
parameters of theLineParameters
class are renamed toampacities
,sections
,insulators
andmaterials
respectively. The new parameters accept arrays of values, one per conductor. - The enumeration
InsulatorType.UNKNOWN
is removed. Please useNone
if the insulator is unknown. - The definition of constant-current loads is modified to be the magnitudes of the currents and their phase shift from the voltages instead of the absolute phase shift. Currents should no longer be rotated by 120° to be in sync with the voltages.
Deprecations
- The enumerated classes
InsulatorType
andConductorType
are renamed toInsulator
andMaterial
respectively. Their old names are deprecated and will be removed in a future release. - The deprecated method
LineParameters.from_name_mv
is removed.
Detailed changes
-
#293 Fixed
loading
calculation for lines and transformers -
#291 Fixed several bugs in JSON serialization and deserialization.
-
#289 #264 Improve the
TransformerParameters
class and the transformers catalogue- Add 15kV transformers to the catalogue (SE and FT)
- Add single-phase transformers to the catalogue (Schneider Imprego)
- Add step-up transformers to the catalogue (Cahors "Serie Jaune")
- Use the correct LV side no-load voltage as defined in the datasheets (some 400V became 410V)
- Revert #282 to keep the IEC 600076 names
uhv
andulv
for the transformer voltages. - Replace the
type
parameter ofTransformerParameters
constructors byvg
for vector group. TransformerParameters.type
now returnsthree-phase
,single-phase
orcenter-tapped
. UseTransformerParameters.vg
to get vector group.- Modify the names of the transformers in the catalogue to add voltage levels and vector groups
-
#285 #279 Add maximum loading for lines and transformers.
- The constructors of
Transformer
andLine
now accept a unitlessmax_loading
parameter equal to 1 (=100%) by default. - The parameter
max_currents
ofLineParameters
is now calledampacities
. - The
Line
class gained a new propertymax_currents
that returns the maximal admissible currents (in Amps) for each conductor:line.max_current = line.parameters.ampacity * line.max_loading
. - The
res_violated
property ofTransformer
andLine
now take into account thismax_loading
. - The
Line
andTransformer
classes have a newres_loading
property to compute the loading of the element:line.res_loading = line.res_currents / line.parameters.ampacities
transformer.res_loading = sum(transformer.res_powers) / transformer.parameters.sn
- The constructors of
-
#286 The deprecated method
LineParameters.from_name_mv
is removed. -
#283 Several changes related to the
LineParameters
:- The
max_current
,section
,insulator_type
andconductor_type
parameters are renamed tomax_currents
,sections
,insulators
andmaterials
respectively. The new parameters accept arrays of values, one per conductor. - The class method
from_geometry
now accepts several additional arguments related to the neutral (material_neutral
,insulator_neutral
,max_current_neutral
) - The enumerated classes
InsulatorType
andConductorType
are renamed toInsulator
andMaterial
. Their old names are deprecated and will be removed in a future release. - The insulator
UNKNOWN
is removed. Please useNone
if the insulator is unknown. - The insulator
NONE
is added. It must be used to describe conductors without insulator. - The catalogue has now several additional columns related to the neutral parameters (resistance, reactance, susceptance, material, insulator, maximal current). The
get_catalogue
and thefrom_catalogue
methods have been changed to accept filter on the columns (material_neutral
,insulator_neutral
,section_neutral
)
- The
-
#281 Add official support for Python 3.13.
-
#278 #280 Modify the
Bus
voltage limits:- The
min_voltage
andmax_voltage
parameters and attributes ofBus
have been replaced bynominal_voltage
(phase-to-phase, in V), amin_voltage_level
(unitless) and amax_voltage_level
(unitless). Bus
gained a new propertyres_voltage_levels
that returns the voltage levels of the bus as a percentage of the nominal voltage;- The JSON file format also changed to take into account these changes. If a
min_voltage
ormax_voltage
existed in a file of a previous version, they are lost when upgrading the file.
- The
-
#277 Fix the definition of constant current loads to be the magnitudes of the currents and their phase shift from the voltages instead of the absolute phase shift. Currents should no longer be rotated by 120° to be in sync with the voltages.
-
#276 Add a backward-forward solver (experimental).
-
#273 Dynamically calculate the stacklevel of the first frame outside of
roseau.load_flow
for warnings -
#272 #271: Fix segfault when phases of a potential reference are not the same as the bus phases.
-
#269 Optimize the SVG files of the documentation.
-
#268 Set up ReadTheDoc to automatically compile the documentation.
-
#267 Add a section in the documentation on Google Colab secrets.
What's Changed
- Activate License in Google Colab by @benoit9126 in #267
- DOC: ReadTheDoc by @benoit9126 in #268
- [DOC] Optimize svg by @benoit9126 in #269
- Use Rye intead of Poetry by @benoit9126 in #270
- Fix segfault when phases of pref are not the same as the bus by @alihamdan in #272
- Dynamically calculate the stacklevel of the first frame outside of
roseau.load_flow
for warnings by @alihamdan in #273 - Use uv by @benoit9126 in #275
- Backward forward by @Saelyos in #276
- Fix constant current loads definition by @alihamdan in #277
- Modify the voltage limits of buses by @benoit9126 in #280
- ENH: Python 3.13 by @benoit9126 in #281
- ENH: Rename
uhv
andulv
by @benoit9126 in #282 - Enhancements of
LineParameters
: arrays and new enumerated types by @benoit9126 in #283 - ENH: Remove the deprecated
from_name_mv
method by @benoit9126 in #286 - ENH: Add
max_loading
on lines and transformers by @benoit9126 in #285 - ENH: LineParameters contains 4x4 matrices by @benoit9126 in #287
- Revert "ENH: LineParameters contains 4x4 matrices" by @alihamdan in #288
- ENH: factorize some code by @benoit9126 in #290
- Add more vector groups and more transformers to the catalogue by @alihamdan in #289
- Fix bugs in JSON serialization by @alihamdan in #291
- Bump astral-sh/setup-uv from 3 to 4 by @dependabot in #292
- Update documentation, fix lines and transformers loading by @alihamdan in #293
- DOC: Download LFS files to build the documentation on ReadTheDoc by @benoit9126 in #295
- Version 0.11.0 by @benoit9126 in #294
Full Changelog: v0.10.0...v0.11.0