Skip to content

Commit 3fa507c

Browse files
authored
Rename svFSIplus to svMultiPhysics (#308)
* Change file name. * Change names for high-level CMake for project name, executable, etc. * Chane Docker files. * Change documention files. * Change thirdparty parametis_svfsi to parmetis_internal. * Rename thridparty gklib_svfsi to gklib_internal. * change thridparty metis_svfsi to metis_internal * Rename package Booleans using svFSI. * Add CMake comments to try to explain how all of the thirdparty works. * Rename svFSI and svFSILS source code directories. * Change tests Python scripts to use vMultiPhysics, change svFSIplus.xml to solver.xml, replace svFSIFile with svMultiPhysicsFile in xml files. * Change names in workflow yaml files. * Update README with name change. * Fix some missed name changes. * Remove some testing artifacts. * Add missing slash. * Rename some directories used by genbc. * Rename some solver input parameter files named with the solver name. * Change more hidden svFSIplus names. * Modify container section.
1 parent f436884 commit 3fa507c

File tree

535 files changed

+476
-6445
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

535 files changed

+476
-6445
lines changed

.github/workflows/test_macos.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,22 @@ jobs:
2626
cd build
2727
cmake ..
2828
make -j2
29-
- name: Build svFSIplus
29+
- name: Build svMultiPhysics
3030
run: |
3131
mkdir build
3232
cd build
3333
cmake -DENABLE_COVERAGE=ON -DENABLE_ARRAY_INDEX_CHECKING=ON -DENABLE_UNIT_TEST=ON ..
3434
make -j2
3535
- name: Install test dependencies
3636
run: |
37-
conda create -n svfsiplus python=3.9
38-
conda run -n svfsiplus pip install pytest pytest-cov pytest-mock numpy meshio pandas
37+
conda create -n svmultiphysics python=3.9
38+
conda run -n svmultiphysics pip install pytest pytest-cov pytest-mock numpy meshio pandas
3939
- name: Run integration tests
4040
run: |
4141
git lfs pull
4242
cd tests
43-
conda run -n svfsiplus pytest -rPv --durations=0
43+
conda run -n svmultiphysics pytest -rPv --durations=0
4444
- name: Run unit tests
4545
run: |
46-
cd build/svFSIplus-build/Source/svFSI
46+
cd build/svMultiPhysics-build/Source/solver
4747
ctest --verbose

.github/workflows/test_ubuntu.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,22 @@ jobs:
1313
version: ubuntu-22.04
1414
image: ubuntu22
1515
runs-on: ${{ matrix.version }}
16-
container: dcodoni/lib:${{ matrix.image }}
16+
container: simvascular/libraries:${{ matrix.image }}
1717
steps:
1818
- uses: actions/checkout@v3
1919
- name: Build svZeroDSolver
2020
shell: bash
2121
run: |
2222
conda init
2323
source /conda/etc/profile.d/conda.sh
24-
conda activate svfsiplus
24+
conda activate svmultiphysics
2525
git clone https://github.com/SimVascular/svZeroDSolver.git
2626
cd svZeroDSolver
2727
mkdir build
2828
cd build
2929
cmake ..
3030
make -j2
31-
- name: Build svFSIplus
31+
- name: Build svMultiPhysics
3232
run: |
3333
if [ -d "build" ]; then
3434
rm -rf "build"
@@ -38,7 +38,7 @@ jobs:
3838
cmake -DENABLE_COVERAGE=ON -DENABLE_ARRAY_INDEX_CHECKING=ON -DENABLE_UNIT_TEST=ON -DSV_USE_TRILINOS:BOOL=ON ..
3939
make -j2
4040
cd ..
41-
- name: Build svFSIplus (PETSc)
41+
- name: Build svMultiPhysics (PETSc)
4242
run: |
4343
if [ -d "build-petsc" ]; then
4444
rm -rf "build-petsc"
@@ -50,23 +50,23 @@ jobs:
5050
cd ..
5151
- name: Run integration tests
5252
run: |
53-
git config --global --add safe.directory /__w/svFSIplus/svFSIplus
53+
git config --global --add safe.directory /__w/svMultiPhysics/svMultiPhysics
5454
git lfs pull
5555
cd tests
56-
conda run -n svfsiplus pytest -rPv --durations=0
56+
conda run -n svmultiphysics pytest -rPv --durations=0
5757
- name: Run unit tests
5858
run: |
59-
cd build/svFSIplus-build/Source/svFSI
59+
cd build/svMultiPhysics-build/Source/solver
6060
ctest --verbose
6161
- name: Generate code coverage
6262
run: |
63-
cd build/svFSIplus-build
63+
cd build/svMultiPhysics-build
6464
make coverage
6565
- name: Save coverage report
6666
uses: actions/upload-artifact@v3
6767
with:
6868
name: coverage_report
69-
path: build/svFSIplus-build/coverage
69+
path: build/svMultiPhysics-build/coverage
7070
- name: Upload coverage reports to Codecov
7171
uses: codecov/codecov-action@v3
7272
env:

CMakeLists.txt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ include(SimVascularFunctionCheckCompilerFlags)
8181

8282
# Add additional variables that can be set from the cmake gui or from the command line.
8383
#
84-
# These variables must later be add to 'ExternalProject_Add(svFSI' as -D options.
84+
# These variables must later be add to 'ExternalProject_Add(svMultiPhysics' as -D options.
8585
#
8686
set(SV_USE_TRILINOS OFF CACHE BOOL "Build with the Trilinos linear algebra package")
8787
#set(SV_USE_PETSC OFF CACHE BOOL "Build with the PETSc linear algebra package")
@@ -118,16 +118,17 @@ ExternalProject_Add(Externals
118118
${SV_EXTERNALS_APPLE_CMAKE_ARGS}
119119
${SV_EXTERNALS_ADDITIONAL_CMAKE_ARGS}
120120
)
121+
121122
set(SV_EXTERNALS_TOPLEVEL_DIR "${CMAKE_BINARY_DIR}/Externals-build/sv_externals")
122-
#-----------------------------------------------------------------------------
123123

124-
#-----------------------------------------------------------------------------
125-
# svFSIplus solver.
124+
# svMultiPhysics
125+
#
126126
set(SV_ADDITIONAL_CMAKE_ARGS "" CACHE STRING "If more options want to be provided to the sv_externals build, they can be with this string")
127127
set(SV_APPLE_CMAKE_ARGS)
128-
ExternalProject_Add(svFSIplus
128+
129+
ExternalProject_Add(svMultiPhysics
129130
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Code
130-
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/svFSIplus-build
131+
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/svMultiPhysics-build
131132
DEPENDS Externals
132133
DOWNLOAD_COMMAND ""
133134
UPDATE_COMMAND ""
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
3+
set(LINEAR_SOLVER_DEFINITIONS "")
4+
set(LINEAR_SOLVER_NEEDED_LIBS LINEAR_SOLVER)
5+
6+
if(IS64 AND (WIN32 OR CYGWIN))
7+
unset(LINEAR_SOLVER_INCLUDE_DIR)
8+
set(LINEAR_SOLVER_PATH_PREFIX "LINEAR_SOLVER-2013.08.10/win/x64")
9+
set(LINEAR_SOLVER_FULL_PATH "${LicensedLibs_Bin_Directory}${LINEAR_SOLVER_PATH_PREFIX}")
10+
set(LINEAR_SOLVER_LIB_DIR "${LINEAR_SOLVER_FULL_PATH}" CACHE TYPE PATH)
11+
set(LINEAR_SOLVER_POSSIBLE_INCLUDE_DIR "${LINEAR_SOLVER_FULL_PATH}" CACHE TYPE PATH)
12+
endif()
13+
14+
find_path(LINEAR_SOLVER_INCLUDE_DIR LINEAR_SOLVER.h HINTS ${LINEAR_SOLVER_POSSIBLE_INCLUDE_DIR})
15+
16+
GENLIBS(LINEAR_SOLVER_LIBRARY "${LINEAR_SOLVER_NEEDED_LIBS}" "LINEAR_SOLVER" "${LINEAR_SOLVER_LIB_DIR}")
17+
set(LINEAR_SOLVER_LIBRARY ${LINEAR_SOLVER_LINEAR_SOLVER_LIBRARY})
18+
19+
include_directories(${LINEAR_SOLVER_INCLUDE_DIR})
20+
link_directories(${LINEAR_SOLVER_LIB_DIR})
21+
add_definitions(${LINEAR_SOLVER_DEFINITIONS})
22+
23+

Code/CMake/SVFSILSConfig.cmake

Lines changed: 0 additions & 23 deletions
This file was deleted.

Code/CMake/SimVascularInternals.cmake

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
1+
2+
# These names are used to create variables used to store the package library name.
3+
#
4+
# THIRDPARTY_METIS_INTERNAL is used to create the variable
5+
# SV_LIB_THIRDPARTY_METIS_INTERNAL_NAME
6+
#
7+
# SV_LIB_THIRDPARTY_METIS_INTERNAL_NAME is later used to set the value
8+
# for the METIS_INTERNAL_LIBRARY_NAME variable in SimVascularThirdParty.cmake.
9+
#
110
set(SV_LIBS
2-
THIRDPARTY_METIS_SVFSI
3-
THIRDPARTY_PARMETIS_SVFSI
4-
THIRDPARTY_GKLIB_SVFSI
11+
THIRDPARTY_METIS_INTERNAL
12+
THIRDPARTY_PARMETIS_INTERNAL
13+
THIRDPARTY_GKLIB_INTERNAL
514
THIRDPARTY_TETGEN
615
THIRDPARTY_TINYXML
716
THIRDPARTY_ZLIB
8-
SVFSILS
9-
SVFSI_CINTERFACE
10-
SVFSILS_CINTERFACE
17+
LINEAR_SOLVER
1118
)
1219

1320
foreach(lib ${SV_LIBS})

Code/CMake/SimVascularMacros.cmake

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,12 @@ endmacro()
155155
#-----------------------------------------------------------------------------
156156
# simvascular_third_party
157157
#
158+
# This adds a package defined in the Code/ThirdParty directory to the build.
159+
#
160+
# 1) Creates an include file
161+
# 2) Adds the package directory to the build
162+
# 3) Creates the <package>_LIBRARY_NAME variable
163+
#
158164
macro(simvascular_third_party _pkg)
159165
string(TOLOWER "${_pkg}" _lower)
160166
string(TOUPPER "${_pkg}" _upper)
@@ -163,13 +169,16 @@ macro(simvascular_third_party _pkg)
163169
DOWNLOADABLE SYSTEM_DEFAULT
164170
SVEXTERN_CONFIG ADD_INSTALL
165171
)
172+
166173
set(oneValueArgs VERSION)
167174
set(multiValueArgs PATHS HINTS COMPONENTS)
168175

169176
cmake_parse_arguments("simvascular_third_party"
170177
"${options}"
171178
"${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
179+
172180
set(${_upper}_SUBDIR ThirdParty/${_pkg})
181+
173182
if(simvascular_third_party_SYSTEM_DEFAULT)
174183
option(SV_USE_SYSTEM_${_upper} "Use system ${_pkg}" ON)
175184
else()
@@ -178,9 +187,15 @@ macro(simvascular_third_party _pkg)
178187

179188
mark_as_advanced(SV_USE_SYSTEM_${_upper})
180189

190+
# Create a package include file and to be used in the build.
191+
#
181192
configure_file(${SV_SOURCE_DIR}/${${_upper}_SUBDIR}/simvascular_${_lower}.h.in
182193
${SV_BINARY_DIR}/${${_upper}_SUBDIR}/simvascular_${_lower}.h)
194+
183195
include_directories(BEFORE ${SV_BINARY_DIR}/${${_upper}_SUBDIR} ${SV_SOURCE_DIR}/${${_upper}_SUBDIR})
196+
197+
# Add the package to the build.
198+
#
184199
if(SV_USE_SYSTEM_${_upper})
185200
set(${_upper}_LIBRARIES)
186201
set(${_upper}_LIBRARY)
@@ -191,6 +206,7 @@ macro(simvascular_third_party _pkg)
191206
endif()
192207
endif()
193208
endmacro()
209+
194210
#-----------------------------------------------------------------------------
195211
# print_vars - THis is a simple marco to print out a list of variables
196212
# with their names and value, used mostly for debugging

Code/CMake/SimVascularOptions.cmake

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,11 @@ option(SV_USE_NOTIMER "Use notimer" ON)
5656

5757
#-----------------------------------------------------------------------------
5858
# Solver Build Options (Modules)
59-
option(SV_USE_EIGEN_SVFSI "Use Eigen headers" ON)
60-
option(SV_USE_METIS_SVFSI "Use metis_svfsi Library" ON)
61-
option(SV_USE_GKLIB_SVFSI "Use GKlib_svfsi Library" ON)
62-
option(SV_USE_PARMETIS_SVFSI "Use parmetis_svfsi Library" ON)
63-
option(SV_USE_TETGEN "Use tetgen Library" ON)
64-
65-
#-----------------------------------------------------------------------------
59+
option(SV_USE_INTERNAL_EIGEN "Use Eigen headers" ON)
60+
option(SV_USE_INTERNAL_METIS "Use the internal metis library" ON)
61+
option(SV_USE_INTERNAL_GKLIB "Use the internal GKlib library" ON)
62+
option(SV_USE_INTERNAL_PARMETIS "Use the internal parmetis library" ON)
63+
option(SV_USE_TETGEN "Use tetgen library" ON)
6664

6765
#-----------------------------------------------------------------------------
6866
# Externals
@@ -78,10 +76,10 @@ option(SV_EXTERNALS_USE_TOPLEVEL_DIR "If ON, SV_EXTERNALS_TOPLEVEL_DIR will be u
7876

7977

8078
#-----------------------------------------------------------------------------
81-
# SVFSILS linear solver is always on
79+
# The internal linear solver is always on
8280
#-----------------------------------------------------------------------------
83-
set(USE_SVFSILS 1)
84-
set(SVFSILS_BUILD_TYPE "Source")
81+
set(USE_LINEAR_SOLVER 1)
82+
set(LINEAR_SOLVER_BUILD_TYPE "Source")
8583

8684
#-----------------------------------------------------------------------------
8785
# WIN32
Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,40 @@
1-
#-----------------------------------------------------------------------------
2-
# GKLIB_SVFSI
3-
if(SV_USE_GKLIB_SVFSI)
4-
set(USE_GKLIB_SVFSI ON)
5-
simvascular_third_party(gklib_svfsi)
6-
# require to be built here
7-
set(GKLIB__SVFSI_LIBRARY ${SV_LIB_THIRDPARTY_GKLIB_SVFSI_NAME})
1+
2+
# The Boolean SV_USE variables are set in SimVascularOptions.cmake.
3+
#
4+
# The SV_LIB_THIRDPARTY_*_INTERNAL_NAME is set in SimVascularInternals.cmake.
5+
#
6+
# The *_internal name must match the directory name in Code/ThirdParty
7+
#
8+
if(SV_USE_INTERNAL_GKLIB)
9+
set(USE_INTERNAL_GKLIB ON)
10+
simvascular_third_party(gklib_internal)
811
endif()
912

10-
# METIS_SVFSI
11-
if(SV_USE_METIS_SVFSI)
12-
set(USE_METIS_SVFSI ON)
13-
simvascular_third_party(metis_svfsi)
14-
# require to be built here
15-
set(METIS_SVFSI_LIBRARY ${SV_LIB_THIRDPARTY_METIS_SVFSI_NAME})
13+
if(SV_USE_INTERNAL_METIS)
14+
set(USE_INTERNAL_METIS ON)
15+
simvascular_third_party(metis_internal)
1616
endif()
1717

18-
#-----------------------------------------------------------------------------
19-
# PARMETIS_SVFSI
20-
if(SV_USE_PARMETIS_SVFSI)
21-
set(USE_PARMETIS_SVFSI ON)
22-
simvascular_third_party(parmetis_svfsi)
23-
# require to be built here
24-
set(PARMETIS_SVFSI_LIBRARY ${SV_LIB_THIRDPARTY_PARMETIS_SVFSI_NAME})
18+
if(SV_USE_INTERNAL_PARMETIS)
19+
set(USE_INTERNAL_PARMETIS ON)
20+
simvascular_third_party(parmetis_internal)
2521
endif()
2622

27-
#-----------------------------------------------------------------------------
2823
# TETGEN
2924
if(SV_USE_TETGEN)
3025
set(USE_TETGEN ON)
3126
simvascular_third_party(tetgen)
32-
# require to be built here
33-
set(TETGEN_LIBRARY ${SV_LIB_THIRDPARTY_TETGEN_NAME})
3427
endif()
3528

3629
#-----------------------------------------------------------------------------
3730
# EIGEN
3831
if(SV_USE_EIGEN)
3932
set(USE_EIGEN ON)
4033
simvascular_third_party(eigen)
41-
#find_package(Eigen)
42-
# require to be built here
43-
#set(TETGEN_LIBRARY ${SV_LIB_THIRDPARTY_TETGEN_NAME})
4434
endif()
4535

4636
# TINYXML
4737
simvascular_third_party(tinyxml)
48-
set(TINYXML_LIBRARY ${SV_LIB_THIRDPARTY_TINYXML_NAME})
4938

5039

5140

Code/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,14 @@ include(SimVascularDependentOptions)
9090
include(SimVascularInstallSetup)
9191

9292
#set(SV_USE_TRILINOS {SV_USE_TRILINOS} PARENT_SCOPE)
93-
#set(SV_USE_TRILINOS OFF CACHE INTERNAL BOOL "Use Trilinos Library with svFSIplus")
93+
#set(SV_USE_TRILINOS OFF CACHE INTERNAL BOOL "Use Trilinos Library with svMultiPhysics")
9494
#set(SV_USE_TRILINOS OFF CACHE BOOL INTERNAL)
9595

9696
#-----------------------------------------------------------------------------
9797

9898
#-----------------------------------------------------------------------------
9999
# Set EXE names for the executables
100-
set(SV_SVFSI_EXE "svfsiplus")
100+
set(SV_MULTIPHYSICS_EXE "svmultiphysics")
101101
#-----------------------------------------------------------------------------
102102

103103
#-----------------------------------------------------------------------------

0 commit comments

Comments
 (0)