|
| 1 | +name: Run partitioned-heat-conduction experiments |
| 2 | +on: |
| 3 | + push: |
| 4 | + branches: |
| 5 | + - use-github-actions-for-diss-cases |
| 6 | + |
| 7 | +jobs: |
| 8 | + run_experiments: |
| 9 | + strategy: |
| 10 | + matrix: |
| 11 | + experiment: |
| 12 | + - name: Figure 6.4a) SC p0 |
| 13 | + args: '--waveform-degree 0 --experiment poly --time-window-refinements 1 --time-step-refinements 6 --base-time-window-size 1 -o convergence-studies/subcycling_SC_p0_poly.csv' |
| 14 | + - name: Figure 6.4a) SC p1 |
| 15 | + args: '--waveform-degree 1 --experiment poly --time-window-refinements 1 --time-step-refinements 6 --base-time-window-size 1 -o convergence-studies/subcycling_SC_p1_poly.csv' |
| 16 | + - name: Figure 6.4a) MC p1 |
| 17 | + args: '--exchange-substeps --waveform-degree 1 --experiment poly --time-window-refinements 1 --time-step-refinements 6 --base-time-window-size 1 -o convergence-studies/subcycling_MC_p1_poly.csv' |
| 18 | + - name: Figure 6.4b) SC p0 |
| 19 | + args: '--waveform-degree 0 --experiment tri --time-window-refinements 1 --time-step-refinements 6 --base-time-window-size 1 -o convergence-studies/subcycling_SC_p0_tri.csv' |
| 20 | + - name: Figure 6.4b) SC p1 |
| 21 | + args: '--waveform-degree 1 --experiment tri --time-window-refinements 1 --time-step-refinements 6 --base-time-window-size 1 -o convergence-studies/subcycling_SC_p1_tri.csv' |
| 22 | + - name: Figure 6.4b) MC p1 |
| 23 | + args: '--exchange-substeps --waveform-degree 1 --experiment tri --time-window-refinements 1 --time-step-refinements 6 --base-time-window-size 1 -o convergence-studies/subcycling_MC_p1_tri.csv' |
| 24 | + - name: Figure 6.5 IE 1 |
| 25 | + args: '--experiment tri -w 6 -o convergence-studies/highorder_IE_1.csv' |
| 26 | + - name: Figure 6.5 IE 5 |
| 27 | + args: '--experiment tri -w 6 -s 1 -wd 5 -sb 5 5 -dt 0.5 --exchange-substeps -o convergence-studies/highorder_IE_5.csv' |
| 28 | + - name: Figure 6.5 IE 10 |
| 29 | + args: '--experiment tri -w 6 -s 1 -wd 10 -sb 10 10 -dt 1 --exchange-substeps -o convergence-studies/highorder_IE_10.csv' |
| 30 | + - name: Figure 6.5 GL2 1 |
| 31 | + args: '--experiment tri -w 6 -tss GaussLegendre2 GaussLegendre2 --exchange-substeps -o convergence-studies/highorder_GL2_1.csv' |
| 32 | + - name: Figure 6.5 GL2 5 |
| 33 | + args: '--experiment tri -w 6 -s 1 -wd 5 -sb 5 5 -dt 0.5 -tss GaussLegendre2 GaussLegendre2 --exchange-substeps -o convergence-studies/highorder_GL2_5.csv' |
| 34 | + - name: Figure 6.5 LIIIC 1 |
| 35 | + args: '--experiment tri -w 6 -tss LobattoIIIC3 LobattoIIIC3 --exchange-substeps -o convergence-studies/highorder_LIIIC_1.csv' |
| 36 | + - name: Figure 6.5 LIIIC 10 |
| 37 | + args: '--experiment tri -w 6 -s 1 -wd 10 -sb 10 10 -dt 1 -tss LobattoIIIC3 LobattoIIIC3 --exchange-substeps -o convergence-studies/highorder_LIIIC_10.csv' |
| 38 | + runs-on: ubuntu-latest |
| 39 | + defaults: |
| 40 | + run: |
| 41 | + working-directory: ./partitioned-heat-conduction |
| 42 | + container: precice/precice:nightly |
| 43 | + steps: |
| 44 | + - name: Checkout Repository |
| 45 | + uses: actions/checkout@v4 |
| 46 | + - name: Install Dependencies |
| 47 | + run: | |
| 48 | + apt-get -qq update |
| 49 | + apt-get -qq install software-properties-common python3-dev python3-pip python3.12-venv git apt-utils pkg-config |
| 50 | + add-apt-repository -y ppa:fenics-packages/fenics |
| 51 | + apt-get -qq install --no-install-recommends fenics |
| 52 | + rm -rf /var/lib/apt/lists/* |
| 53 | + - name: Create venv |
| 54 | + run: | |
| 55 | + ./make-venv.sh |
| 56 | + - name: Activate venv |
| 57 | + # see https://stackoverflow.com/a/74669486 |
| 58 | + run: | |
| 59 | + . .venv/bin/activate |
| 60 | + echo PATH=$PATH >> $GITHUB_ENV |
| 61 | + - name: Run tutorial |
| 62 | + run: | |
| 63 | + python3 doConvergenceStudy.py precice-config-template.xml --silent --executor Github ${{matrix.experiment.args}} |
| 64 | + - name: Store results |
| 65 | + uses: actions/upload-artifact@v4 |
| 66 | + with: |
| 67 | + name: partitioned-heat-conduction-convergence ${{ matrix.experiment.name }} |
| 68 | + path: | |
| 69 | + # working directory is ignored by actions/upload-artifact |
| 70 | + ./partitioned-heat-conduction/convergence-studies |
| 71 | + merge: |
| 72 | + runs-on: ubuntu-latest |
| 73 | + needs: run_experiments |
| 74 | + steps: |
| 75 | + - name: Merge results |
| 76 | + uses: actions/upload-artifact/merge@v4 |
| 77 | + with: |
| 78 | + name: partitioned-heat-conduction-convergence |
0 commit comments