From 0187e777b2fafc7b62147714402be857433ca682 Mon Sep 17 00:00:00 2001 From: OUSTRY Antoine Date: Tue, 27 May 2025 15:57:45 +0200 Subject: [PATCH 1/4] Readme --- README.md | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fbce4344..606f0476 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,40 @@ # andromede-modeling-prototype -Prototype to design future modeling capabilities for Antares simulator. + +## The vision + +This Python project introduces a novel approach to modeling and simulating energy systems, centered around a simple yet powerful principle: getting models out of the code. + +To develop and test new models of energy system components, writing software code should not be a prerequisite. This is where the Andromede 'modeler' package excels, offering users a "no-code" modeling experience with unparalleled versatility. + +Within the 'modeler' framework, the abstract mathematical descriptions of models are described in 'library' files, formatted in YAML. These files contain behavioral equations written in a straightforward modeling language. Meanwhile, the numerical representation of a case study is detailed in separate 'system' files, also in YAML format. These files outline the components of a system, with their numerical parameters: nodes in the graph represent instances of abstract models from the 'library', and vertices denote connections between components (as defined by 'ports'). + +This Python package features a generic interpreter capable of generating optimization problems from any library and system files that adhere to the modeling language syntax. It then employs dedicated optimization code to solve these problems. The Python API facilitates reading case studies stored in YAML format, modifying them, or creating new ones from scratch by scripting. + + + +## Repository structure The repository consists in: - [src/andromede](./src/andromede): python package that implements the concepts (models, ports) - and allows for basic simulation using them. + and allows for simulation using them. - [tests](./tests): python tests illustrating the use and behaviour of the concepts - [models-design](./models-design): mainly schemas to design the models that one could implement using our concepts. +### 'Library' file examples + +Examples of 'library' files, that describe abstract models, may be found in [src/andromede/libs](./src/andromede/libs). + +### 'System' file examples + +Examples of 'system' files, that describe test cases, may be found in [tests/e2e/models/andromede-v1/systems](./tests/e2e/models/andromede-v1/systems). + +### Code example + +Examples of codes that load 'library' and 'system' files, interprets and simulates them may be found in [tests/e2e/models/andromede-v1/test_andromede_v1_models.py](./tests/e2e/models/andromede-v1/test_andromede_v1_models.py). + +## Link with Antares Simulator software +This Python software package forms part of the Antares project, but its implementation is completely independent of that of the AntaresSimulator software. Although it was initially designed to prototype the next features of the Antares software (for more information, see https://antares-simulator.readthedocs.io/en/latest/user-guide/modeler/01-overview-modeler/), its structuring and development practices have resulted in high-quality, self-supporting code. It is currently maintained to offer the flexibility of the designed modeling language and interpreter to Python users and to continue exploring its potential. \ No newline at end of file From 340971ba117d79aeabf14198f726b3204eea32f7 Mon Sep 17 00:00:00 2001 From: OUSTRY Antoine Date: Tue, 27 May 2025 16:03:11 +0200 Subject: [PATCH 2/4] Readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 606f0476..90885d11 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ # andromede-modeling-prototype +Andromede is an open-source tool, developed in Python, for the modeling and the simulation of complex energy systems under uncertainty. + ## The vision -This Python project introduces a novel approach to modeling and simulating energy systems, centered around a simple yet powerful principle: getting models out of the code. +Andromede introduces a novel approach to modeling and simulating energy systems, centered around a simple principle: getting models out of the code. To develop and test new models of energy system components, writing software code should not be a prerequisite. This is where the Andromede 'modeler' package excels, offering users a "no-code" modeling experience with unparalleled versatility. From 714798e3b5364c3149dd627d7e3a32de1dad7a35 Mon Sep 17 00:00:00 2001 From: "Antoine Oustry, PhD" <58943406+aoustry@users.noreply.github.com> Date: Fri, 6 Jun 2025 13:55:51 +0200 Subject: [PATCH 3/4] Update README.md Co-authored-by: tbittar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 90885d11..3dec0f1a 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Andromede is an open-source tool, developed in Python, for the modeling and the ## The vision -Andromede introduces a novel approach to modeling and simulating energy systems, centered around a simple principle: getting models out of the code. +Andromede introduces a novel approach to model and simulate energy systems, centered around a simple principle: getting models out of the code. To develop and test new models of energy system components, writing software code should not be a prerequisite. This is where the Andromede 'modeler' package excels, offering users a "no-code" modeling experience with unparalleled versatility. From 812b1068bea1c33c0f29d2d7667fd7e5f27939c5 Mon Sep 17 00:00:00 2001 From: "Antoine Oustry, PhD" <58943406+aoustry@users.noreply.github.com> Date: Fri, 6 Jun 2025 13:56:11 +0200 Subject: [PATCH 4/4] Update README.md Co-authored-by: tbittar --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3dec0f1a..078ccd48 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,10 @@ Andromede introduces a novel approach to model and simulate energy systems, cent To develop and test new models of energy system components, writing software code should not be a prerequisite. This is where the Andromede 'modeler' package excels, offering users a "no-code" modeling experience with unparalleled versatility. -Within the 'modeler' framework, the abstract mathematical descriptions of models are described in 'library' files, formatted in YAML. These files contain behavioral equations written in a straightforward modeling language. Meanwhile, the numerical representation of a case study is detailed in separate 'system' files, also in YAML format. These files outline the components of a system, with their numerical parameters: nodes in the graph represent instances of abstract models from the 'library', and vertices denote connections between components (as defined by 'ports'). +Within the 'modeler' framework: +- Abstract mathematical descriptions of models are described in 'library' files, formatted in YAML. These files contain behavioral equations written in a straightforward modeling language. +- Meanwhile, the numerical representation of a case study is detailed in separate 'system' files, also in YAML format. +These files outline the components of a system, with their numerical parameters: nodes in the graph represent instances of abstract models from the 'library', and vertices denote connections between components (as defined by 'ports'). This Python package features a generic interpreter capable of generating optimization problems from any library and system files that adhere to the modeling language syntax. It then employs dedicated optimization code to solve these problems. The Python API facilitates reading case studies stored in YAML format, modifying them, or creating new ones from scratch by scripting.