Skip to content

Commit dcd9cf2

Browse files
Merge branch 'SimVascular:main' into svZeroD_unit_conversion_factor
2 parents 3582185 + 4db1403 commit dcd9cf2

File tree

24 files changed

+793
-1279
lines changed

24 files changed

+793
-1279
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
test-ubuntu:
4040
name: Test Ubuntu
4141
runs-on: ubuntu-latest
42-
container: simvascular/libraries:ubuntu22
42+
container: simvascular/libraries:latest
4343
needs: check-for-changes
4444
if: ${{ needs.check-for-changes.outputs.run_full_tests == 'true' }}
4545
steps:

Code/Source/solver/CMakeLists.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -290,9 +290,9 @@ if(ENABLE_COVERAGE)
290290
# add coverage target
291291
add_custom_target(coverage
292292
# gather data
293-
COMMAND ${LCOV} --directory . --capture --output-file coverage.info
293+
COMMAND ${LCOV} --directory . --capture --output-file coverage.info --ignore-errors mismatch --rc geninfo_unexecuted_blocks=1
294294
# exclude externals
295-
COMMAND ${LCOV} --remove coverage.info -o coverage.info '/usr/*' '/opt/*' '${PROJECT_SOURCE_DIR}/ThirdParty/*' '/Library/*' 'v1/*'
295+
COMMAND ${LCOV} --remove coverage.info -o coverage.info '/usr/*' '/opt/*' "${PROJECT_SOURCE_DIR}/ThirdParty/*" '/Library/*' 'v1/*' --ignore-errors unused
296296
# generate report
297297
COMMAND ${GENHTML} --demangle-cpp -o coverage coverage.info
298298
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
@@ -371,5 +371,4 @@ if(ENABLE_UNIT_TEST)
371371
# gtest_discover_tests(runUnitTest)
372372
add_test(NAME all_unit_tests COMMAND run_all_unit_tests)
373373

374-
endif()
375-
374+
endif()

Code/Source/solver/FsilsLinearAlgebra.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@ void FsilsLinearAlgebra::initialize(ComMod& com_mod, eqType& lEq)
7979
// Nothing is needed to initialize FSILS.
8080
}
8181

82+
/// @brief Finalize framework.
83+
void FsilsLinearAlgebra::finalize()
84+
{
85+
// Nothing is needed to finalize FSILS.
86+
}
87+
8288
/// @brief Set the linear algebra package for assmbly.
8389
void FsilsLinearAlgebra::set_assembly(consts::LinearAlgebraType atype)
8490
{

Code/Source/solver/FsilsLinearAlgebra.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class FsilsLinearAlgebra : public virtual LinearAlgebra {
2323
virtual void solve(ComMod& com_mod, eqType& lEq, const Vector<int>& incL, const Vector<double>& res);
2424
virtual void set_assembly(consts::LinearAlgebraType atype);
2525
virtual void set_preconditioner(consts::PreconditionerType prec_type);
26+
virtual void finalize();
2627

2728
private:
2829
/// @brief A list of linear algebra interfaces that can be used for assembly.

Code/Source/solver/LinearAlgebra.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ class LinearAlgebra {
2727
virtual void set_assembly(consts::LinearAlgebraType assembly_type) = 0;
2828
virtual void set_preconditioner(consts::PreconditionerType prec_type) = 0;
2929
virtual void solve(ComMod& com_mod, eqType& lEq, const Vector<int>& incL, const Vector<double>& res) = 0;
30-
30+
virtual void finalize() = 0;
31+
3132
virtual consts::LinearAlgebraType get_interface_type() { return interface_type; }
3233

3334
consts::LinearAlgebraType interface_type = consts::LinearAlgebraType::none;

Code/Source/solver/PetscLinearAlgebra.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ void PetscLinearAlgebra::initialize(ComMod& com_mod, eqType& lEq)
9090
impl->initialize(com_mod, lEq);
9191
}
9292

93+
void PetscLinearAlgebra::finalize()
94+
{
95+
// No need to finalize PETSc.
96+
}
97+
9398
/// @brief Initialize an FsilsLinearAlgebra object used for assembly.
9499
void PetscLinearAlgebra::initialize_fsils(ComMod& com_mod, eqType& lEq)
95100
{

Code/Source/solver/PetscLinearAlgebra.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ class PetscLinearAlgebra : public virtual LinearAlgebra {
2222
virtual void solve(ComMod& com_mod, eqType& lEq, const Vector<int>& incL, const Vector<double>& res);
2323
virtual void set_assembly(consts::LinearAlgebraType assembly_type);
2424
virtual void set_preconditioner(consts::PreconditionerType prec_type);
25+
virtual void finalize();
2526

2627
private:
2728
static std::set<consts::LinearAlgebraType> valid_assemblers;

Code/Source/solver/TrilinosLinearAlgebra.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ class TrilinosLinearAlgebra::TrilinosImpl {
2222
void set_preconditioner(consts::PreconditionerType prec_type) {};
2323
void solve(ComMod& com_mod, eqType& lEq, const Vector<int>& incL, const Vector<double>& res) {};
2424
void solve_assembled(ComMod& com_mod, eqType& lEq, const Vector<int>& incL, const Vector<double>& res) {};
25+
void finalize(){};
2526
};
2627
#endif
2728

@@ -113,6 +114,12 @@ void TrilinosLinearAlgebra::initialize(ComMod& com_mod, eqType& lEq)
113114
impl->initialize(com_mod);
114115
}
115116

117+
/// @brief Finalize Trilinos.
118+
void TrilinosLinearAlgebra::finalize()
119+
{
120+
impl->finalize();
121+
}
122+
116123
/// @brief Create an fsils linear algebra interface for assembly.
117124
void TrilinosLinearAlgebra::initialize_fsils(ComMod& com_mod, eqType& lEq)
118125
{

Code/Source/solver/TrilinosLinearAlgebra.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ class TrilinosLinearAlgebra : public virtual LinearAlgebra {
2323
virtual void set_assembly(consts::LinearAlgebraType atype);
2424
virtual void set_preconditioner(consts::PreconditionerType prec_type);
2525
virtual void solve(ComMod& com_mod, eqType& lEq, const Vector<int>& incL, const Vector<double>& res);
26+
virtual void finalize();
2627

2728
private:
2829
static std::set<consts::LinearAlgebraType> valid_assemblers;

Code/Source/solver/consts.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -255,8 +255,8 @@ const std::set<PreconditionerType> trilinos_preconditioners = {
255255
PreconditionerType::PREC_TRILINOS_BLOCK_JACOBI,
256256
PreconditionerType::PREC_TRILINOS_ILU,
257257
PreconditionerType::PREC_TRILINOS_ILUT,
258-
PreconditionerType::PREC_TRILINOS_IC,
259-
PreconditionerType::PREC_TRILINOS_ICT,
258+
PreconditionerType::PREC_TRILINOS_RILUK0,
259+
PreconditionerType::PREC_TRILINOS_RILUK1,
260260
PreconditionerType::PREC_TRILINOS_ML
261261
};
262262

@@ -286,8 +286,8 @@ const std::map<std::string,PreconditionerType> preconditioner_name_to_type =
286286
{"trilinos-blockjacobi", PreconditionerType::PREC_TRILINOS_BLOCK_JACOBI},
287287
{"trilinos-ilu", PreconditionerType::PREC_TRILINOS_ILU},
288288
{"trilinos-ilut", PreconditionerType::PREC_TRILINOS_ILUT},
289-
{"trilinos-ic", PreconditionerType::PREC_TRILINOS_IC},
290-
{"trilinos-ict", PreconditionerType::PREC_TRILINOS_ICT},
289+
{"trilinos-riluk0", PreconditionerType::PREC_TRILINOS_RILUK0},
290+
{"trilinos-riluk1", PreconditionerType::PREC_TRILINOS_RILUK1},
291291
{"trilinos-ml", PreconditionerType::PREC_TRILINOS_ML},
292292

293293
{"petsc-jacobi", PreconditionerType::PREC_PETSC_JACOBI},
@@ -304,8 +304,8 @@ const std::map<PreconditionerType, std::string> preconditioner_type_to_name {
304304
{PreconditionerType::PREC_TRILINOS_BLOCK_JACOBI, "trilinos-blockjacobi"},
305305
{PreconditionerType::PREC_TRILINOS_ILU, "trilinos-ilu"},
306306
{PreconditionerType::PREC_TRILINOS_ILUT, "trilinos-ilut"},
307-
{PreconditionerType::PREC_TRILINOS_IC, "trilinos-ic"},
308-
{PreconditionerType::PREC_TRILINOS_IC, "trilinos-ict"},
307+
{PreconditionerType::PREC_TRILINOS_RILUK0, "trilinos-riluk0"},
308+
{PreconditionerType::PREC_TRILINOS_RILUK1, "trilinos-riluk1"},
309309
{PreconditionerType::PREC_TRILINOS_ML, "trilinos-ml"},
310310
{PreconditionerType::PREC_PETSC_JACOBI, "petsc-jacobi"},
311311
{PreconditionerType::PREC_PETSC_RCS, "petsc-rcs"}

0 commit comments

Comments
 (0)