Skip to content

Commit b3073d2

Browse files
authored
Merge pull request #208 from RoseauTechnologies/develop
Version 0.8.0
2 parents 221105e + 0e6bfb4 commit b3073d2

File tree

430 files changed

+105121
-96201
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

430 files changed

+105121
-96201
lines changed

.github/workflows/pre-commit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ jobs:
2424
- uses: actions/setup-python@v5
2525
with:
2626
python-version: "3.12"
27-
- uses: pre-commit/action@v3.0.0
27+
- uses: pre-commit/action@v3.0.1

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,3 +250,5 @@ doc/images/*.pdf
250250
roseau/*
251251
!roseau/load_flow
252252
node_modules/
253+
doc/images/**/*.bak*
254+
doc/images/**/*.pdf

.latexindent.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
defaultIndent: " "
2+
3+
maxNumberOfBackUps: 0
4+
onlyOneBackUp: 1
5+
backupExtension: .tex.bak
6+
7+
removeTrailingWhitespace:
8+
beforeProcessing: 0
9+
afterProcessing: 1
10+
11+
indentAfterItems:
12+
itemize: 1
13+
enumerate: 1
14+
description: 1
15+
list: 1
16+
17+
noAdditionalIndentGlobal:
18+
keyEqualsValuesBracesBrackets: 1
19+
20+
indentAfterHeadings:
21+
section:
22+
indentAfterThisHeading: 1
23+
level: 2
24+
subsection:
25+
indentAfterThisHeading: 1
26+
level: 4
27+
subsection*:
28+
indentAfterThisHeading: 1
29+
level: 4
30+
subsubsection:
31+
indentAfterThisHeading: 1
32+
level: 6
33+
34+
indentRules:
35+
chapter: " "
36+
section: " "
37+
item: " "
38+
39+
modifyLineBreaks:
40+
textWrapOptions:
41+
columns: 120
42+
environments:
43+
BeginStartsOnOwnLine: 1
44+
BodyStartsOnOwnLine: 1
45+
EndStartsOnOwnLine: 1
46+
EndFinishesWithLineBreak: 1

.pre-commit-config.yaml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
exclude: ^.idea/|.vscode/|^conda/meta.yaml
1+
exclude: ^.idea/|.vscode/
22
repos:
33
- repo: https://github.com/pre-commit/pre-commit-hooks
44
rev: v4.5.0
@@ -11,11 +11,11 @@ repos:
1111
- id: end-of-file-fixer
1212
- id: trailing-whitespace
1313
- repo: https://github.com/python-poetry/poetry
14-
rev: 1.7.0
14+
rev: 1.8.0
1515
hooks:
1616
- id: poetry-check
1717
- repo: https://github.com/astral-sh/ruff-pre-commit
18-
rev: v0.2.1
18+
rev: v0.3.3
1919
hooks:
2020
- id: ruff
2121
types_or: [python, pyi, jupyter]
@@ -28,10 +28,14 @@ repos:
2828
- id: blacken-docs
2929
files: ^doc/.*\.md$
3030
args: [-l 90]
31-
additional_dependencies: [black==23.12.1]
3231
- repo: https://github.com/pre-commit/mirrors-prettier
3332
rev: v4.0.0-alpha.8
3433
hooks:
3534
- id: prettier
3635
args: ["--print-width", "120"]
3736
require_serial: true
37+
- repo: https://github.com/cmhughes/latexindent.pl
38+
rev: V3.23.7
39+
hooks:
40+
- id: latexindent
41+
args: [-l, -m, -s, -wd]

.vscode/cspell.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Version of the setting file. Always 0.2
33
"version": "0.2",
44
// language - current active spelling language
5-
"language": "en",
5+
"language": "en,fr",
66
// words - list of words to be always considered correct
77
"words": [
88
"abcn",

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ will guide you through the installation process. If you are new to _Roseau Load
1313
You can find the complete documentation at https://roseau-load-flow.roseautechnologies.com/.
1414

1515
> [!IMPORTANT]
16-
> Starting with version 0.7.0, Roseau Load Flow will no longer be supplied as a SaaS. The software will
17-
> be available as a standalone Python library.
16+
> Starting with version 0.7.0, Roseau Load Flow is no longer supplied as a SaaS. The software is now
17+
> available as a standalone Python library.
1818
1919
## License
2020

doc/.htaccess

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
RewriteEngine On
2+
3+
# WWW -> no-WWW
4+
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
5+
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE,QSA]
6+
7+
# HTTP -> HTTPS
8+
RewriteCond %{HTTPS} off
9+
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE,QSA]
10+
11+
# HSTS
12+
Header set Strict-Transport-Security "max-age=10886400; includeSubDomains; preload"

