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

Adds functionality to allow FSI to work with solids4foam as the solid solver #236

Merged
merged 23 commits into from
Aug 8, 2022
Merged

Adds functionality to allow FSI to work with solids4foam as the solid solver #236

merged 23 commits into from
Aug 8, 2022

Conversation

solids4foam
Copy link
Contributor

@solids4foam solids4foam commented Jul 28, 2022

This pull request adds functionality to allow FSI to work with solids4foam as the solid solver.

TODO list:

  • I updated the documentation in docs/: I don't think I need to change anything here, do I?
  • I added a changelog entry in changelog-entries/ (create directory if missing): apologies, I am not sure what I meant to add here.

Copy link
Member

@davidscn davidscn left a comment

Choose a reason for hiding this comment

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

Looks nice, thanks a lot. Have you tested the implementation using a simple tutorial? Maybe our perpendicular-flap tutorial?

FSI/Displacement.C Show resolved Hide resolved
Copy link
Member

@MakisH MakisH left a comment

Choose a reason for hiding this comment

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

Hi @solids4foam (who's that? 😅),

thanks a lot for the contribution! I left some first comments.

We will also need a tutorial to try this out. You can add one here: https://github.com/precice/tutorials Ideally, you could recreate the perpendicular-flap example.

Regarding the changelog, I can also handle that. You just need a file 236.md in the changelog-entries/ directory.

Adapter.C Outdated Show resolved Hide resolved
Adapter.C Outdated Show resolved Hide resolved
Adapter.C Outdated Show resolved Hide resolved
FSI/Displacement.C Outdated Show resolved Hide resolved
FSI/Displacement.C Show resolved Hide resolved
FSI/Force.C Outdated Show resolved Hide resolved
FSI/Force.C Show resolved Hide resolved
solids4foam and others added 2 commits July 29, 2022 11:18
Co-authored-by: Gerasimos Chourdakis <[email protected]>
Co-authored-by: Gerasimos Chourdakis <[email protected]>
@solids4foam
Copy link
Contributor Author

Looks nice, thanks a lot. Have you tested the implementation using a simple tutorial? Maybe our perpendicular-flap tutorial?

I initially tested it with a simple beamInCrossFlow test case from solids4foam [1,2], but I agree it would be good to set up the perpendicular flap test cases. I will start on this.

  1. Richter, T., Goal-oriented error estimation for fluid-structure interaction problems, Computer Methods in Applied Mechanics and Engineering 223-224 (2012), pp. 28–42, https://doi.org/10.1016/j.cma.2012.02.014.
  2. Tuković Ž, Karač A, Cardiff P, Jasak H, Ivanković A (2018) OpenFOAM finite volume solver for fluid–solid interaction. Transactions of FAMENA, 42(3):1–31. 10.21278/TOF.42301.

@solids4foam
Copy link
Contributor Author

solids4foam commented Jul 29, 2022

Hi @solids4foam (who's that? 😅),

Ha, it is I, Philip Cardiff!

thanks a lot for the contribution! I left some first comments.

Sure, of course.

We will also need a tutorial to try this out. You can add one here: https://github.com/precice/tutorials Ideally, you could recreate the perpendicular-flap example.

Yep, I will set up the perpendicular-flap example, and then I could create a pull request for that too.

Regarding the changelog, I can also handle that. You just need a file 236.md in the changelog-entries/ directory.

I will add this.

@solids4foam
Copy link
Contributor Author

FYI, I have created a pull request to the tutorials repository at precice/tutorials#286, where I have added the perpendicular-flap/solid-solids4foam.

I have checked this with OpenFOAM-v2012 and the nextRelease branch of solids4foam.

I think it will not be difficult for me to also add a solid-openfoam case which uses the builtin OpenFOAM solidDisplacementFoam solver and the same openfoam-adapter. It should just require a new boundary condition. I will think about this tomorrow...

FSI/ForceBase.C Outdated Show resolved Hide resolved
Adapter.C Outdated Show resolved Hide resolved
Copy link
Member

@MakisH MakisH left a comment

Choose a reason for hiding this comment

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

Thanks for the updates! A few more comments.

I have not yet managed to build solids4foam to test this, I guess I will bother you on the side regarding this.

@MakisH
Copy link
Member

MakisH commented Aug 2, 2022

I think it will not be difficult for me to also add a solid-openfoam case which uses the builtin OpenFOAM solidDisplacementFoam solver and the same openfoam-adapter. It should just require a new boundary condition. I will think about this tomorrow...

That would also be a nice idea! I have never used that solver, but could be a nice intro and hint to solid simulations with OpenFOAM. One could just run the solidDisplacementFoam and we could link from that to the solids4foam tutorial for something more elaborate.

@solids4foam
Copy link
Contributor Author

I think it will not be difficult for me to also add a solid-openfoam case which uses the builtin OpenFOAM solidDisplacementFoam solver and the same openfoam-adapter. It should just require a new boundary condition. I will think about this tomorrow...

That would also be a nice idea! I have never used that solver but could be a nice intro and hint to solid simulations with OpenFOAM. One could just run the solidDisplacementFoam, and we could link from that to the solids4foam tutorial for something more elaborate.

OK, good news, I got the case working with the default solidDisplacementFoam solver. I added this to this tutorials pull request (1db82dc); you will also see a minor change (will probably require some discussion) required to the adapter in 4b49300.

FSI/Displacement.C Outdated Show resolved Hide resolved
FSI/Force.C Outdated Show resolved Hide resolved
Adapter.C Outdated Show resolved Hide resolved
@MakisH
Copy link
Member

MakisH commented Aug 4, 2022

We are getting there! I tried to resolve all conversations that are now resolved. Still open:

We then have a couple of points open in the related tutorial(s): precice/tutorials#286

I triggered the CI already and formatting and building are fine. After the state of both PRs converges, I will also run a few tests (unfortunately we don't have automated system tests at the moment, this is on my todo list for a while).

FSI/Displacement.C Outdated Show resolved Hide resolved
Co-authored-by: Gerasimos Chourdakis <[email protected]>
@MakisH
Copy link
Member

MakisH commented Aug 4, 2022

  • documentation in docs/: I don't think I need to change anything here, do I?

Two Three small changes are needed:

Copy link
Member

@MakisH MakisH left a comment

Choose a reason for hiding this comment

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

I updated a couple of things in the documentation and it now finally looks ready! 😄 Thanks a lot for the contribution! I am sure that this is going to be very nice both for preCICE and for solids4foam users.

@MakisH MakisH merged commit c8f612e into precice:develop Aug 8, 2022
@MakisH MakisH added this to the v1.2.0 milestone Sep 19, 2022
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.

4 participants