Skip to content

two perpendicular flap case #110

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

Merged
merged 31 commits into from
Dec 19, 2020
Merged

Conversation

carme-hp
Copy link
Member

@carme-hp carme-hp commented Oct 22, 2020

Motivation for case tutorials/FSI/two_flap_perp_2D is to test multi-coupling. Instead of one single flap, now we have two flaps, which means that the case involves three participants: Fluid, Solid1 and Solid2. For the first one we use OpenFOAM solver pimpleFoam and for the second we use the deal.II Adapter. In this link you can check the different possible approaches for multi-coupling: https://github.com/precice/precice/wiki/Multi-Coupling-Configuration
In this case we use a fully-implicit multi-coupling scheme.

The geometry of the flaps is defined directly in the deal.II Adapter solver. Because the flaps are located at different positions we need different executables for the solid participants. To obtain them we need to compile https://github.com/precice/dealii-adapter/blob/c332050b5770bf99459b8be596fd6e41f3401a26/linear_elasticity/linear_elasticity.cc#L208-L220 changing the parameters regarding the position of the flap.

  • For Solid1:

      point_bottom =
      dim == 3 ? Point<dim>(-1.05, 0, 0) : Point<dim>(-1.05, 0);  
      point_tip = dim == 3 ? Point<dim>(-0.95, 1, 0.3) : Point<dim>(-0.95, 1); //flap1 
    
  • For Solid2:

      point_bottom =
        dim == 3 ? Point<dim>(0.95, 0, 0) : Point<dim>(0.95, 0);  
      point_tip = dim == 3 ? Point<dim>(1.05, 1, 0.3) : Point<dim>(1.05, 1); // flap2
    

The executables are named linear_elasticity1 and linear_elasticity2 respectively.

In the precice-config.xml we define the communication between the solid participants and the Fluid participant. Here we can select the mapping (see https://github.com/precice/precice/wiki/Mapping-Configuration ).

Current status

  • mapping:nearest-neighbor

  • mapping:rbf-thin-plate-splines

  • linear case

  • non-linear case

  • parallel run

The current priority is to find out why the solver crashes, which happens at t=0.55. If we use the rbf-thin-plate-splines mapping instead, it crashes immediately.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
@carme-hp carme-hp changed the base branch from master to develop October 22, 2020 13:53
@carme-hp carme-hp changed the title draft two perpendicular flap case two perpendicular flap case Oct 22, 2020
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.

In a good shape already! There are a few points that need fixing or implementation, this review may help.

And we need to make the case work, of course.

homspons added 3 commits October 22, 2020 18:47

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
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.

Very good! A few more small points.

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.

Almost ready! (you can also change the status of the PR from "draft" to "ready")

I added a few (very picky) language and Markdown-related suggestions in the README, which already looks very good. 👍

@MakisH
Copy link
Member

MakisH commented Nov 26, 2020

I ran the case for 15s and the results look very reasonable: both flaps oscillate back-and-forth, with different frequencies.

Video (unlisted for now): https://youtu.be/ClZNJC3qR6M

@carme-hp carme-hp marked this pull request as ready for review November 29, 2020 08:52
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.

This looks quite clean and nice now!

Dependent on precice/dealii-adapter#39, this runs nicely in serial for the linear case. However, in parallel (with (2 1 1) decomposition) I get this error: precice/precice#919 @carme-hp does it run in parallel for you with the default (2 2 1) and with (2 1 1)? I think it should be working with both.

The nonlinear case also runs nicely in serial.

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.

Everything looks good! Let's merge now and we will revisit this case in the context of the tutorials restructuring. For now it looks consistent with the rest.

@carme-hp carme-hp merged commit 0135e07 into precice:develop Dec 19, 2020
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