doc/Changelog.md

Lines changed: 53 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,62 @@
1+
---
2+
myst:
3+
html_meta:
4+
"description lang=en": |
5+
Release History of Roseau Load Flow - Three-phase unbalanced load flow solver in a Python API by Roseau
6+
Technologies.
7+
"description lang=fr": |
8+
Historique des versions de Roseau Load Flow - Solveur d'écoulement de charge triphasé et déséquilibré dans une
9+
API Python par Roseau Technologies.
10+
"keywords lang=fr": version, solveur, simulation, réseau, électrique, bus
11+
"keywords lang=en": changelog, solver, simulation, distribution grid, bus, model
12+
---
13+
114
# Changelog
215

16+
## Version 0.8.0
17+
18+
- {gh-pr}`207` Fix a bug in the zig-zag three-phase transformer model that led to incorrect active power flow in the
19+
transformer. The bug affected the 50 kVA transformers that have the type `Yzn11` in the catalogue.
20+
- {gh-pr}`206` {gh-issue}`187` Un-deprecate `results_to_dict/json` methods and remove deprecated
21+
`results_from_dict/json` methods.
22+
- {gh-pr}`205` {gh-issue}`200` Fix error when propagating the potentials from a voltage source with fewer phases
23+
than the bus.
24+
- {gh-pr}`204` {gh-issue}`193` Remove restrictions on geometry types. Allow specifying the CRS of the geometries.
25+
- {gh-pr}`203` {gh-issue}`186` Detect invalid element overrides when connecting a new element with the
26+
same ID and type of an existing element.
27+
- {gh-pr}`202` {gh-issue}`188` Explicitly prevent instantiation of abstract classes.
28+
- {gh-pr}`201` {gh-issue}`185` Add `type` attribute to the load classes and rename branches `branch_type`
29+
attribute to `type` for consistency. Please replace `branch.branch_type` by `branch.type` in your code.
30+
In addition, loads data frames gained two new columns:
31+
1. `type` indicating the load type: constant-(`power`, `current`, `impedance`);
32+
2. and `flexible` indicating if the load is flexible.
33+
- {gh-pr}`197` Fix a bug in three-phase transformer models that led to excessive reactive power flow in the transformer.
34+
- {gh-pr}`199` Add Schneider Electric EcoDesign transformers to the catalogue. These are tagged with the _AA0Ak_
35+
efficiency class. Other internal data have been added to the catalogue for testing purposes.
36+
- {gh-pr}`198` Simplify the storage of the transformer catalogues. This is an internal change that should not have
37+
effects on user code.
38+
- {gh-pr}`196` {gh-issue}`194` Improve the error message when accessing `res_flexible_powers` on a non-flexible load
39+
and relax the flexible parameters plotting methods to accept an array-like of voltages.
40+
- {gh-pr}`195` Use `latexindent.pl` to automatically indent LaTeX files in the documentation.
41+
- {gh-pr}`192` Speed up results access by up to 3x using several optimization techniques. This is especially
42+
noticeable in timeseries simulations and when accessing results of large networks.
43+
- {gh-pr}`184` Improve the documentation to have a better SEO (sitemap, metadata and canonical URLs). The navigation
44+
menu has also been improved.
45+
- {gh-pr}`183` {gh-issue}`181` Update the networks catalogue to better represent the real networks.
46+
LV loads are made single-phase, MV sources are connected in delta, and MV buses lost their neutral.
47+
Voltage, current, and power limits are added to the buses, lines, and transformers.
48+
The line parameters IDs are also updated to match the new line parameters catalogue.
49+
- {gh-pr}`182` Improve the error message when trying to access results on the network before running the load flow.
50+
- {gh-pr}`189` Allow flexible loads to have a null active theoretical power.
51+
352
## Version 0.7.0
453

554
```{important}
6-
Starting with version 0.7.0, Roseau Load Flow will no longer be supplied as a SaaS. The software will be available as
55+
Starting with version 0.7.0, Roseau Load Flow is no longer supplied as a SaaS. The software is now available as
756
a standalone Python library.
857
```
958

