Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
4fcc4fd
Change file name.
ktbolt Sep 2, 2024
10f74dc
Merge remote-tracking branch 'upstream/main'
ktbolt Sep 3, 2024
289894f
Merge remote-tracking branch 'upstream/main'
ktbolt Sep 25, 2024
3d47500
Merge remote-tracking branch 'upstream/main'
ktbolt Sep 30, 2024
014ca26
Merge remote-tracking branch 'upstream/main'
ktbolt Oct 3, 2024
a05d464
Merge remote-tracking branch 'upstream/main'
ktbolt Oct 4, 2024
4e4f3c5
Merge remote-tracking branch 'upstream/main'
ktbolt Oct 4, 2024
1a7dc17
Merge remote-tracking branch 'upstream/main'
ktbolt Oct 7, 2024
7b46b9e
Merge remote-tracking branch 'upstream/main'
ktbolt Oct 16, 2024
a1c224f
Merge remote-tracking branch 'upstream/main'
ktbolt Nov 7, 2024
9b8ee4f
Merge remote-tracking branch 'upstream/main'
ktbolt Nov 20, 2024
f47d900
Change names for high-level CMake for project name, executable, etc.
ktbolt Nov 21, 2024
2b2007a
Chane Docker files.
ktbolt Nov 21, 2024
7eb5978
Change documention files.
ktbolt Nov 21, 2024
58888bc
Change thirdparty parametis_svfsi to parmetis_internal.
ktbolt Nov 22, 2024
44b8168
Rename thridparty gklib_svfsi to gklib_internal.
ktbolt Nov 22, 2024
308cc7c
change thridparty metis_svfsi to metis_internal
ktbolt Nov 22, 2024
74568b3
Rename package Booleans using svFSI.
ktbolt Nov 23, 2024
cccdc07
Add CMake comments to try to explain how all of the thirdparty works.
ktbolt Nov 23, 2024
f7dfa7f
Rename svFSI and svFSILS source code directories.
ktbolt Nov 26, 2024
c26c135
Change tests Python scripts to use vMultiPhysics, change svFSIplus.xm…
ktbolt Nov 26, 2024
75110a5
Change names in workflow yaml files.
ktbolt Nov 26, 2024
24f03b6
Update README with name change.
ktbolt Dec 4, 2024
79ed182
Fix some missed name changes.
ktbolt Dec 4, 2024
fb14e1b
Remove some testing artifacts.
ktbolt Dec 4, 2024
5c98ced
Add missing slash.
ktbolt Dec 5, 2024
60be228
Rename some directories used by genbc.
ktbolt Dec 6, 2024
4ae47e5
Rename some solver input parameter files named with the solver name.
ktbolt Dec 6, 2024
37f968a
Change more hidden svFSIplus names.
ktbolt Dec 6, 2024
2c6009f
Modify container section.
ktbolt Dec 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 5 additions & 5 deletions .github/workflows/test_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,22 @@ jobs:
cd build
cmake ..
make -j2
- name: Build svFSIplus
- name: Build svMultiPhysics
run: |
mkdir build
cd build
cmake -DENABLE_COVERAGE=ON -DENABLE_ARRAY_INDEX_CHECKING=ON -DENABLE_UNIT_TEST=ON ..
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 pandas
conda create -n svmultiphysics python=3.9
conda run -n svmultiphysics pip install pytest pytest-cov pytest-mock numpy meshio pandas
- name: Run integration tests
run: |
git lfs pull
cd tests
conda run -n svfsiplus pytest -rPv --durations=0
conda run -n svmultiphysics pytest -rPv --durations=0
- name: Run unit tests
run: |
cd build/svFSIplus-build/Source/svFSI
cd build/svMultiPhysics-build/Source/solver
ctest --verbose
18 changes: 9 additions & 9 deletions .github/workflows/test_ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,22 @@ jobs:
version: ubuntu-22.04
image: ubuntu22
runs-on: ${{ matrix.version }}
container: dcodoni/lib:${{ matrix.image }}
container: simvascular/libraries:${{ matrix.image }}
steps:
- uses: actions/checkout@v3
- name: Build svZeroDSolver
shell: bash
run: |
conda init
source /conda/etc/profile.d/conda.sh
conda activate svfsiplus
conda activate svmultiphysics
git clone https://github.com/SimVascular/svZeroDSolver.git
cd svZeroDSolver
mkdir build
cd build
cmake ..
make -j2
- name: Build svFSIplus
- name: Build svMultiPhysics
run: |
if [ -d "build" ]; then
rm -rf "build"
Expand All @@ -38,7 +38,7 @@ jobs:
cmake -DENABLE_COVERAGE=ON -DENABLE_ARRAY_INDEX_CHECKING=ON -DENABLE_UNIT_TEST=ON -DSV_USE_TRILINOS:BOOL=ON ..
make -j2
cd ..
- name: Build svFSIplus (PETSc)
- name: Build svMultiPhysics (PETSc)
run: |
if [ -d "build-petsc" ]; then
rm -rf "build-petsc"
Expand All @@ -50,23 +50,23 @@ jobs:
cd ..
- name: Run integration tests
run: |
git config --global --add safe.directory /__w/svFSIplus/svFSIplus
git config --global --add safe.directory /__w/svMultiPhysics/svMultiPhysics
git lfs pull
cd tests
conda run -n svfsiplus pytest -rPv --durations=0
conda run -n svmultiphysics pytest -rPv --durations=0
- name: Run unit tests
run: |
cd build/svFSIplus-build/Source/svFSI
cd build/svMultiPhysics-build/Source/solver
ctest --verbose
- name: Generate code coverage
run: |
cd build/svFSIplus-build
cd build/svMultiPhysics-build
make coverage
- name: Save coverage report
uses: actions/upload-artifact@v3
with:
name: coverage_report
path: build/svFSIplus-build/coverage
path: build/svMultiPhysics-build/coverage
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
env:
Expand Down
13 changes: 7 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ include(SimVascularFunctionCheckCompilerFlags)

