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

PETSc and Trilinos interface #214

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

dcodoni
Copy link

@dcodoni dcodoni commented May 15, 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.
  • in the folder Docker/, dockerfiles based on Ubuntu 20 and Ubuntu 22 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

…d Trilinos libraries.

A workflow file was created to tests the PETSc and Trilinos interfaces for some fluid and fsi problems.
@dcodoni dcodoni marked this pull request as draft May 15, 2024 00:57
@dcodoni dcodoni marked this pull request as ready for review May 15, 2024 18:43
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.

Thank you @dcodoni, you did a fantastic job!

I think everything is fine except for a few things on the tests.
Specifically, I do not understand why test_LV_NeoHookean_passive and test_LV_NeoHookean_passive_genBC have been removed from struct/ustruct and why some linear solver settings for cep test cases (maximum number of iterations, tolerances, ...) have been changed.

@dcodoni
Copy link
Author

dcodoni commented May 16, 2024

Hello @MatteoSalvador, I did not remove or modify existent tests cases, I just added few cases. I do not know the reason of the mentioned modifications. I can check the differences and include them.

@ktbolt
Copy link
Collaborator

ktbolt commented May 16, 2024

@dcodoni You should add a README to the svFSIplus/Docker directory describing how to use the containers and such.

Why are there separate docker files (e.g. ubuntu20-on-mac-host) for MacOS ?

And why are you building VTK in the containers? It would be easier and take less time to just install it.

Are you planning on creating containers for MacOS and Windows?

And be sure to update any relevant GitHub Issues related to Docker containers, I see three.

@dcodoni
Copy link
Author

dcodoni commented May 16, 2024

@ktbolt I will create a README file explaining how to use it, how to build a dockerfile and how to run a container.

I will delete 'ubuntu*-on-mac-host' folders, they were a test I was doing locally on my laptop.

To build VTK from source requires time, so I decided to install everything needed to build the solver, in a container.

For the moment I am not thinking about creating containers for MacOS and Windows, since there are no images that recreates those OS that can be used as bases for the container. The closest functionality I found is an image that when run recreates the MacOS and can be used as a virtual machine. This can't be used in a dockerfile to create a container.

The issue #211 has been added by @MatteoSalvador.

dcodoni and others added 5 commits May 16, 2024 18:04
All the tests have been included back and the tolerances set to the values from the last svFSIplus update.
Unnecessary dockerfiles have been deleted.
Copy link
Collaborator

@ktbolt ktbolt left a comment

Choose a reason for hiding this comment

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

Looks good!

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.

None yet

3 participants