Skip to content
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

Feature/remove gui doc #177

Open
wants to merge 49 commits into
base: New-Antares-Emulator-2
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
b35fccd
Remove pdf map editor guide
payetvin Jul 8, 2024
6106b85
Developer guide
payetvin Jul 8, 2024
e242506
User guide 1
payetvin Jul 8, 2024
13fdf99
Remove libuuid from doc
payetvin Jul 8, 2024
7f24557
update nsis to remove pdf
payetvin Jul 8, 2024
7a7b7bd
Merge branch 'develop' into feature/remove-gui-doc
pet-mit Sep 6, 2024
b488581
Set modeler name for logs (instead of [noname]) (#2561)
flomnes Jan 8, 2025
c6e46c8
Fix yaml-cpp target to avoid cmake warnings (#2564)
payetvin Jan 8, 2025
4cb902d
Add variable MRG PRICE CSR in 9.2 [ANT-2562] (#2559)
payetvin Jan 8, 2025
ad2140f
Write raw optimization results [ANT-2302] (#2565)
flomnes Jan 9, 2025
c9cdfd1
Move .clang-format at project root (#2568)
a-zakir Jan 9, 2025
eaf0373
2.5b build linear problem from components (#2558)
flomnes Jan 10, 2025
874612d
Introduce accurate shave peaks hydro algorithm + tests (#2532)
guilpier-code Jan 10, 2025
bd4968d
Accurate shave peaks algorithm integration (#2566)
guilpier-code Jan 13, 2025
fe48071
[antares-modeler] Fix segfault when no CLI argument is provided (#2557)
flomnes Jan 13, 2025
600b914
Fix recently introduced build warnings (#2569)
flomnes Jan 15, 2025
d11f5d2
Output results : fix annual aggregation (#2580)
guilpier-code Jan 15, 2025
a64400c
Add unit test -- short-term storage cumulation constraints (#2563)
a-zakir Jan 15, 2025
7dd4dca
auto format with clang-format (#2581)
a-zakir Jan 15, 2025
7ef7977
Revert "auto format with clang-format" (#2582)
a-zakir Jan 16, 2025
475f08b
GUI bug: wrong indexes for thermal clusters in scenario builder [ANT-…
payetvin Jan 20, 2025
a5ea8f6
Remove unused enum class (#2584)
flomnes Jan 20, 2025
bcd4e1f
[ANT-2608] Introducing time dependency behaviour (#2572)
a-zakir Jan 21, 2025
28c4eda
Parallel tests run twice on ubuntu CI (#2587)
payetvin Jan 23, 2025
d13d286
Checkout test_nr to main (#2586)
payetvin Jan 23, 2025
99a50c0
Fix milp bug (#2489)
Juliette-Gerbaux Jan 23, 2025
86bff27
Remove new/delete from analyzer (#2590)
flomnes Jan 23, 2025
a5d90c3
Remove new/delete for AreaUI (#2589)
flomnes Jan 24, 2025
4a8c7ef
Rename encoders.hxx -> decoders.hxx (#2591)
flomnes Jan 24, 2025
433bac5
Remove manual allocations for set of areas, simplify code (#2588)
flomnes Jan 24, 2025
ce04ec6
Reserve out vectors to avoid copies and reallocations (#2592)
flomnes Jan 27, 2025
da7ed45
Remove a few new/delete in src/solver/variable (#2595)
flomnes Jan 27, 2025
12b4362
Bump mattnotmitt/doxygen-action from 1.9.8 to 1.12.0 (#2596)
dependabot[bot] Jan 28, 2025
4882c1f
Clean up container.h / container.hxx (#2601)
flomnes Jan 28, 2025
a464fec
Add unit tests on class `Antares::Solver::Variable::IntermediateValue…
flomnes Jan 28, 2025
65938bd
Fix segfault on BP studies (#2598)
flomnes Jan 28, 2025
e62801c
Throw exception instead of pointer to exception (#2600)
flomnes Jan 28, 2025
c5b5123
[ANT-2608] add of unit tests for time dependant expression (#2597)
a-zakir Jan 28, 2025
856d8bb
9.2 rc 9 (#2607)
payetvin Jan 29, 2025
caa5406
Remove recently introduced build warnings (#2602)
flomnes Jan 30, 2025
ed5e579
Derive ElemAlreadyExists from std::runtime_error (#2614)
flomnes Jan 30, 2025
3170d29
Simplify ComponentFiller::addVariables (#2615)
flomnes Jan 31, 2025
4665966
Update Contributing.md with log conventions (#2604)
pet-mit Feb 3, 2025
da91ade
Data for modeler (epic 4.1) (#2577)
guilpier-code Feb 3, 2025
389de9c
Unit test for the RHS of cumulative constraints (#2603)
a-zakir Feb 3, 2025
a1b7826
Add modeler non-regression tests (#2617)
pet-mit Feb 4, 2025
a2db7e5
Fix unfeasible tests (#2611)
payetvin Feb 6, 2025
38af6da
Refactor modeler code (#2616)
pet-mit Feb 6, 2025
4b0d9a4
Merge branch 'develop' into feature/remove-gui-doc
pet-mit Feb 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
File renamed without changes.
2 changes: 1 addition & 1 deletion .github/workflows/doxygen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
git apply ../docs/antares-simulator-doxygen.patch

- name: Doxygen
uses: mattnotmitt/doxygen-action@v1.9.8
uses: mattnotmitt/doxygen-action@v1.12.0
with:
doxyfile-path: docs/Doxyfile

Expand Down
18 changes: 7 additions & 11 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -204,15 +204,6 @@ jobs:
batch-name: adequacy-patch-CSR
os: ${{ env.os }}

- name: Run parallel tests
if: ${{ env.RUN_EXTENDED_TESTS == 'true' }}
uses: ./.github/workflows/run-tests
with:
simtest-tag: ${{ env.SIMTEST }}
batch-name: valid-parallel
os: ${{ env.os }}
variant: "parallel"

- name: Run tests introduced in 8.6.0
if: ${{ env.RUN_SIMPLE_TESTS == 'true' && !cancelled() }}
uses: ./.github/workflows/run-tests
Expand Down Expand Up @@ -256,7 +247,7 @@ jobs:
- name: Run cucumber on short-tests
uses: ./.github/workflows/cucumber-tests
with:
feature: "features/short_tests.feature"
feature: "features/solver-features/short_tests.feature"

- name: Run mps tests
if: ${{ env.RUN_SIMPLE_TESTS == 'true' && !cancelled() }}
Expand Down Expand Up @@ -295,7 +286,7 @@ jobs:
- name: Run cucumber on medium-tests
uses: ./.github/workflows/cucumber-tests
with:
feature: "features/medium_tests.feature"
feature: "features/solver-features/medium_tests.feature"

- name: Run long-tests-1
if: ${{ env.RUN_EXTENDED_TESTS == 'true' && !cancelled() }}
Expand All @@ -321,6 +312,11 @@ jobs:
batch-name: long-tests-3
os: ${{ env.os }}

- name: Run cucumber on modeler
uses: ./.github/workflows/cucumber-tests
with:
feature: "features/modeler-features"

- name: Barrier
if: ${{ !success() }}
run: exit 1
Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/windows-vcpkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ jobs:
- name: Run cucumber on short-tests
uses: ./.github/workflows/cucumber-tests
with:
feature: "features/short_tests.feature"
feature: "features/solver-features/short_tests.feature"

- name: Run mps tests
if: ${{ env.RUN_SIMPLE_TESTS == 'true' && !cancelled() }}
Expand Down Expand Up @@ -287,7 +287,7 @@ jobs:
- name: Run cucumber on medium-tests
uses: ./.github/workflows/cucumber-tests
with:
feature: "features/medium_tests.feature"
feature: "features/solver-features/medium_tests.feature"

- name: Run long-tests-1
if: ${{ env.RUN_EXTENDED_TESTS == 'true' && !cancelled() }}
Expand All @@ -313,6 +313,11 @@ jobs:
batch-name: long-tests-3
os: ${{ env.os }}

- name: Run cucumber on modeler
uses: ./.github/workflows/cucumber-tests
with:
feature: "features/modeler-features"

- name: Barrier
if: ${{ !success() }}
run: exit 1
Expand Down
2 changes: 2 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@
[submodule "src/tests/resources/Antares_Simulator_Tests_NR"]
path = src/tests/resources/Antares_Simulator_Tests_NR
url = https://github.com/AntaresSimulatorTeam/Antares_Simulator_Tests_NR.git
branch = main
ignore = dirty
38 changes: 4 additions & 34 deletions docs/developer-guide/2-Dependencies-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,27 @@ toc_depth: 2

- [Sirius Solver](https://github.com/AntaresSimulatorTeam/sirius-solver/tree/Antares_VCPKG) (fork from [RTE](https://github.com/rte-france/sirius-solver/tree/Antares_VCPKG))
- [OR-Tools](https://github.com/rte-france.com/or-tools) (fork from [Google](https://github.com/google/or-tools))
- [wxWidgets](https://github.com/wxWidgets/wxWidgets)
(Only for the complete Antares Simulator solution with GUI)
- [minizip](https://github.com/zlib-ng/minizip-ng) library, with its dependency zlib
- [Boost](https://www.boost.org/) libraries: header libraries and boost-test library
- [libuuid](https://linux.die.net/man/3/libuuid) on Linux systems

We favor using [vcpkg](https://github.com/microsoft/vcpkg) for building and installing most of those dependencies,
see [build instructions](3-Build.md) which explain how it integrates with CMake build.
However, we still have a few exceptions that must be installed in a different way, see next sections.

Although not encouraged, it's still possible to install those dependencies yourself and add
Although not encouraged, it's still possible to install those dependencies yourself and add
their installation path to your `CMAKE_PREFIX_PATH`.

## OR-Tools

OR-Tools may be installed in one of 2 ways:

1. **As a pre-compiled dependency**
1. **As a pre-compiled dependency**

You can [download](https://github.com/rte-france/or-tools/releases) a precompiled OR-Tools archive that contains headers & static libraries.

Please note that dynamic linking with OR-Tools is only supported in Linux.

Decompress the archive, and provide its path as a `CMAKE_PREFIX_PATH`.

2. **As part of the build**
Expand All @@ -40,31 +38,3 @@ OR-Tools may be installed in one of 2 ways:

The drawback of this second approach is that OR-Tools may need to be built again when you
run again a cmake configure step, therefore it's not advised for developers.


## Linux: libuuid and wxWidgets

On Linux systems, libuuid development packages need to be installed with your
OS package manager.
You will also need to install wxWidgets if you want to build the GUI.

=== "Centos"

```
sudo yum install libuuid-devel
sudo yum install wxGTK3-devel
```

=== "Ubuntu 20.04 or 22.04 / Debian 11"

```
sudo apt install uuid-dev
sudo apt install libwxgtk3.0-gtk3-dev
```

=== "Ubuntu 23.04 / Debian 12"

```
sudo apt install uuid-dev
sudo apt install libwxgtk3.2-dev
```
15 changes: 6 additions & 9 deletions docs/developer-guide/3-Build.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Before building, make sure that dependencies are [installed](2-Dependencies-inst

## Install VCPKG

Although you may install third party dependencies yourself, the preferred way is
Although you may install third party dependencies yourself, the preferred way is
to rely on [vcpkg](https://github.com/microsoft/vcpkg) and its CMake integration
to build and install most of them.

Expand Down Expand Up @@ -67,10 +67,10 @@ Here is a list of mandatory or optional CMake configuration options:
| `CMAKE_TOOLCHAIN_FILE` | no | Path to VCPKG toolchain file, allows to integrate VCPKG with cmake build | `../vcpkg/scripts/buildsystems/vcpkg.cmake` | |
| `VCPKG_TARGET_TRIPLET` | no | Define VCPKG triplet (build type for dependencies etc.) | `x64-windows-antares` / `x64-linux-antares` | |

> 💡 **Disable the UI build to make builds faster**
> 💡 **Disable the UI build to make builds faster**
> The UI takes up a good chunk of compilation time. It is enabled by default, but you can disable it by turning off `BUILD_UI`

> 💡 **Use Ninja to speed up target generation by CMake**
> 💡 **Use Ninja to speed up target generation by CMake**
> At configure time, you may specify Ninja for generation instead of traditional Make. This will speed up the update
> step after you make small changes to the code.
> ```
Expand All @@ -96,15 +96,13 @@ Here is a list of mandatory or optional CMake configuration options:
```

> 💡 Compilation can be done on several processors with `-j` option.


The final GUI file can be executed at `_build/ui/simulator/antares-X.Y-ui-simulator`

## Developer tips

### Use a compiler cache
### Use a compiler cache
In order to avoid unnecessary rebuilds, for example when you switch branches, you may use a compiler cache
such as ccache. Using it under Linux systems is pretty easy with CMake, you only need to specify it
such as ccache. Using it under Linux systems is pretty easy with CMake, you only need to specify it
as the compiler launcher at configure time:
```
cmake ... -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache ...
Expand All @@ -119,5 +117,4 @@ This way git won't waste time computing diff on these when checking out, diffing
Keep in mind that your submodules won't be updated.



[^1]: GUI support has been dropped in favor of [Antares Web](https://antares-web.readthedocs.io)
[^1]: GUI support has been dropped in favor of [Antares Web](https://antares-web.readthedocs.io)
11 changes: 2 additions & 9 deletions docs/developer-guide/5-Installer-creation.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,11 @@ CPack can be used to create the installer after the build phase:
cd _build
cpack3 -G TGZ
```

### Required system libraries
There are still some system libraries that must be installed if you want to use *Antares Simulator*:
There are still some system libraries that must be installed if you want to use *Antares Simulator*:
```
sudo yum install epel-release
sudo yum install wxGTK3
```

=== "Ubuntu/Debian"
Expand All @@ -49,9 +48,3 @@ CPack can be used to create the installer after the build phase:
cd _build
cpack -G TGZ
```

### Required system libraries
There are still some system libraries that must be installed if you want to use *Antares Simulator*:
```
sudo apt install libwxgtk3.0-gtk3-0v5
```
10 changes: 5 additions & 5 deletions docs/developer-guide/6-Contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -270,8 +270,8 @@ v = w * (x + z);
## Logging functions:

- Use `Antares::logs.[level]() << message` for logging, below is more detailed description for level:
- `logs.info() << msg` - always prints log message
- `logs.debug() << msg` - logs only in DEBUG
- `logs.warning() << msg` - the same as `logs.info()` but catches your attention
- `logs.error()` - the same as `logs.warning()`, but triggers an error when loading a study, with exceptions
- `logs.fatal()` - same as `logs.error()`
- `logs.fatal()`: indicates an error that causes a sudden shutdown of the application (e.g. null pointer exception, stack overflow, etc.). **Must not be used in antares-simulator** (use `error()` instead)
- `logs.error()`: indicates an error that causes unexpected processing behavior or interruption. Use it for anything that causes the simulation to stop (missing or malformed data, optimization error, etc.)
- `logs.warning() << msg`: indicates undesired behavior that is not an error, and that does not interrupt processing or the application. Use if for issues that do not interrupt simulation (obsolete parameter ignored, input data ignored, etc.).
- `logs.info() << msg`: information message explaining how the simulator works, intended for the person or application using it
- `logs.debug() << msg`: information message to facilitate debugging, intended for developers
Binary file not shown.
4 changes: 0 additions & 4 deletions docs/user-guide/05-attribution_notices.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,6 @@ If not, see [https://opensource.org/license/mpl-2-0/](https://opensource.org/lic
**Antares\_Simulator 8.3 uses external libraries and makes extensive use of the following persons' or companies code.
Source and binary forms of these programs are distributed along with Antares\_Simulator with NO WARRANTY:**

- Wxwidgets 3.1.3 Copyright (c) 1998-2017 The wxWidget Team
[https://github.com/wxWidgets/wxWidgets.git](https://github.com/wxWidgets/wxWidgets.git)
license: wxWindows Library License,V3.1 [https://spdx.org/licenses/wxWindows.html](https://spdx.org/licenses/wxWindows.html)

- libYuni 1.1.0 [https://github.com/libyuni](https://github.com/libyuni)
license: Mozilla Public License 2.0 [https://spdx.org/licenses/MPL-2.0.html](https://spdx.org/licenses/MPL-2.0.html)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ Binding Constraints can take many forms (hourly, daily, weekly), involve flows o

In other words, it is possible to make Antares work as a genuine DC OPF, provided that consistent binding constraints are written down for each cycle belonging to any cycle basis of the graph made out from all AC components of the power system (V vertices, E edges).

The declaration of binding constraints can be made manually through the regular GUI. However, it is preferable not to carry out this task that way because there are many different possible formulations, among which some are better than others:

- In a fully connected graph (V, E), there are as many binding constraints to write down as there are cycles in any cycle basis of the graph, which amounts to (E+1-V). The number of different possible basis is equal to that of spanning trees, which can be assessed by the Kirchhoff's theorem [^15]

- Among all cycle basis, some should be preferred to others because they lead to a sparser constraint matrix.
Expand Down Expand Up @@ -44,8 +42,6 @@ Besides, the KCG takes into account the fact that the "best estimates" of all cr

From a practical standpoint, assessments of $Y^-, Y^+$ should be derived from knowledge about the actual components installed on the grid, while $Z_l$ and $ \varphi_l $ can be estimated by various methods.

In addition to the previous functionalities, the KCG's GUI also includes the following options:

- Choice of a specific period of time for which the constraints should be applied, while completely relaxed at other moments
- Before actual generation of binding constraints, preview of the "minimal length" spanning tree used as starting point for the optimal basis algorithm (left column of the table – links displayed with "0" do not belong to the tree)
- Before actual generation of binding constraints, preview of the "optimal cycle basis" used as starting point for constraints generation (right column of the table – links displayed with "n" appear in n different cycles of the basis)
Expand Down Expand Up @@ -77,8 +73,6 @@ The binary is located in Antares_Simulator/bin/

**option_file_path**: Optional. The path of the **constraintbuilder.ini** file. It's normally located in *study_path/settings/*. If not provided the constraint builder will take the default values, which are defined at the end of cbuilder.h.

Those values were used to fill the GUI default values, and then the GUI created the file. That's why it's optional since only the default values are guaranteed to work.

### Results

New constraints generated this way will be stored in *input/bindingconstraints/* with the name uto_0001.txt,
Expand All @@ -93,4 +87,4 @@ The study only needs to include the following components to generate kirchhoff c

- Areas (contains links)
- Binding Constraints
- version number
- version number
12 changes: 12 additions & 0 deletions docs/user-guide/solver/static-modeler/04-parameters.md
Original file line number Diff line number Diff line change
Expand Up @@ -433,6 +433,18 @@ _**This section is under construction**_

> _**Note:**_ You can find more information on this parameter [here](../03-appendix.md#details-on-the-include-exportmps-parameter).

---
#### include-export-solutions
- **Expected value:** `true` or `false`
- **Required:** no
- **Default value:** `false`
- **Usage:** set to `true` to activate writing the raw optimization results, that is
- For each variable, optimal values (saved in output/output-name/optimal-values-y-w--optim-nb-z.txt) and reduced costs (saved in output/output-name/reduced-costs-y-w--optim-nb-z.txt)
- each constraint, the marginal cost is saved in output/output-name/marinal-costs-y-w--optim-nb-z.txt
where y is the year number (starting from 1), w is the week number (starting from 1) and z is the optimization index (1 or 2).

This is an advanced option intended to help developers and advanced users better understand their simulation results.

---
#### include-split-exported-mps
[//]: # (TODO: document this parameter, seems to belong to another category)
Expand Down
2 changes: 1 addition & 1 deletion simtest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"version": "v9.2.0h"
"version": "v9.2.0i"
}
2 changes: 1 addition & 1 deletion sonar-project.properties
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ sonar.sourceEncoding=UTF-8
sonar.exclusions=src/ext/**,\
src/tests/**,\
src/ui/**,\
src/libs/antares/antlr-interface/**
src/expressions/antlr-interface/**

sonar.coverage.exclusions=src/ext/**,\
src/tests/**,\
Expand Down
11 changes: 7 additions & 4 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ set(ANTARES_VERSION_REVISION 0)

# Beta release
set(ANTARES_BETA 0)
set(ANTARES_RC 8)
set(ANTARES_RC 9)

set(ANTARES_VERSION_YEAR 2024)

Expand Down Expand Up @@ -264,15 +264,18 @@ OMESSAGE("") # empty line

# Sub Directories
add_subdirectory(api)
add_subdirectory(io)
add_subdirectory(libs) #antares-core fswalker

if(BUILD_UI)
add_subdirectory(ui) #all antares ui libs + antares simulator
endif()

add_subdirectory(study) #antares study model
add_subdirectory(solver) #antares solver and all associated libs
add_subdirectory(analyzer) #antares analyser
add_subdirectory(expressions) #modeler expressions (AST)
add_subdirectory(optimisation) #optimisation APIs
add_subdirectory(study) #antares study model
add_subdirectory(solver) #antares solver and all associated libs
add_subdirectory(analyzer) #antares analyser

# Tools
if (BUILD_TOOLS)
Expand Down
9 changes: 2 additions & 7 deletions src/analyzer/atsp/atsp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,6 @@ ATSP::ATSP():

ATSP::~ATSP()
{
for (uint i = 0; i != pArea.size(); ++i)
{
delete pArea[i];
}

if (pAutoClean)
{
logs.info() << "Cleaning...";
Expand Down Expand Up @@ -116,7 +111,7 @@ void ATSP::printSummary() const

for (uint i = 0; i != pArea.size(); ++i)
{
const AreaInfo& info = *pArea[i];
const AreaInfo& info = pArea[i];
if (info.rawData)
{
logs.info() << " " << info.name << ": law '"
Expand Down Expand Up @@ -163,7 +158,7 @@ bool ATSP::writeMoments() const

for (uint i = 0; i < pArea.size(); ++i)
{
const AreaInfo& info = *(pArea[i]);
const AreaInfo& info = pArea[i];
if (!info.enabled)
{
continue;
Expand Down
Loading