-
Notifications
You must be signed in to change notification settings - Fork 4
Doc/readme #103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Doc/readme #103
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,45 @@ | ||
# andromede-modeling-prototype | ||
Prototype to design future modeling capabilities for Antares simulator. | ||
|
||
Andromede is an open-source tool, developed in Python, for the modeling and the simulation of complex energy systems under uncertainty. | ||
|
||
## The vision | ||
|
||
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. | ||
|
||
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. | ||
|
||
|
||
|
||
## 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. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reflexion sur le nom...