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

Release v0.3.0 #57

Merged
merged 91 commits into from
Aug 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
1e7fb0e
Add local variant of adaptive control strategy (#11)
IshaanDesai Jan 25, 2023
1d8753b
Minor corrections in logging
IshaanDesai Jan 25, 2023
d1d6738
Formatting
IshaanDesai Jan 25, 2023
cec8910
Get adaptivity to work on a per rank basis and add unit tests for the…
IshaanDesai Feb 16, 2023
24932e7
Remove logging of each active and inactive micro sim id, and instead …
IshaanDesai Feb 24, 2023
8d3b1cc
Formatting
IshaanDesai Feb 24, 2023
41f9368
Simplify solver dummy configuration to avoid unexpected behavior
IshaanDesai Mar 6, 2023
ace86f0
Add C++ bindings for manager API using pybind11 and also a correspond…
erikscheurer Mar 6, 2023
95db104
Do some syntax changes (#26)
erikscheurer Mar 13, 2023
9a06a5f
Fix bug in adaptivity association step (#27)
IshaanDesai Mar 17, 2023
0ac7a15
Adjust configuration so that adaptivity can be switched off without r…
IshaanDesai Mar 26, 2023
467e244
Merge branch 'develop' of github.com:precice/micro-manager into develop
IshaanDesai Mar 26, 2023
9fce271
Copy active micro simulation object to inactive one when it is being …
IshaanDesai Mar 30, 2023
a2d3b8e
Move initiliazation of micro sim states outside of adaptivity calcula…
IshaanDesai Mar 30, 2023
eebc523
Change names of association step functions and variables
IshaanDesai Mar 31, 2023
41fba1e
Formatting
IshaanDesai Mar 31, 2023
2cf4553
Formatting the C++ solver dummy
IshaanDesai Apr 13, 2023
b599cad
Add test for solverdummy with adaptivity
erikscheurer Apr 13, 2023
961501d
Correct path
erikscheurer Apr 13, 2023
39e5210
Change to correct precice-config and format
erikscheurer Apr 13, 2023
3dba434
Add __deepcopy__ function and switch test order
erikscheurer Apr 13, 2023
7b99bf1
Add timeout to solverdummies
erikscheurer Apr 13, 2023
b9ddb51
Add adaptivity hints to solverdummy readme
erikscheurer Apr 13, 2023
ce5fed4
Add parser argument to `run_micro_manager`
erikscheurer Apr 14, 2023
8968f01
Correct path and make config file mandatory
erikscheurer Apr 14, 2023
e76ff83
Correct calling python file
erikscheurer Apr 14, 2023
9d85621
Set local and global ID of copied active simulation to the original I…
IshaanDesai Apr 16, 2023
860d8b4
Delete cpp-dummy compiled file and micro-manager.log in the cleaning …
IshaanDesai Apr 17, 2023
9c0000e
Merge branch 'develop' of github.com:precice/micro-manager into develop
IshaanDesai Apr 17, 2023
ffa869f
Add pickling support to C++ solver dummy (#30)
IshaanDesai Apr 17, 2023
1648b56
Merge branch 'develop' into pybind-deepcopy
IshaanDesai Apr 17, 2023
cf9fee5
Add option for get and set state
erikscheurer Apr 17, 2023
2839297
Format
erikscheurer Apr 17, 2023
d110b55
Rectify check in setstate function
IshaanDesai Apr 17, 2023
0a9022d
Micro Manager no longer passes local ID to micro simulation during ob…
IshaanDesai Apr 18, 2023
7e9c3e7
Merge pull request #29 from precice/pybind-deepcopy
erikscheurer Apr 18, 2023
213fad8
Refactor adaptivity functionality into a separate class structure (#38)
IshaanDesai May 15, 2023
3476db4
Change branches to run tests on push (#43)
erikscheurer May 19, 2023
23946fa
New domain decomposition strategy based on user input of number of pr…
IshaanDesai May 23, 2023
f01e035
Repair global collective operations for number of sims on ranks and g…
IshaanDesai May 23, 2023
f899e6b
Go back to older Allgather commands to collect info on number of sims…
IshaanDesai May 23, 2023
5228040
Use range for iteratable
IshaanDesai May 23, 2023
9d4a57a
Add unit tests for micro_manager file (#37)
erikscheurer May 24, 2023
c6e7e64
Update CHANEGLOG
IshaanDesai May 24, 2023
65aeabf
Make GitHub Actions YAML files consistent and also format them
IshaanDesai May 24, 2023
921b447
Add path in checkout Action for all actions
IshaanDesai May 24, 2023
0548c1d
Further formatting of Actions YAML files and consistent use of workin…
IshaanDesai May 24, 2023
e9540cc
Update documentation for the preCICE website (#39)
erikscheurer May 25, 2023
0174fa6
Add update-website workflow (#46)
erikscheurer May 30, 2023
221f16d
Move to diagnostics (#45)
erikscheurer May 30, 2023
168b4fb
Correct permalinks in documentation and also simplify names (#47)
IshaanDesai May 31, 2023
80a3e31
Modify docs/README.md
IshaanDesai May 31, 2023
ee66d93
Add content of usage.md into README.md
IshaanDesai May 31, 2023
295d0f9
Add user option for similarity measures (#40)
erikscheurer Jun 1, 2023
b04dadb
Create sub-heading adaptivity under simulation_params to shorten conf…
IshaanDesai Jun 1, 2023
fca22f8
Move to a relative path configuration (#48)
erikscheurer Jun 1, 2023
d5e8a1e
Reworking documentation (#50)
IshaanDesai Jun 3, 2023
1ca7682
Change the config parameter 'axiswise_ranks' to 'decomposition'
IshaanDesai Jun 3, 2023
98c7996
Fixing links in the documentation and small corrections
IshaanDesai Jun 5, 2023
035d8f5
Fix link to develop branch in installation documentation
IshaanDesai Jun 5, 2023
4d13945
Fixing broken links in documentation
IshaanDesai Jun 7, 2023
041495d
Remove adaptivity references from main README as they are confusing here
IshaanDesai Jun 14, 2023
79d3cb0
Prefix images in documentation with tooling-micro-manager-
IshaanDesai Jun 16, 2023
98d7e1d
Turn off table of contents for the micro simulation conver to library…
IshaanDesai Jun 16, 2023
fd79760
Smooth over some documentation (#52)
uekerman Jun 19, 2023
80d3292
Add global variant to adaptivity (#42)
IshaanDesai Jul 6, 2023
b0ae05d
Remove print statements from debugging and rename class creation func…
IshaanDesai Jul 7, 2023
c33e212
Split methods in micro_manager.py into public and private methods
IshaanDesai Jul 7, 2023
a0d31db
Adding incomplete and missing documentation
IshaanDesai Jul 7, 2023
b4fbbb9
Split tests and add new parallel tests for global adaptivity
IshaanDesai Jul 14, 2023
5c452e4
Add get_state and set_state functions to documentation, and simplify …
IshaanDesai Jul 14, 2023
7af4879
Remove all traces of checkpoint
IshaanDesai Jul 14, 2023
f7a2753
Update CHANGELOG
IshaanDesai Jul 18, 2023
daf4961
Add release guide
IshaanDesai Jul 18, 2023
a8b827c
Add content to tests/README
IshaanDesai Jul 18, 2023
caccb84
Update README.md
IshaanDesai Aug 1, 2023
2eb2d7c
Add logger to config and add documentation for tests
IshaanDesai Aug 4, 2023
8d55232
Formatting
IshaanDesai Aug 4, 2023
23ab50b
Add badges in README
IshaanDesai Aug 7, 2023
c465ba5
Formatting
IshaanDesai Aug 7, 2023
f33f3e9
Trigger workflows
IshaanDesai Aug 9, 2023
191dc87
Fix adaptivity test
IshaanDesai Aug 9, 2023
41d1b7a
use number_of_sims instead of number_of_(local/global)_sims
IshaanDesai Aug 9, 2023
4dd37aa
Update README.md
IshaanDesai Aug 24, 2023
2020140
Minor updates to the release guide
IshaanDesai Aug 25, 2023
7cab4ae
Set pyprecice dependency version to <=2.5.0 to ensure compatibility
IshaanDesai Aug 26, 2023
2c93cfb
Restrict pyprecice to v2.5.0.4 to ensure working state
IshaanDesai Aug 26, 2023
ead937e
Update release guide
IshaanDesai Aug 26, 2023
a88d08b
Manually set buffer for pickled message in mpi4py, and then remove wa…
IshaanDesai Aug 28, 2023
319a80e
Formatting
IshaanDesai Aug 28, 2023
fe55271
Bump version
IshaanDesai Aug 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/check-links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Check links (manual)
on: workflow_dispatch
jobs:
check_links:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Check links in markdown files (markdown-link-check)
uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
use-quiet-mode: 'yes'
use-verbose-mode: 'no'
config-file: '.markdown-link-check-config.json'
13 changes: 13 additions & 0 deletions .github/workflows/check-markdown.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Lint docs
on: [push, pull_request]
jobs:
check_md:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v2
- name: Lint markdown files (markdownlint)
uses: articulate/actions-markdownlint@v1
with:
config: .markdownlint.json
files: '.'
3 changes: 2 additions & 1 deletion .github/workflows/check-pep8.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ name: autopep8
on:
push:
branches:
- "*"
- main
- develop
pull_request:
branches:
- "*"
Expand Down
105 changes: 105 additions & 0 deletions .github/workflows/run-adaptivity-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: Test adaptivity
on:
push:
branches:
- main
- develop
pull_request:
branches:
- "*"
jobs:
integration_test:
name: Run integration test
runs-on: ubuntu-latest
container: precice/precice
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
path: micro-manager

- name: Install dependencies
working-directory: micro-manager
run: |
apt-get -qq update
apt-get -qq install python3-dev python3-pip git python-is-python3 pkg-config
python -m pip install --upgrade pip
pip install setuptools wheel

- name: Install Micro Manager
working-directory: micro-manager
run: pip3 install --user .

- name: Run integration test with local adaptivity
timeout-minutes: 3
working-directory: micro-manager/tests/integration/test_unit_cube
run: python3 unit_cube.py & python3 run_micro_manager.py --config micro-manager-config-local-adaptivity.json

- name: Run integration test serially with global adaptivity
timeout-minutes: 3
working-directory: micro-manager/tests/integration/test_unit_cube
run: python3 unit_cube.py & python3 run_micro_manager.py --config micro-manager-config-global-adaptivity.json

unit_tests_serial:
name: Run unit tests (serial variants)
runs-on: ubuntu-latest
container: precice/precice
steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
path: micro-manager

- name: Install Dependencies
working-directory: micro-manager
run: |
apt-get -qq update
apt-get -qq install python3-dev python3-pip git python-is-python3 pkg-config
python -m pip install --upgrade pip
pip install setuptools wheel

- name: Install Micro Manager
working-directory: micro-manager
run: pip3 install --user .

- name: Run unit tests
working-directory: micro-manager/tests/unit
run: python3 -m unittest test_adaptivity_serial.py

unit_tests_parallel:
name: Run unit tests (parallel variants)
runs-on: ubuntu-latest
container: precice/precice
steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
path: micro-manager

- name: Install sudo for MPI
working-directory: micro-manager
run: |
apt-get -qq update
apt-get -qq install sudo

- name: Use mpi4py
uses: mpi4py/setup-mpi@v1

- name: Add user precice
run: useradd -m -s /bin/bash precice

- name: Install Dependencies
working-directory: micro-manager
run: |
apt-get -qq update
apt-get -qq install python3-dev python3-pip git python-is-python3 pkg-config
su -c "python -m pip install --upgrade pip" precice
su -c "pip install setuptools wheel twine" precice

- name: Install Micro Manager
working-directory: micro-manager
run: su -c "pip3 install --user ." precice

- name: Run unit tests
working-directory: micro-manager/tests/unit
run: su -c "mpiexec -n 2 python3 -m unittest test_adaptivity_parallel.py" precice
83 changes: 83 additions & 0 deletions .github/workflows/run-domain-decomposition-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: Test domain decomposition
on:
push:
branches:
- main
- develop
pull_request:
branches:
- "*"
jobs:
integration_test:
name: Run integration tests
runs-on: ubuntu-latest
container: precice/precice
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
path: micro-manager

- name: Install sudo for MPI
working-directory: micro-manager
run: |
apt-get -qq update
apt-get -qq install sudo

- name: Use mpi4py
uses: mpi4py/setup-mpi@v1

- name: Add user precice
run: useradd -m -s /bin/bash precice

- name: Install Dependencies
working-directory: micro-manager
run: |
apt-get -qq install python3-dev python3-pip git python-is-python3 pkg-config
su -c "python -m pip install --upgrade pip" precice
su -c "pip install setuptools wheel twine" precice

- name: Install micro-manager
working-directory: micro-manager
run: su -c "pip3 install --user ." precice

- name: Run integration test (variant 1)
timeout-minutes: 3
working-directory: micro-manager/tests/integration
run: |
chown -R precice test_unit_cube/
cd test_unit_cube/
su -c "mpiexec -n 2 python3 run_micro_manager.py --config micro-manager-config-parallel-1.json & python3 unit_cube.py" precice

- name: Run integration test (variant 2)
timeout-minutes: 3
working-directory: micro-manager/tests/integration
run: |
cd test_unit_cube/
su -c "mpiexec -n 6 --oversubscribe python3 run_micro_manager.py --config micro-manager-config-parallel-2.json & python3 unit_cube.py" precice

unit_tests:
name: Run unit tests
runs-on: ubuntu-latest
container: precice/precice
steps:
- name: Checkout Repository
uses: actions/checkout@v3
with:
path: micro-manager

- name: Install Dependencies
working-directory: micro-manager
run: |
apt-get -qq update
apt-get -qq install python3-dev python3-pip git python-is-python3 pkg-config
python -m pip install --upgrade pip
pip install setuptools wheel

- name: Install Micro Manager
working-directory: micro-manager
run: pip3 install --user .

- name: Run unit tests
working-directory: micro-manager/tests/unit
run: python3 -m unittest test_domain_decomposition.py
48 changes: 38 additions & 10 deletions .github/workflows/run-macro-micro-dummy.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,58 @@
name: Run macro-micro dummy case
name: Run macro-micro dummy
on:
push:
branches:
- "*"
- main
- develop
pull_request:
branches:
- "*"
jobs:
run_macro_micro_dummy:
name: Run macro-micro dummy
run_dummy:
name: Run dummy
runs-on: ubuntu-latest
container: precice/precice
steps:

- name: Checkout Repository
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
path: micro-manager

- name: Install Dependencies
working-directory: micro-manager
run: |
apt-get -qq update
apt-get -qq install python3-dev python3-pip git python-is-python3 pkg-config
apt-get -qq install sudo
python -m pip install --upgrade pip
pip install setuptools wheel twine
- name: Install pyprecice
run: pip3 install --user pyprecice

- name: Install micro-manager
working-directory: micro-manager
run: pip3 install --user .
- name: Run macro-micro dummy

- name: Run python macro-micro dummy
timeout-minutes: 3
working-directory: micro-manager/examples
run: python3 python-dummy/run_micro_manager.py --config micro-manager-config.json & python3 macro_dummy.py

- name: Run adaptive python macro-micro dummy
timeout-minutes: 3
working-directory: micro-manager/examples
run: python3 python-dummy/run_micro_manager.py --config micro-manager-adaptivity-config.json & python3 macro_dummy.py

- name: Run c++ macro-micro dummy
timeout-minutes: 3
working-directory: micro-manager/examples
run: |
cd examples/macro-micro-dummy/
python3 macro_dummy.py & python3 run_micro_manager.py
cd cpp-dummy/
pip install pybind11
c++ -O3 -Wall -shared -std=c++11 -fPIC $(python3 -m pybind11 --includes) micro_cpp_dummy.cpp -o micro_dummy$(python3-config --extension-suffix)
cd ../
python3 cpp-dummy/run_micro_manager.py --config micro-manager-config.json & python3 macro_dummy.py

- name: Run adaptive c++ macro-micro dummy
timeout-minutes: 3
working-directory: micro-manager/examples
run: python3 cpp-dummy/run_micro_manager.py --config micro-manager-adaptivity-config.json & python3 macro_dummy.py
29 changes: 29 additions & 0 deletions .github/workflows/run-unit-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Run unit tests
on:
push:
branches:
- main
- develop
pull_request:
branches:
- "*"
jobs:
unit-tests:
runs-on: ubuntu-latest
container: precice/precice
steps:
- uses: actions/checkout@v3
with:
path: micro-manager

- name: Install Micro Manager and uninstall pyprecice
working-directory: micro-manager
run: |
apt-get -qq update
apt-get -qq install python3-dev python3-pip git python-is-python3 pkg-config
python3 -m pip install --user .
python3 -m pip uninstall -y pyprecice

- name: Run unit tests
working-directory: micro-manager/tests/unit
run: python3 -m unittest test_micro_manager.py
22 changes: 22 additions & 0 deletions .github/workflows/update-website.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Update website
on:
push:
branches:
- 'develop'
paths:
- 'docs/**'
jobs:
trigger:
runs-on: ubuntu-latest
env:
WORKFLOW_FILENAME: update-submodules.yml
steps:
- name: Trigger workflow
run: |
curl \
--request POST \
--url https://api.github.com/repos/precice/precice.github.io/actions/workflows/$WORKFLOW_FILENAME/dispatches \
--header "authorization: token ${{ secrets.WORKFLOW_DISPATCH_TOKEN }}" \
--header "Accept: application/vnd.github.v3+json" \
--data '{"ref":"master"}' \
--fail
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,14 @@ __pycache__

# Building artifacts
build
micro_manager_precice.egg-info/
micro_manager.egg-info/

# Packaging artifacts
dist

# vscode
.vscode

# Tests output
*.log
3 changes: 3 additions & 0 deletions .markdown-link-check-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"aliveStatusCodes": [429, 200]
}
5 changes: 5 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"MD013": false,
"MD033": false,
"MD034": false
}
11 changes: 10 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,18 @@

## latest

## v0.3.0

- Add global variant to adaptivity (still experimental) https://github.com/precice/micro-manager/pull/42
- Add norm-based (L1 and L2) support for functions in similarity distance calculation with absolute and relative variants https://github.com/precice/micro-manager/pull/40
- New domain decomposition strategy based on user input of number of processors along each axis https://github.com/precice/micro-manager/pull/41
- Add pickling support for C++ solver dummy https://github.com/precice/micro-manager/pull/30
- Add C++ solver dummy to show how a C++ micro simulation can be controlled by the Micro Manager https://github.com/precice/micro-manager/pull/22
- Add local adaptivity https://github.com/precice/micro-manager/pull/21

## v0.2.1

- Fixing the broken action workflow `run-macro-micro-dummy`
- Fixing the broken action workflow `run-macro-micro-dummy`

## v0.2.0

Expand Down
Loading
Loading