Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trilinos and PETSc interfaces (#30) and Docker containers (#211) #216

Merged
merged 1 commit into from
Jun 13, 2024

Conversation

dcodoni
Copy link
Contributor

@dcodoni dcodoni commented Jun 13, 2024

Addition of PETSc and Trilinos interfaces

Current situation

The current svFSIplus does not include interfaces for PETSc and Trilinos.

Release Notes

The following features were added in this pull request:

  • PETSc and Trilinos interfaces were implemented in svFSIplus by @ktbolt. This addresses Add interface to linear solvers #30
  • in the folder Docker/, dockerfiles based on Ubuntu-20.04 and Ubuntu-22.04 images were created. The containers built from the dockerfiles, include pre-built PETSc and Trilinos libraries and related dependencies. This addresses Docker containers for continuous integration on Ubuntu #211.
  • in .github/workflows/ the file test_ubuntu.yml was created. This workflow file uses the pre-built libraries in the containers (see previous bullet point) to compile svFSIplus solver and run the tests.
  • the following tests are added to verify the PETSc and Trilinos implementation (test_fsi.py, test_fluid.py and conftest.py were modified accordingly):
    fluid/: pipe_RCR_3d_petsc/ pipe_RCR_3d_ilut_trilinos/ pipe_RCR_3d_bj_trilinos/
    fsi/: pipe_3d_petsc/ pipe_3d_ml_trilinos/ pipe_3d_bj_trilinos

Documentation

More information about the docker containers created refer to the following link:
https://hub.docker.com/repository/docker/dcodoni/lib/general

Testing

All the tests ran successfully. The tests for PETSc and Trilinos were only run on Ubuntu, while MacOS skipped these tests.

Code of Conduct & Contributing Guidelines

…imVascular#211)

- Trilinos and PETSc interfaces added by @ktbolt
- created dockerfiles to build Docker containers with pre-compiled Trilinos and PETSc libraries in Ubuntu-20.04 and Ubuntu-22.04
- added test cases for fluid and fsi problems to test Trilinos and PETSc linear solvers and preconditioners
- updated the workflow file test_ubuntu.yml to include PETSc and Trilinos tests for continuous integration (CI)
@dcodoni dcodoni requested a review from MatteoSalvador June 13, 2024 01:42
Copy link
Collaborator

@MatteoSalvador MatteoSalvador left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @dcodoni, really nice work! I am very happy to see that this PR is finally ready to be merged.

@MatteoSalvador MatteoSalvador merged commit 64789b6 into SimVascular:main Jun 13, 2024
5 checks passed
aabrown100-git added a commit to aabrown100-git/svMultiPhysics that referenced this pull request Aug 20, 2024
. Also, call it if mvMsh is true, which I think is necessary for FSI sims. This improves nonlinear convergence in 0D-coupled struct/ustruct test cases.
ktbolt pushed a commit that referenced this pull request Aug 21, 2024
#240)

* Replace fsi_ls_upd() call that was mistakenly removed in #216. Also, call it if mvMsh is true, which I think is necessary for FSI sims. This improves nonlinear convergence in 0D-coupled struct/ustruct test cases.

* For struct/LV_NeoHookean_passive_sv0D, increase max iteration, update ref solution. Previous ref solution was not converged, so need to update now that we are converging

* Switch Nx.slice(g) to Nx.rslice(g) (avoids copying data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants