-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Release 3.0.0 commit aabb070 Author: kalashnikovni <[email protected]> Date: Wed Oct 9 11:13:50 2024 -0300 Updated eval interface commit c336451 Merge: c912a3e 7c01077 Author: kalashnikovni <[email protected]> Date: Mon Oct 7 22:04:41 2024 -0300 Update .gitignore commit c912a3e Author: kalashnikovni <[email protected]> Date: Mon Oct 7 22:00:46 2024 -0300 Updated test suite commit 7c01077 Author: joaquin.f.fernandez <[email protected]> Date: Fri Oct 4 10:40:24 2024 -0300 [iss-32] Squashed commit of the following: commit 4a1e95d Author: joaquin.f.fernandez <[email protected]> Date: Thu Oct 3 14:52:14 2024 -0300 Update file versions. commit 0597655 Author: joaquin.f.fernandez <[email protected]> Date: Thu Oct 3 11:59:22 2024 -0300 Updated gitignore. commit 13e3d56 Author: joaquin.f.fernandez <[email protected]> Date: Thu Oct 3 11:59:07 2024 -0300 Added deploy folder. commit 33bab6b Merge: 0a9a216 d17f487 Author: kalashnikovni <[email protected]> Date: Thu Oct 3 16:15:20 2024 -0300 Merge branch 'sb-graph-dev' of https://github.com/CIFASIS/sb-graph into sb-graph-dev commit 0a9a216 Author: kalashnikovni <[email protected]> Date: Thu Oct 3 16:14:32 2024 -0300 Debugged SCC algorithm commit 21ac296 Author: kalashnikovni <[email protected]> Date: Thu Oct 3 16:14:13 2024 -0300 Erased debug info (performance) + Minor fixes commit ad71beb Author: kalashnikovni <[email protected]> Date: Thu Oct 3 16:13:13 2024 -0300 Encapsulation of interval commit 58ec0c6 Author: kalashnikovni <[email protected]> Date: Thu Oct 3 16:05:11 2024 -0300 Updated debugging info
- Loading branch information
1 parent
d17f487
commit 1535e52
Showing
102 changed files
with
1,633 additions
and
1,335 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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 |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# Changelog | ||
|
||
## [3.0.0] - 2024-10-09 | ||
### Added | ||
- Implemented Ordered Sets of one-dimensional, compact MDIs. | ||
- Implemented novel versions of Maximum Matching, SCC and Topological Sort of SBG algorithms. | ||
- Implemented Minimum Vertex Cut Set SBG algorithm for Tearing. | ||
- Implemented JSON output for client code. | ||
|
||
## [2.0.0] - 2023-06-05 | ||
### Added | ||
- Implemented parser and pretty-printer for SBG structures. | ||
- Implemented Strongly Connected Components SBG algorithm for the detection of algebraic loops. | ||
- Implemented Topological Sort SBG algorithm for vertical equation ordering. | ||
|
||
## [1.0.0] - 2022-04-04 | ||
### Added | ||
- Implemented SBG structures. | ||
- Implemented Connected Components SBG algorithm for model flattening. | ||
- Implemented Maximum Matching SBG algorithm for horizontal equation ordering. |
This file contains 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
This file contains 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 |
---|---|---|
|
@@ -5,18 +5,22 @@ Set-based graphs (SB-Graphs) are graphs in which the vertices and edges are grou | |
* Connected Components | ||
* Matching | ||
* Strongly Connected Components (SCC) | ||
* Topological Sort | ||
* Minimum Vertex Cut Set | ||
|
||
This library defines data structures to represent SB-Graphs, and implements the aforementioned algorithms. The related publications can be used as documentation of the code. | ||
|
||
This new approach was used in the flatter and causalization stage of the Modelica compiler, ModelicaCC (https://github.com/CIFASIS/modelicacc). Nevertheless, many fields could benefit of its use. | ||
|
||
## Related Publications | ||
|
||
[1] Denise Marzorati, Joaquin Fernández, Ernesto Kofman. Connected Components in Undirected Set--Based Graphs. Applications in Object--Oriented Model Manipulation Applied Mathematics and Computation, Volume 418, 2022, 126842,ISSN 0096-3003, https://doi.org/10.1016/j.amc.2021.126842. | ||
[1] Denise Marzorati, Joaquín Fernández, and Ernesto Kofman. 2024. Efficient Matching in Large DAE Models. ACM Trans. Math. Softw. Just Accepted (June 2024). https://doi.org/10.1145/3674831 | ||
|
||
[2] Ernesto Kofman, Joaquín Fernández, Denise Marzorati. Compact sparse symbolic Jacobian computation in large systems of ODEs Applied Mathematics and Computation, Volume 403, 2021, 126181, ISSN 0096-3003, https://doi.org/10.1016/j.amc.2021.126181. | ||
[2] Denise Marzorati, Joaquin Fernández, Ernesto Kofman. Connected Components in Undirected Set--Based Graphs. Applications in Object--Oriented Model Manipulation Applied Mathematics and Computation, Volume 418, 2022, 126842,ISSN 0096-3003, https://doi.org/10.1016/j.amc.2021.126842. | ||
|
||
[3] Pablo Zimmermann, Joaquin Fernandez, Ernesto Kofman. | ||
[3] Ernesto Kofman, Joaquín Fernández, Denise Marzorati. Compact sparse symbolic Jacobian computation in large systems of ODEs Applied Mathematics and Computation, Volume 403, 2021, 126181, ISSN 0096-3003, https://doi.org/10.1016/j.amc.2021.126181. | ||
|
||
[4] Pablo Zimmermann, Joaquin Fernandez, Ernesto Kofman. | ||
**Set-based graph methods for fast equation sorting in large DAE systems** | ||
EOOLT '19: Proceedings of the 9th International Workshop on Equation-based Object-oriented Modeling Languages and Tools 2019 | ||
|
||
|
@@ -110,3 +114,12 @@ Please see the file called LICENSE. | |
## Bug Reporting | ||
|
||
Report bugs to: [email protected] or [email protected] | ||
|
||
# Changelog | ||
|
||
## [3.0.0] - 2024-10-09 | ||
### Added | ||
- Implemented Ordered Sets of one-dimensional, compact MDIs. | ||
- Implemented novel versions of Maximum Matching, SCC and Topological Sort of SBG algorithms. | ||
- Implemented Cut Set SBG algorithm for Tearing. | ||
- Implemented JSON output for client code. |
This file contains 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
This file contains 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 |
---|---|---|
@@ -0,0 +1,23 @@ | ||
**Release procedure** | ||
|
||
- Checkout `sb-graph-release` branch. | ||
- Create branch `release-X.X.X`. | ||
- Merge `sb-graph-dev` -> `sb-graph-release`. | ||
- Update `version` file to `X.X.X`. | ||
- Run `update.sh`. | ||
- Commit update changes with `-n`. | ||
- Update `CHANGELOG` and `README.md` files. | ||
- Commit changes with `-n`. | ||
- Push branch. | ||
- Merge pushed branch in `sb-graph-release` with `--squash`. | ||
- Push `sb-graph-release` branch. | ||
- Merge `sb-graph-release` in `sb-graph-dev`. | ||
|
||
**Github Realease** | ||
|
||
- Select Releases -> Draft a new release. | ||
- Choose the corresponding version tag of the new release. | ||
- Select sb-graph-release as the target branch. | ||
- Update release title and description. | ||
- Upload deb files. | ||
- Publish the release. |
This file contains 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 |
---|---|---|
@@ -0,0 +1,110 @@ | ||
#!/bin/bash | ||
#=================================================================================== | ||
# | ||
# FILE: build.sh | ||
# | ||
# USAGE: build.sh | ||
# | ||
# DESCRIPTION: Build the Linux deb package for Set Based Graph Library. | ||
# | ||
# PARAMETERS: --- | ||
# OPTIONS: --- | ||
# REQUIREMENTS: --- | ||
# NOTES: --- | ||
# AUTHOR: Joaquin Fernandez, [email protected] | ||
# PROJECT: Set Based Graph Library | ||
# VERSION: 3.0.0 | ||
#=================================================================================== | ||
|
||
LIB_NAME=sb-graph-lib | ||
|
||
rm -rf $LIB_NAME-*.deb | ||
|
||
cd ../../ | ||
ARCH=`uname -m` | ||
echo "Retrieving latest from Git"; | ||
git pull | ||
|
||
# Set library version | ||
VER=`cat ./deploy/linux/version` | ||
|
||
# Set OS config files. | ||
CONTROL_FILE="control.amd64" | ||
PACKAGE_NAME=$LIB_NAME-$VER | ||
SYSTEM_VERSION=`lsb_release -d` | ||
if [[ "$SYSTEM_VERSION" == *"22.04"* ]]; then | ||
CONTROL_FILE="control.amd64.u22" | ||
PACKAGE_NAME=$PACKAGE_NAME-u22 | ||
fi | ||
|
||
# Set solver branch | ||
BRANCH=`git rev-parse --abbrev-ref HEAD` | ||
|
||
# If build from development branch, update package name to unstable. | ||
if [ "$BRANCH" != "sb-graph-release" ]; then | ||
PACKAGE_NAME=$PACKAGE_NAME-unstable | ||
fi | ||
|
||
PACKAGE_NAME=$PACKAGE_NAME.deb | ||
|
||
echo "Building SB Graph DEB package for $ARCH version $VER"; | ||
echo "Building Binaries"; | ||
autoconf | ||
./configure | ||
make clean | ||
make | ||
|
||
echo "Creating temp folders..." | ||
rm -rf tmp_deb | ||
rm -rf tmp | ||
mkdir tmp_deb | ||
mkdir tmp | ||
echo "Done." | ||
|
||
echo "Export repo to temp folder..." | ||
CHECKOUT_PATH=./tmp/ | ||
mkdir -p $CHECKOUT_PATH | ||
git checkout-index -a -f --prefix=$CHECKOUT_PATH | ||
echo "Done." | ||
|
||
echo "Export tmp files to deb container..." | ||
|
||
USER_FOLDER=usr | ||
INSTALL_FOLDER=$USER_FOLDER/local | ||
INCLUDE=include | ||
LIB=lib | ||
BIN=bin | ||
|
||
cp -r ./deploy/linux/deb/* ./tmp_deb/ | ||
chmod 0755 tmp_deb/DEBIAN/post* | ||
mkdir ./tmp_deb/$USER_FOLDER | ||
mkdir ./tmp_deb/$INSTALL_FOLDER | ||
mkdir ./tmp_deb/$INSTALL_FOLDER/$BIN | ||
mkdir ./tmp_deb/$INSTALL_FOLDER/$INCLUDE | ||
mkdir ./tmp_deb/$INSTALL_FOLDER/$INCLUDE/sb-graph | ||
mkdir ./tmp_deb/$INSTALL_FOLDER/$INCLUDE/sb-graph/ast | ||
mkdir ./tmp_deb/$INSTALL_FOLDER/$INCLUDE/sb-graph/eval | ||
mkdir ./tmp_deb/$INSTALL_FOLDER/$INCLUDE/sb-graph/parser | ||
mkdir ./tmp_deb/$INSTALL_FOLDER/$INCLUDE/sb-graph/sbg | ||
mkdir ./tmp_deb/$INSTALL_FOLDER/$INCLUDE/sb-graph/util | ||
mkdir ./tmp_deb/$INSTALL_FOLDER/$LIB | ||
|
||
cat ./tmp_deb/DEBIAN/$CONTROL_FILE | awk -v VERSION="$VER" '{ if(index($0,"Version:")>=1) print "Version: " VERSION ; else print $0;}' > ./tmp_deb/DEBIAN/control | ||
rm ./tmp_deb/DEBIAN/$CONTROL_FILE | ||
|
||
cp bin/sbg-eval ./tmp_deb/$INSTALL_FOLDER/$BIN | ||
cp bin/sbg-parser ./tmp_deb/$INSTALL_FOLDER/$BIN | ||
cp lib/libsbgraph.a ./tmp_deb/$INSTALL_FOLDER/$LIB | ||
cp -r ./tmp/ast/*.hpp ./tmp_deb/$INSTALL_FOLDER/$INCLUDE/sb-graph/ast | ||
cp -r ./tmp/eval/*.hpp ./tmp_deb/$INSTALL_FOLDER/$INCLUDE/sb-graph/eval | ||
cp -r ./tmp/parser/*.hpp ./tmp_deb/$INSTALL_FOLDER/$INCLUDE/sb-graph/parser | ||
cp -r ./tmp/sbg/*.hpp ./tmp_deb/$INSTALL_FOLDER/$INCLUDE/sb-graph/sbg | ||
cp -r ./tmp/util/*.hpp ./tmp_deb/$INSTALL_FOLDER/$INCLUDE/sb-graph/util | ||
|
||
chmod 0644 `find tmp_deb/ -iname *.hpp` | ||
chmod 0755 `find tmp_deb/ -type d` | ||
fakeroot dpkg -b tmp_deb $LIB_NAME.deb | ||
mv $LIB_NAME.deb ./deploy/linux/$PACKAGE_NAME | ||
rm -rf tmp_deb | ||
rm -rf tmp | ||
cd deploy/linux |
This file contains 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 |
---|---|---|
@@ -0,0 +1,9 @@ | ||
Package: sb-graph-lib | ||
Version: | ||
Architecture: amd64 | ||
Maintainer: Denise Marzorati <[email protected]> | ||
Installed-Size: 801758 | ||
Section: science | ||
Priority: extra | ||
Homepage: https://github.com/CIFASIS/sb-graph | ||
Description: Set Based Graph library. |
This file contains 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 |
---|---|---|
@@ -0,0 +1,9 @@ | ||
Package: sb-graph-lib | ||
Version: | ||
Architecture: amd64 | ||
Maintainer: Denise Marzorati <[email protected]> | ||
Installed-Size: 801758 | ||
Section: science | ||
Priority: extra | ||
Homepage: https://github.com/CIFASIS/sb-graph | ||
Description: Set Based Graph library. |
This file contains 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 |
---|---|---|
@@ -0,0 +1,2 @@ | ||
#!/bin/sh | ||
# End automatically added section |
This file contains 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 |
---|---|---|
@@ -0,0 +1,3 @@ | ||
#!/bin/sh | ||
# Automatically added by dh_installmenu | ||
# End automatically added section |
This file contains 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 |
---|---|---|
@@ -0,0 +1,29 @@ | ||
#!/bin/bash | ||
#=================================================================================== | ||
# | ||
# FILE: update-version.sh | ||
# | ||
# USAGE: update-version.sh | ||
# | ||
# DESCRIPTION: Helper script to update version info in all project related files. | ||
# | ||
# PARAMETERS: --- | ||
# OPTIONS: --- | ||
# REQUIREMENTS: --- | ||
# NOTES: --- | ||
# AUTHOR: Joaquin Fernandez, [email protected] | ||
# PROJECT: Set Based Graph Library | ||
#=================================================================================== | ||
|
||
VER=`cat ./version` | ||
|
||
# Update deploy files. | ||
sed -i "s/VERSION:.*/VERSION: $VER/" ./build.sh | ||
|
||
# Update doxyfiles. | ||
sed -i "s/PROJECT_NUMBER =.*/PROJECT_NUMBER = $VER/" ../../sbg/SBG.doxyfile | ||
sed -i "s/PROJECT_NUMBER =.*/PROJECT_NUMBER = $VER/" ../../util/UTIL.doxyfile | ||
|
||
# Update main bynary files version. | ||
sed -i "s/SBG library v.*/SBG library v$VER\" << std::endl;/" ../../parser/main.cpp | ||
sed -i "s/SBG library v.*/SBG library v$VER\" << std::endl;/" ../../eval/main.cpp |
This file contains 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 |
---|---|---|
@@ -0,0 +1 @@ | ||
3.0.0 |
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.