Run precice-3 experiments #13
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
| name: Run precice-3 experiments | |
| on: workflow_dispatch | |
| jobs: | |
| run_experiments: | |
| strategy: | |
| matrix: | |
| experiment: | |
| # Higher-order time stepping | |
| - name: Higher-order time stepping Newmark_beta | |
| args: '-tss Newmark_beta Newmark_beta -o convergence-studies/higher-order/precice_3_Newmark_beta.csv' | |
| - name: Higher-order time stepping generalized_alpha | |
| args: '-tss generalized_alpha generalized_alpha -o convergence-studies/higher-order/precice_3_generalized_alpha.csv' | |
| - name: Higher-order time stepping runge_kutta_4 | |
| args: '-tss runge_kutta_4 runge_kutta_4 -o convergence-studies/higher-order/precice_3_runge_kutta_4.csv' | |
| - name: Higher-order time stepping radauIIA | |
| args: '-tss radauIIA radauIIA -o convergence-studies/higher-order/precice_3_radauIIA.csv' | |
| # Subcycling | |
| - name: Subcycling Newmark_beta | |
| args: '-s 5 -sb 1 1 -sf 2 1 -w 1 -tss Newmark_beta Newmark_beta -o convergence-studies/subcycling/precice_3_Newmark_beta.csv' | |
| - name: Subcycling generalized_alpha | |
| args: '-s 5 -sb 1 1 -sf 2 1 -w 1 -tss generalized_alpha generalized_alpha -o convergence-studies/subcycling/precice_3_generalized_alpha.csv' | |
| - name: Subcycling runge_kutta_4 | |
| args: '-s 5 -sb 1 1 -sf 2 1 -w 1 -tss runge_kutta_4 runge_kutta_4 -o convergence-studies/subcycling/precice_3_runge_kutta_4.csv' | |
| - name: Subcycling radauIIA | |
| args: '-s 5 -sb 1 1 -sf 2 1 -w 1 -tss radauIIA radauIIA -o convergence-studies/subcycling/precice_3_radauIIA.csv' | |
| # Runge Kutta 4 | |
| - name: runge_kutta_4 degree 1 | |
| args: '-tss runge_kutta_4 runge_kutta_4 -wd 1 -dt 0.2 -sb 5 5 -o convergence-studies/runge-kutta-4/precice_3_runge_kutta_4_degree1.csv' | |
| - name: runge_kutta_4 degree 2 | |
| args: '-tss runge_kutta_4 runge_kutta_4 -wd 2 -dt 0.2 -sb 5 5 -o convergence-studies/runge-kutta-4/precice_3_runge_kutta_4_degree2.csv' | |
| - name: runge_kutta_4 degree 3 | |
| args: '-tss runge_kutta_4 runge_kutta_4 -wd 3 -dt 0.2 -sb 5 5 -o convergence-studies/runge-kutta-4/precice_3_runge_kutta_4_degree3.csv' | |
| # RadauIIA | |
| - name: radauIIA degree 1 | |
| args: '-tss radauIIA radauIIA -wd 1 -dt 0.2 -sb 5 5 -o convergence-studies/radauIIA/precice_3_radauIIA_degree1.csv' | |
| - name: radauIIA degree 2 | |
| args: '-tss radauIIA radauIIA -wd 2 -dt 0.2 -sb 5 5 -o convergence-studies/radauIIA/precice_3_radauIIA_degree2.csv' | |
| - name: radauIIA degree 3 | |
| args: '-tss radauIIA radauIIA -wd 3 -dt 0.2 -sb 5 5 -o convergence-studies/radauIIA/precice_3_radauIIA_degree3.csv' | |
| # degree > 3 only allowed for precice > 3.2; see run_experiments_v3_nightly below | |
| - name: radauIIA degree 4 | |
| args: '-tss radauIIA radauIIA -wd 4 -dt 0.2 -sb 5 5 -o convergence-studies/radauIIA/precice_3_radauIIA_degree4.csv' | |
| - name: radauIIA degree 5 | |
| args: '-tss radauIIA radauIIA -wd 5 -dt 0.2 -sb 5 5 -o convergence-studies/radauIIA/precice_3_radauIIA_degree5.csv' | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: ./precice-3 | |
| container: precice/precice:3.2.0rc1 | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Install Dependencies | |
| run: | | |
| apt-get -qq update | |
| apt-get -qq install python3-venv git pkg-config g++ | |
| rm -rf /var/lib/apt/lists/* | |
| - name: Create venv | |
| run: | | |
| ./make-venv.sh | |
| - name: Activate venv | |
| # see https://stackoverflow.com/a/74669486 | |
| run: | | |
| . .venv/bin/activate | |
| echo PATH=$PATH >> $GITHUB_ENV | |
| - name: Run tutorial | |
| run: | | |
| python3 doConvergenceStudy.py precice-config-template.xml --silent --executor Github ${{ matrix.experiment.args }} | |
| - name: Store logs | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: precice-3 logs ${{ matrix.experiment.name }} | |
| path: | | |
| # working directory is ignored by actions/upload-artifact | |
| ./precice-3/*.log | |
| - name: Store results | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: precice-3 ${{ matrix.experiment.name }} | |
| path: | | |
| # working directory is ignored by actions/upload-artifact | |
| ./precice-3/convergence-studies | |
| merge: | |
| runs-on: ubuntu-latest | |
| needs: run_experiments | |
| steps: | |
| - name: Merge results | |
| uses: actions/upload-artifact/merge@v4 | |
| with: | |
| name: precice-3 |