# Add additional variables that can be set from the cmake gui or from the command line.
#
# These variables must later be add to 'ExternalProject_Add(svFSI' as -D options.
# These variables must later be add to 'ExternalProject_Add(svMultiPhysics' as -D options.
#
set(SV_USE_TRILINOS OFF CACHE BOOL "Build with the Trilinos linear algebra package")
#set(SV_USE_PETSC OFF CACHE BOOL "Build with the PETSc linear algebra package")
Expand Down Expand Up @@ -118,16 +118,17 @@ ExternalProject_Add(Externals
${SV_EXTERNALS_APPLE_CMAKE_ARGS}
${SV_EXTERNALS_ADDITIONAL_CMAKE_ARGS}
)

set(SV_EXTERNALS_TOPLEVEL_DIR "${CMAKE_BINARY_DIR}/Externals-build/sv_externals")
#-----------------------------------------------------------------------------

#-----------------------------------------------------------------------------
# svFSIplus solver.
# svMultiPhysics
#
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")
set(SV_APPLE_CMAKE_ARGS)
ExternalProject_Add(svFSIplus

ExternalProject_Add(svMultiPhysics
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Code
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/svFSIplus-build
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/svMultiPhysics-build
DEPENDS Externals
DOWNLOAD_COMMAND ""
UPDATE_COMMAND ""
Expand Down
23 changes: 23 additions & 0 deletions Code/CMake/LINEAR_SOLVERConfig.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@


set(LINEAR_SOLVER_DEFINITIONS "")
set(LINEAR_SOLVER_NEEDED_LIBS LINEAR_SOLVER)

if(IS64 AND (WIN32 OR CYGWIN))
unset(LINEAR_SOLVER_INCLUDE_DIR)
set(LINEAR_SOLVER_PATH_PREFIX "LINEAR_SOLVER-2013.08.10/win/x64")
set(LINEAR_SOLVER_FULL_PATH "${LicensedLibs_Bin_Directory}${LINEAR_SOLVER_PATH_PREFIX}")
set(LINEAR_SOLVER_LIB_DIR "${LINEAR_SOLVER_FULL_PATH}" CACHE TYPE PATH)
set(LINEAR_SOLVER_POSSIBLE_INCLUDE_DIR "${LINEAR_SOLVER_FULL_PATH}" CACHE TYPE PATH)
endif()

find_path(LINEAR_SOLVER_INCLUDE_DIR LINEAR_SOLVER.h HINTS ${LINEAR_SOLVER_POSSIBLE_INCLUDE_DIR})

GENLIBS(LINEAR_SOLVER_LIBRARY "${LINEAR_SOLVER_NEEDED_LIBS}" "LINEAR_SOLVER" "${LINEAR_SOLVER_LIB_DIR}")
set(LINEAR_SOLVER_LIBRARY ${LINEAR_SOLVER_LINEAR_SOLVER_LIBRARY})

include_directories(${LINEAR_SOLVER_INCLUDE_DIR})
link_directories(${LINEAR_SOLVER_LIB_DIR})
add_definitions(${LINEAR_SOLVER_DEFINITIONS})


23 changes: 0 additions & 23 deletions Code/CMake/SVFSILSConfig.cmake

This file was deleted.

19 changes: 13 additions & 6 deletions Code/CMake/SimVascularInternals.cmake
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@

# These names are used to create variables used to store the package library name.
#
# THIRDPARTY_METIS_INTERNAL is used to create the variable
# SV_LIB_THIRDPARTY_METIS_INTERNAL_NAME
#
# SV_LIB_THIRDPARTY_METIS_INTERNAL_NAME is later used to set the value
# for the METIS_INTERNAL_LIBRARY_NAME variable in SimVascularThirdParty.cmake.
#
set(SV_LIBS
THIRDPARTY_METIS_SVFSI
THIRDPARTY_PARMETIS_SVFSI
THIRDPARTY_GKLIB_SVFSI
THIRDPARTY_METIS_INTERNAL
THIRDPARTY_PARMETIS_INTERNAL
THIRDPARTY_GKLIB_INTERNAL
THIRDPARTY_TETGEN
THIRDPARTY_TINYXML
THIRDPARTY_ZLIB
SVFSILS
SVFSI_CINTERFACE
SVFSILS_CINTERFACE
LINEAR_SOLVER
)

foreach(lib ${SV_LIBS})
Expand Down
16 changes: 16 additions & 0 deletions Code/CMake/SimVascularMacros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,12 @@ endmacro()
#-----------------------------------------------------------------------------
# simvascular_third_party
#
# This adds a package defined in the Code/ThirdParty directory to the build.
#
# 1) Creates an include file
# 2) Adds the package directory to the build
# 3) Creates the <package>_LIBRARY_NAME variable
#
macro(simvascular_third_party _pkg)
string(TOLOWER "${_pkg}" _lower)
string(TOUPPER "${_pkg}" _upper)
Expand All @@ -163,13 +169,16 @@ macro(simvascular_third_party _pkg)
DOWNLOADABLE SYSTEM_DEFAULT
SVEXTERN_CONFIG ADD_INSTALL
)

set(oneValueArgs VERSION)
set(multiValueArgs PATHS HINTS COMPONENTS)

cmake_parse_arguments("simvascular_third_party"
"${options}"
"${oneValueArgs}" "${multiValueArgs}" ${ARGN} )

set(${_upper}_SUBDIR ThirdParty/${_pkg})

if(simvascular_third_party_SYSTEM_DEFAULT)
option(SV_USE_SYSTEM_${_upper} "Use system ${_pkg}" ON)
else()
Expand All @@ -178,9 +187,15 @@ macro(simvascular_third_party _pkg)

mark_as_advanced(SV_USE_SYSTEM_${_upper})

# Create a package include file and to be used in the build.
#
configure_file(${SV_SOURCE_DIR}/${${_upper}_SUBDIR}/simvascular_${_lower}.h.in
${SV_BINARY_DIR}/${${_upper}_SUBDIR}/simvascular_${_lower}.h)

include_directories(BEFORE ${SV_BINARY_DIR}/${${_upper}_SUBDIR} ${SV_SOURCE_DIR}/${${_upper}_SUBDIR})

# Add the package to the build.
#
if(SV_USE_SYSTEM_${_upper})
set(${_upper}_LIBRARIES)
set(${_upper}_LIBRARY)
Expand All @@ -191,6 +206,7 @@ macro(simvascular_third_party _pkg)
endif()
endif()
endmacro()

#-----------------------------------------------------------------------------
# print_vars - THis is a simple marco to print out a list of variables
# with their names and value, used mostly for debugging
Expand Down
18 changes: 8 additions & 10 deletions Code/CMake/SimVascularOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,11 @@ option(SV_USE_NOTIMER "Use notimer" ON)

#-----------------------------------------------------------------------------
# Solver Build Options (Modules)
option(SV_USE_EIGEN_SVFSI "Use Eigen headers" ON)
option(SV_USE_METIS_SVFSI "Use metis_svfsi Library" ON)
option(SV_USE_GKLIB_SVFSI "Use GKlib_svfsi Library" ON)
option(SV_USE_PARMETIS_SVFSI "Use parmetis_svfsi Library" ON)
option(SV_USE_TETGEN "Use tetgen Library" ON)

#-----------------------------------------------------------------------------
option(SV_USE_INTERNAL_EIGEN "Use Eigen headers" ON)
option(SV_USE_INTERNAL_METIS "Use the internal metis library" ON)
option(SV_USE_INTERNAL_GKLIB "Use the internal GKlib library" ON)
option(SV_USE_INTERNAL_PARMETIS "Use the internal parmetis library" ON)
option(SV_USE_TETGEN "Use tetgen library" ON)

#-----------------------------------------------------------------------------
# Externals
Expand All @@ -78,10 +76,10 @@ option(SV_EXTERNALS_USE_TOPLEVEL_DIR "If ON, SV_EXTERNALS_TOPLEVEL_DIR will be u


#-----------------------------------------------------------------------------
# SVFSILS linear solver is always on
# The internal linear solver is always on
#-----------------------------------------------------------------------------
set(USE_SVFSILS 1)
set(SVFSILS_BUILD_TYPE "Source")
set(USE_LINEAR_SOLVER 1)
set(LINEAR_SOLVER_BUILD_TYPE "Source")

#-----------------------------------------------------------------------------
# WIN32
Expand Down
43 changes: 16 additions & 27 deletions Code/CMake/SimVascularThirdParty.cmake
Original file line number Diff line number Diff line change
@@ -1,51 +1,40 @@
#-----------------------------------------------------------------------------
# GKLIB_SVFSI
if(SV_USE_GKLIB_SVFSI)
set(USE_GKLIB_SVFSI ON)
simvascular_third_party(gklib_svfsi)
# require to be built here
set(GKLIB__SVFSI_LIBRARY ${SV_LIB_THIRDPARTY_GKLIB_SVFSI_NAME})

# The Boolean SV_USE variables are set in SimVascularOptions.cmake.
#
# The SV_LIB_THIRDPARTY_*_INTERNAL_NAME is set in SimVascularInternals.cmake.
#
# The *_internal name must match the directory name in Code/ThirdParty
#
if(SV_USE_INTERNAL_GKLIB)
set(USE_INTERNAL_GKLIB ON)
simvascular_third_party(gklib_internal)
endif()

# METIS_SVFSI
if(SV_USE_METIS_SVFSI)
set(USE_METIS_SVFSI ON)
simvascular_third_party(metis_svfsi)
# require to be built here
set(METIS_SVFSI_LIBRARY ${SV_LIB_THIRDPARTY_METIS_SVFSI_NAME})
if(SV_USE_INTERNAL_METIS)
set(USE_INTERNAL_METIS ON)
simvascular_third_party(metis_internal)
endif()

#-----------------------------------------------------------------------------
# PARMETIS_SVFSI
if(SV_USE_PARMETIS_SVFSI)
set(USE_PARMETIS_SVFSI ON)
simvascular_third_party(parmetis_svfsi)
# require to be built here
set(PARMETIS_SVFSI_LIBRARY ${SV_LIB_THIRDPARTY_PARMETIS_SVFSI_NAME})
if(SV_USE_INTERNAL_PARMETIS)
set(USE_INTERNAL_PARMETIS ON)
simvascular_third_party(parmetis_internal)
endif()

#-----------------------------------------------------------------------------
# TETGEN
if(SV_USE_TETGEN)
set(USE_TETGEN ON)
simvascular_third_party(tetgen)
# require to be built here
set(TETGEN_LIBRARY ${SV_LIB_THIRDPARTY_TETGEN_NAME})
endif()

#-----------------------------------------------------------------------------
# EIGEN
if(SV_USE_EIGEN)
set(USE_EIGEN ON)
simvascular_third_party(eigen)
#find_package(Eigen)
# require to be built here
#set(TETGEN_LIBRARY ${SV_LIB_THIRDPARTY_TETGEN_NAME})
endif()

# TINYXML
simvascular_third_party(tinyxml)
set(TINYXML_LIBRARY ${SV_LIB_THIRDPARTY_TINYXML_NAME})



4 changes: 2 additions & 2 deletions Code/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -90,14 +90,14 @@ include(SimVascularDependentOptions)
include(SimVascularInstallSetup)

#set(SV_USE_TRILINOS {SV_USE_TRILINOS} PARENT_SCOPE)
#set(SV_USE_TRILINOS OFF CACHE INTERNAL BOOL "Use Trilinos Library with svFSIplus")
#set(SV_USE_TRILINOS OFF CACHE INTERNAL BOOL "Use Trilinos Library with svMultiPhysics")
#set(SV_USE_TRILINOS OFF CACHE BOOL INTERNAL)

#-----------------------------------------------------------------------------

#-----------------------------------------------------------------------------
# Set EXE names for the executables
set(SV_SVFSI_EXE "svfsiplus")
set(SV_MULTIPHYSICS_EXE "svmultiphysics")
#-----------------------------------------------------------------------------

#-----------------------------------------------------------------------------
Expand Down
8 changes: 4 additions & 4 deletions Code/Source/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@
set(INDENTS "${INDENTS} ")

#-----------------------------------------------------------------------------
# svFSI
# solver solver
#-----------------------------------------------------------------------------
if(SV_USE_DUMMY_MPI)
message(FATAL_ERROR "svFSI requires MPI (not dummyMPI) and SV_USE_DUMMY_MPI \
message(FATAL_ERROR "svMultiPhysics requires MPI (not dummyMPI) and SV_USE_DUMMY_MPI \
is set to true.")
endif()

set(FLOWSOLVER_SUBDIRS ${FLOWSOLVER_SUBDIRS} svFSILS)
set(FLOWSOLVER_SUBDIRS ${FLOWSOLVER_SUBDIRS} svFSI)
set(FLOWSOLVER_SUBDIRS ${FLOWSOLVER_SUBDIRS} liner_solver)
set(FLOWSOLVER_SUBDIRS ${FLOWSOLVER_SUBDIRS} solver)

#-----------------------------------------------------------------------------
# Optional header path
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ endif()
#find_package(VTK REQUIRED)
#include(${VTK_USE_FILE})

set(lib ${SV_LIB_SVFSILS_NAME})
set(lib ${SV_LIB_LINEAR_SOLVER_NAME})

set(CSRCS
add_bc_mul.h add_bc_mul.cpp
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading
Loading