Skip to content

Commit

Permalink
Add integration testing (#19)
Browse files Browse the repository at this point in the history
  • Loading branch information
mrp089 committed Mar 15, 2023
1 parent 0f40da3 commit ca252b0
Show file tree
Hide file tree
Showing 220 changed files with 546,750 additions and 108 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.vtu filter=lfs diff=lfs merge=lfs -text
*.vtp filter=lfs diff=lfs merge=lfs -text
43 changes: 0 additions & 43 deletions .github/workflows/buildtest.yml

This file was deleted.

40 changes: 40 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Integration
on: [push, pull_request]
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-12]
fail-fast: false
steps:
- uses: actions/checkout@v3
- name: Install Ubuntu dependencies
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt update
sudo apt install -y build-essential cmake qtbase5-dev libblas-dev liblapack-dev
sudo apt install -y libopenblas-dev mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev
sudo apt install -y libvtk7-dev
- name: Install MacOS dependencies
if: startsWith(matrix.os, 'macos')
run: |
brew install cmake vtk openblas lapack mesa open-mpi qt5
brew link --force qt5
sudo ln -s /usr/local/Cellar/qt@5/5.15.8_2/mkspecs /usr/local/mkspecs
sudo ln -s /usr/local/Cellar/qt@5/5.15.8_2/plugins /usr/local/plugins
- name: Build svFSIplus
run: |
mkdir build
cd build
cmake ..
make -j2
- name: Install test dependencies
run: |
conda create -n svfsiplus python=3.9
conda run -n svfsiplus pip install pytest pytest-cov pytest-mock numpy meshio
- name: Run integration tests
run: |
git lfs pull
cd tests
conda run -n svfsiplus pytest -v
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,11 @@ build
# System files osx
**/.DS_Store

# svFSIplus output
*-procs

# Python files
__pycache__

# pytest
.pytest_cache
Empty file added tests/__init__.py
Empty file.
Git LFS file not shown
85 changes: 85 additions & 0 deletions tests/cases/stokes_manufactured_solution/P1P1/N004/svFSI.inp
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
#----------------------------------------------------------------
# General simulation parameters

Continue previous simulation: 0
Number of spatial dimensions: 2
Number of time steps: 250
Time step size: 0.002
Spectral radius of infinite time step: 0.50
Searched file name to trigger stop: STOP_SIM

Save results to VTK format: 1
Name prefix of saved VTK files: result
Increment in saving VTK files: 250
Start saving after time step: 1

Increment in saving restart files: 250
Convert BIN to VTK format: 0

Verbose: 1
Warning: 0
Debug: 0

#----------------------------------------------------------------
# Mesh data
Add mesh: msh {
Mesh file path: ../mesh/N004/mesh-complete.mesh.vtu
Add face: bottom {
Face file path: ../mesh/N004/mesh-surfaces/bottom.vtp
}
Add face: top {
Face file path: ../mesh/N004/mesh-surfaces/top.vtp
}
Add face: left {
Face file path: ../mesh/N004/mesh-surfaces/left.vtp
}
Add face: right {
Face file path: ../mesh/N004/mesh-surfaces/right.vtp
}
}

#----------------------------------------------------------------
# Equations
Add equation: stokes {
Coupled: 1
Min iterations: 1
Max iterations: 2
Tolerance: 1e-9
Use Taylor-Hood type basis: f

Viscosity: Constant {Value: 1.0}
Momentum stabilization coefficient: 10.0

LS type: GMRES
{
Preconditioner: svfsi
Tolerance: 1D-9
Max iterations: 100
Krylov space dimension: 50
}

Add BF: msh {
Type: vol
Time dependence: general
Temporal and spatial values file path: ../bforce/N004/bforce.dat
}

Add BC: left {
Type: Dir
Time dependence: General
Temporal and spatial values file path: ../bforce/N004/left_vbc.dat
}

Add BC: right {
Type: Dir
Time dependence: General
Temporal and spatial values file path: ../bforce/N004/right_vbc.dat
}

Add BC: top {
Type: Dir
Time dependence: General
Temporal and spatial values file path: ../bforce/N004/top_vbc.dat
}
}

96 changes: 96 additions & 0 deletions tests/cases/stokes_manufactured_solution/P1P1/N004/svFSI.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8" ?>
<svFSIFile version="0.1">

<GeneralSimulationParameters>
<Continue_previous_simulation> 0 </Continue_previous_simulation>
<Number_of_spatial_dimensions> 2 </Number_of_spatial_dimensions>
<Number_of_time_steps> 250 </Number_of_time_steps>
<Time_step_size> 0.002 </Time_step_size>
<Spectral_radius_of_infinite_time_step> 0.50 </Spectral_radius_of_infinite_time_step>
<Searched_file_name_to_trigger_stop> STOP_SIM </Searched_file_name_to_trigger_stop>
<Save_results_to_VTK_format> 1 </Save_results_to_VTK_format>
<Name_prefix_of_saved_VTK_files> result </Name_prefix_of_saved_VTK_files>
<Increment_in_saving_VTK_files> 250 </Increment_in_saving_VTK_files>
<Start_saving_after_time_step> 1 </Start_saving_after_time_step>
<Increment_in_saving_restart_files> 200 </Increment_in_saving_restart_files>
<Convert_BIN_to_VTK_format> 0 </Convert_BIN_to_VTK_format>
<Verbose> 1 </Verbose>
<Warning> 0 </Warning>
<Debug> 0 </Debug>
</GeneralSimulationParameters>

<Add_mesh name="msh" >
<Mesh_file_path> ../mesh/N004/mesh-complete.mesh.vtu </Mesh_file_path>

<Add_face name="bottom">
<Face_file_path> ../mesh/N004/mesh-surfaces/bottom.vtp </Face_file_path>
</Add_face>

<Add_face name="top">
<Face_file_path> ../mesh/N004/mesh-surfaces/top.vtp </Face_file_path>
</Add_face>

<Add_face name="left">
<Face_file_path> ../mesh/N004/mesh-surfaces/left.vtp </Face_file_path>
</Add_face>

<Add_face name="right">
<Face_file_path> ../mesh/N004/mesh-surfaces/right.vtp </Face_file_path>
</Add_face>

</Add_mesh>

<Add_equation type="stokes" >
<Coupled> true </Coupled>
<Min_iterations> 1 </Min_iterations>
<Max_iterations> 2 </Max_iterations>
<Tolerance> 1e-9 </Tolerance>
<Use_taylor_hood_type_basis> false </Use_taylor_hood_type_basis>

<Viscosity model="Constant" >
<Value> 1.0 </Value>
</Viscosity>

<Momentum_stabilization_coefficient> 10.0 </Momentum_stabilization_coefficient>

<LS type="GMRES" >
<Preconditioner> svfsi </Preconditioner>
<Tolerance> 1e-9 </Tolerance>
<Max_iterations> 100 </Max_iterations>
<Krylov_space_dimension> 50 </Krylov_space_dimension>
</LS>

<Output type="Spatial" >
<Velocity> true </Velocity>
<Pressure> true </Pressure>
<Traction> true </Traction>
<WSS> true </WSS>
</Output>

<Add_BF mesh="msh" >
<Type> volumetric </Type>
<Time_dependence> general </Time_dependence>
<Temporal_and_spatial_values_file_path> ../bforce/N004/bforce.dat </Temporal_and_spatial_values_file_path>
</Add_BF>

<Add_BC name="left" >
<Type> Dir </Type>
<Time_dependence> General </Time_dependence>
<Temporal_and_spatial_values_file_path> ../bforce/N004/left_vbc.dat </Temporal_and_spatial_values_file_path>
</Add_BC>

<Add_BC name="right" >
<Type> Dir </Type>
<Time_dependence> General </Time_dependence>
<Temporal_and_spatial_values_file_path> ../bforce/N004/right_vbc.dat </Temporal_and_spatial_values_file_path>
</Add_BC>

<Add_BC name="top" >
<Type> Dir </Type>
<Time_dependence> General </Time_dependence>
<Temporal_and_spatial_values_file_path> ../bforce/N004/top_vbc.dat </Temporal_and_spatial_values_file_path>
</Add_BC>

</Add_equation>

</svFSIFile>
Git LFS file not shown
85 changes: 85 additions & 0 deletions tests/cases/stokes_manufactured_solution/P1P1/N008/svFSI.inp
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
#----------------------------------------------------------------
# General simulation parameters

Continue previous simulation: 0
Number of spatial dimensions: 2
Number of time steps: 250
Time step size: 0.002
Spectral radius of infinite time step: 0.50
Searched file name to trigger stop: STOP_SIM

Save results to VTK format: 1
Name prefix of saved VTK files: result
Increment in saving VTK files: 250
Start saving after time step: 1

Increment in saving restart files: 250
Convert BIN to VTK format: 0

Verbose: 1
Warning: 0
Debug: 0

#----------------------------------------------------------------
# Mesh data
Add mesh: msh {
Mesh file path: ../mesh/N008/mesh-complete.mesh.vtu
Add face: bottom {
Face file path: ../mesh/N008/mesh-surfaces/bottom.vtp
}
Add face: top {
Face file path: ../mesh/N008/mesh-surfaces/top.vtp
}
Add face: left {
Face file path: ../mesh/N008/mesh-surfaces/left.vtp
}
Add face: right {
Face file path: ../mesh/N008/mesh-surfaces/right.vtp
}
}

#----------------------------------------------------------------
# Equations
Add equation: stokes {
Coupled: 1
Min iterations: 1
Max iterations: 2
Tolerance: 1e-9
Use Taylor-Hood type basis: f

Viscosity: Constant {Value: 1.0}
Momentum stabilization coefficient: 10.0

LS type: GMRES
{
Preconditioner: svfsi
Tolerance: 1D-9
Max iterations: 100
Krylov space dimension: 50
}

Add BF: msh {
Type: vol
Time dependence: general
Temporal and spatial values file path: ../bforce/N008/bforce.dat
}

Add BC: left {
Type: Dir
Time dependence: General
Temporal and spatial values file path: ../bforce/N008/left_vbc.dat
}

Add BC: right {
Type: Dir
Time dependence: General
Temporal and spatial values file path: ../bforce/N008/right_vbc.dat
}

Add BC: top {
Type: Dir
Time dependence: General
Temporal and spatial values file path: ../bforce/N008/top_vbc.dat
}
}

0 comments on commit ca252b0

Please sign in to comment.