Add Stokes flow example (#54) #479
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
name: CI | |
on: | |
push: | |
branches: | |
- main | |
workflow_dispatch: {} | |
pull_request: | |
types: [opened, labeled, synchronize] | |
branches: | |
- main | |
jobs: | |
docker-image: | |
uses: ./.github/workflows/docker.yml | |
linux: | |
runs-on: ubuntu-latest | |
needs: [docker-image] | |
container: | |
image: ghcr.io/llnl/scaleuprom/scaleuprom_env:latest | |
options: --user 1001 --privileged | |
volumes: | |
- /mnt:/mnt | |
steps: | |
- name: Cancel previous runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
- name: Set Swap Space | |
uses: pierotofy/set-swap-space@master | |
with: | |
swap-size-gb: 10 | |
- name: Check out scaleupROM | |
uses: actions/checkout@v3 | |
- name: Build scaleupROM | |
run: | | |
mkdir ${GITHUB_WORKSPACE}/build | |
cd ${GITHUB_WORKSPACE}/build | |
cmake .. -DBUILD_SKETCHES=On | |
make -j 4 | |
- name: Test parser | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./test_parser | |
- name: Test DG integrator | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./dg_integ_mms | |
- name: Test linalg_utils | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./test_linalg_utils | |
- name: Test nonlinear integrator gradient | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./nonlinear_integ_grad | |
- name: Test nonlinear interface integrator gradient | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./interfaceinteg_grad | |
- name: Test ROM NonlinearForm | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./test_rom_nonlinearform | |
- name: Test ROM InterfaceForm | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./test_rom_interfaceform | |
- name: Test Poisson DD solver | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./poisson_dd_mms | |
- name: Test Stokes DD solver | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./stokes_dd_mms | |
- name: Test SteadyNS DD solver | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./steady_ns_dd_mms | |
- name: Test UnsteadyNS DD solver | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./unsteady_ns_dd_mms | |
- name: Test LinearElastic DD solver | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./linelast_dd_mms | |
- name: Test parametrized problem | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./test_param_prob | |
- name: Test workflow | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./test_workflow | |
- name: Test hdf5 utils | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./test_hdf5 | |
- name: Test component topology handler | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./test_topol | |
- name: Test block matrix preconditioner | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./test_block_smoother | |
- name: Test multi-component domain decomposition | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test/gmsh | |
echo 'if [ -f "./multi_comp_dd_mms" ]; then ./multi_comp_dd_mms; else echo "multi_comp_dd_mms does not exist. Passing the test."; fi' >> command.sh | |
sh command.sh | |
- name: Test Stokes multi-component domain decomposition | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test/gmsh | |
echo 'if [ -f "./stokes_multi_comp_dd_mms" ]; then ./stokes_multi_comp_dd_mms; else echo "stokes_multi_comp_dd_mms does not exist. Passing the test."; fi' >> command.sh | |
sh command.sh | |
- name: Test multi-component workflow | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test/gmsh | |
echo 'if [ -f "./test_multi_comp_workflow" ]; then ./test_multi_comp_workflow; else echo "test_multi_comp_workflow does not exist. Passing the test."; fi' >> command.sh | |
sh command.sh | |
- name: Test parallel POD/EQP | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 3 | |
command: | | |
cd ${GITHUB_WORKSPACE}/build/test | |
./test_ns_parallel --gtest_filter=NSTensor.Sampling | |
mpirun -n 3 --oversubscribe ./test_ns_parallel --gtest_filter=NSTensor.Train | |
./test_ns_parallel --gtest_filter=NSTensor.Build_SingleRun | |
./test_ns_parallel --gtest_filter=NSEQP.Sampling | |
mpirun -n 3 --oversubscribe ./test_ns_parallel --gtest_filter=NSEQP.Train | |
./test_ns_parallel --gtest_filter=NSEQP.Build_SingleRun | |
# - name: Upload the compiled artifacts | |
# uses: actions/upload-artifact@master | |
# with: | |
# name: build-dir | |
# path: ${GITHUB_WORKSPACE}/build |