10-
- The documentation is moved from GitHub Pages to https://www.roseau-load-flow.roseautechnologies.com/.
59+
- The documentation is moved from GitHub Pages to <https://www.roseau-load-flow.roseautechnologies.com/>.
1160
- Fix a bug in the engine: it was impossible to change the parameters of center-tapped and single phase transformers.
1261
- {gh-pr}`179` Fix a bug in the propagation of potentials when a center-tapped transformer is used without neutral at
1362
the primary side.
@@ -137,7 +186,7 @@ a standalone Python library.
137186
- {gh-pr}`93` Add short-circuit computation.
138187
- {gh-pr}`92`
139188
- Add the changelog in the documentation.
140-
- Use NodeJs 20 in the Dockerfile.
189+
- Use Node.js 20 in the Dockerfile.
141190
- Correction of a dead link in the README.
142191

143192
## Version 0.4.0
@@ -183,7 +232,7 @@ a standalone Python library.
183232

184233
<!-- Local Variables: -->
185234
<!-- mode: gfm -->
186-
<!-- fill-column: 100 -->
235+
<!-- fill-column: 120 -->
187236
<!-- coding: utf-8 -->
188237
<!-- ispell-local-dictionary: "british" -->
189238
<!-- End: -->

doc/Installation.md

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
---
2+
myst:
3+
html_meta:
4+
"description lang=en": |
5+
Installation of Roseau Load Flow in a Python environment - Simulation of smart and unbalanced electrical
6+
distribution networks.
7+
"description lang=fr": |
8+
Installation de Roseau Load Flow dans un environnement Python - Simulation des réseaux de distribution
9+
électriques intelligents et déséquilibrés.
10+
"keywords lang=fr": |
11+
Roseau, load flow, python, écoulement de charge, écoulement de puissance, réseau de distribution, triphasé,
12+
déséquilibré
13+
"keywords lang=en": Roseau, Load flow, python, power flow, distribution grid, three-phase, multiphase, unbalanced
14+
---
15+
116
# Installation
217

318
Please select one of the following installation methods that best suits your workflow.
@@ -8,7 +23,7 @@ If you are a beginner in Python, please note that the commands below must be exe
823
to the Python console prompt `>>>`.
924
```
1025

11-
## 1. Using `pip`
26+
## Using `pip`
1227

1328
`roseau-load-flow` is available on [PyPI](https://pypi.org/project/roseau-load-flow/). It can be
1429
installed using pip with:
@@ -30,7 +45,8 @@ $ python -m pip install roseau-load-flow
3045
````
3146

3247
`````{tip}
33-
It is recommended to work in a virtual environment to isolate your project. Create and activate a virtual environment before installing the package. You can create one with:
48+
It is recommended to work in a virtual environment to isolate your project. Create and activate a virtual environment
49+
before installing the package. You can create one with:
3450
3551
````{tab} Windows
3652
@@ -93,7 +109,7 @@ the corresponding functions. They can be installed with the
93109
1. `plot`: installs _matplotlib_ for the plotting functions
94110
2. `graph` installs _networkx_ for graph theory analysis functions
95111

96-
## 2. Using `pip` in Jupyter Notebooks
112+
## Using `pip` in Jupyter Notebooks
97113

98114
If you are using Jupyter Notebooks, you can install `roseau-load-flow` directly from a notebook
99115
cell with:

doc/License.md

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,30 @@
1-
(license)=
1+
---
2+
myst:
3+
html_meta:
4+
"description lang=en": |
5+
Depending on your status, Roseau Load Flow is available with several types of free or paid licences. A trial
6+
key is also available.
7+
"description lang=fr": |
8+
En fonction de votre statut, Roseau Load Flow est disponible avec plusieurs types de licences gratuites ou
9+
payantes. Une clef d'essai est également disponible.
10+
"keywords lang=fr": solveur, simulation, réseau, électrique, licence, open-source, gratuit, essai
11+
"keywords lang=en": simulation, distribution grid, solver, open-source, free, test
12+
---
213

3-
# License
14+
(license-page)=
15+
16+
# Get and activate your licence
17+
18+
(license-types)=
19+
20+
## Commercial and free licences
421

522
This project is partially open source. The source code of this repository is available under the
623
[BSD 3-Clause License](https://github.com/RoseauTechnologies/Roseau_Load_Flow/blob/main/LICENSE.md).
724

825
The solver used in this project is not open source. A license has to be purchased to use it. To
9-
obtain a personal or commercial license, please contact us at contact@roseautechnologies.com.
26+
obtain a personal or commercial license, please contact us at
27+
[contact@roseautechnologies.com](mailto:contact@roseautechnologies.com).
1028

1129
For networks with less than 11 buses (up to 10 buses), the license key `A8C6DA-9405FB-E74FB9-C71C3C-207661-V3`
1230
can be used free of charge. For example, this key can be used to follow the getting started guide.

0 commit comments

Comments
 (0)