CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Community Contributions > OpenFOAM CC Toolkits for Fluid-Structure Interaction

[FSI] Dynamic Mesh Problem for FSI simulation

Register Blogs Community New Posts Updated Threads Search

Like Tree21Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 18, 2019, 13:14
Default Dynamic Mesh Problem for FSI simulation
  #1
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
Dear Foamers
I try to simulate FSI problem with icoFsiElasticNonLinULSolidFoam solver.
As the solver isn't work with displacement base mesh motion, I use velocity base motion as:
//-------
dynamicFvMesh dynamicMotionSolverFvMesh;
twoDMotion yes;
solver refVelocityLaplacian;
diffusivity quadratic inverseDistance 1(plate);
//---
my model is near a cylinder and by deformation of plate, the mesh deforms to give negative cell. I want to know, which dynamicMesh can help me to model this problem?

https://pasteboard.co/HX2KaA0.png
Are there any remeshing code to remesh during run?
Thanks

Last edited by Hgholami; January 19, 2019 at 08:48.
Hgholami is offline   Reply With Quote

Old   January 19, 2019, 04:04
Default
  #2
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
I replace displacement based dynamicMesh such as SBR etc. instead of velocity base but All have the error as:
--> FOAM FATAL ERROR:
Problem with mesh motion solver selection

From function icoFsiElasticNonLinULSolidFoam
in file moveFluidMesh.H at line 140.

FOAM aborting
Similar error appear with RBF. Do you have any Ideas? Thanks
Hgholami is offline   Reply With Quote

Old   January 21, 2019, 07:51
Default
  #3
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Hi,

Did you try the "velocityLaplacian" and/or "laplace" mesh motion solvers?

Philip
bigphil is offline   Reply With Quote

Old   January 21, 2019, 10:39
Default
  #4
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
Quote:
Originally Posted by bigphil View Post
Hi,

Did you try the "velocityLaplacian" and/or "laplace" mesh motion solvers?

Philip
Dear Philip
Thanks for your reply. I used velocityLaplacian as:
//--------
solver velocityLaplacian;
frozenDiffusion yes;
diffusivity quadratic inverseDistance (plate);
distancePatches (plate fix); //or (plate)
//------- negative cell in tip of deformable plate

laplace with diffusivity linear as:
//---------
solver laplace;
frozenDiffusion yes;
diffusivity linear 2.5 (plate fix); //or 1.5,1
distancePatches (plate fix);
//------negative cell in fix support of plate: some time step earlier

laplace with diffusivity linear as:
//---------
solver laplace;
frozenDiffusion yes;
diffusivity quadratic 1 (plate);
distancePatches (plate);
//------negative cell in fix support of plate: some time step earlier

patchEnhanced inverseDistance 2 (plate)


I run this model with student license of ANSYS and in fluid solver (FLUENT) used remeshing technique that run was OK.
Hgholami is offline   Reply With Quote

Old   January 21, 2019, 10:50
Default
  #5
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
The diffusivity extend the cells near the plate, but in this model the space is limited. In the FLUENT also I forced to active remeshing to avoid negative cell. Is it possible to active extra technique to remeshing or any Idea? thanks
Hgholami is offline   Reply With Quote

Old   January 21, 2019, 11:40
Default
  #6
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,097
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
You could also try with:
Code:
frozenDiffusion no;
Currently, full remeshing has not been implemented, but you are welcome to add it! :P

Philip
bigphil is offline   Reply With Quote

Old   January 22, 2019, 20:38
Default
  #7
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Quick answer: Quoting a bit from a PM that Hgholami sent me:
Quote:
Originally Posted by Hgholami
Can you favor to choice good dynamicMesh algorithm for my model? thanks a lot.
From what I can see on the mesh images, there is no magic dynamic mesh algorithm that will solve your problem here. There isn't enough mesh resolution to allow for the cells to gradually distort and absorb the mesh distortion. Even if RBF or similar was used, it would eventually break elsewhere on the far boundaries away from the plate.

Something has got to give, so either you increase the mesh resolution or reduce the allowed solid deflection...

And if given enough mesh resolution, I believe that "diffusivity quadratic inverseDistance [...]" should work just fine...
__________________
wyldckat is offline   Reply With Quote

Old   January 23, 2019, 00:53
Default
  #8
Senior Member
 
Daniel
Join Date: Mar 2013
Location: Noshahr, Iran
Posts: 348
Rep Power: 21
Daniel_Khazaei will become famous soon enough
Dear Hojatollah,

you may try the fsiFoam solver from here:

https://openfoamwiki.net/index.php/E...re_interaction

it provides IQN-ILS coupling algorithm and from my experience it is even generally more stable in regards of fluid and solid solvers.

From the time I was working with ANSYS Fluent at the university, I recall that to avoid negative cell volume in presence of boundary layer mesh, you should make the boundary layer region move with the moving boundary patch! These cells should not get deformed by the dynamic mesh solver, as this will usually reduce their quality until reaching the point that the solution diverges. They should only follow the boundary patch displacement vector while preserving their shape. If I'm not mistaken, there is an option in Fluent called "Deform Adjacent Boundary Layer with Zone".

I have used this to model a complex 3D trimaran hull under heave and pitch motion successfully. Without this option enabled, I was getting negative cell volume after a few time steps. Re-meshing is another option, but It was not for me at that time when dealing with 4m cells using limited computational resources! The image of the mesh I used (xz plane cut) is attached...

However, I'm not aware of such an option in foam-extend dynamic mesh solvers...
Attached Images
File Type: png Capture.PNG (43.2 KB, 112 views)
Daniel_Khazaei is offline   Reply With Quote

Old   January 23, 2019, 22:48
Default
  #9
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
Thanks dear Santos
I increase mesh resolution and change coupling algorithm to IQN-ILS with diffusivity quadratic inverseDistance and velocityLaplacian. First I import mesh from ANSYS and use flattenMesh, then run started. The simulation is now run more time step but still the problem in checkMesh exist.
//............................................
Mesh non-orthogonality Max: 90.3106 average: 18.4533 Threshold = 70
*Number of severely non-orthogonal faces: 27.
***Number of non-orthogonality errors: 1.
Writing 28 non-orthogonal faces to set nonOrthoFaces
***Error in face pyramids: 1 faces are incorrectly oriented.
Writing 1 faces with incorrect orientation to set wrongOrientedFaces
***Max skewness = 78.0099, 1 highly skew faces detected Threshold = 4
Writing 1 skew faces to set skewFaces

Failed 3 mesh checks.

Last edited by Hgholami; January 24, 2019 at 00:05.
Hgholami is offline   Reply With Quote

Old   January 24, 2019, 21:11
Default
  #10
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Quick request: One or two images that show where the worst distortions occur, would make it easier to diagnose how perhaps this can further be solved...
msaravia and Daniel_Khazaei like this.
wyldckat is offline   Reply With Quote

Old   January 25, 2019, 08:39
Default
  #11
New Member
 
alia's Avatar
 
Ali Aghaei
Join Date: Oct 2014
Posts: 12
Rep Power: 12
alia is on a distinguished road
Quote:
Originally Posted by Hgholami View Post
Thanks dear Santos
I increase mesh resolution and change coupling algorithm to IQN-ILS with diffusivity quadratic inverseDistance and velocityLaplacian. First I import mesh from ANSYS and use flattenMesh, then run started. The simulation is now run more time step but still the problem in checkMesh exist.
//............................................
Mesh non-orthogonality Max: 90.3106 average: 18.4533 Threshold = 70
*Number of severely non-orthogonal faces: 27.
***Number of non-orthogonality errors: 1.
Writing 28 non-orthogonal faces to set nonOrthoFaces
***Error in face pyramids: 1 faces are incorrectly oriented.
Writing 1 faces with incorrect orientation to set wrongOrientedFaces
***Max skewness = 78.0099, 1 highly skew faces detected Threshold = 4
Writing 1 skew faces to set skewFaces

Failed 3 mesh checks.
Hi Hgholami!
I think your problem is the same as what is discussed in this thread:
Moving mesh problem OpenFoam 141
Hrvoje Jasak has suggested using a vertex-based solver. You can see the details there.
Cheers,
Ali
Hgholami likes this.
alia is offline   Reply With Quote

Old   January 28, 2019, 12:16
Default
  #12
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
Dear Santos
I check the mesh for a face with wrongOrientedFaces and it seen, it is in figure below.

with dynamicMeshDic as:
solver refVelocityLaplacian;
frozenDiffusion no;
diffusivity quadratic inverseDistance 2 (plate fix);
distancePatches (plate);
the other figure is :
Hgholami is offline   Reply With Quote

Old   January 28, 2019, 17:12
Default
  #13
New Member
 
Stephen Waite
Join Date: May 2013
Location: Auckland, New Zealand
Posts: 29
Rep Power: 13
Stephen Waite is on a distinguished road
Hi Hgholami,

Sorry for the slow reply to your PM, I was on leave.

so some things that have helped me with mesh motion, as mentioned by Alia, there are non-FVM based motion solvers that from memory, are more computationally expensive (although I didnt find them that bad) but can maintain better mesh quality.

try changing
diffusivity quadratic inverseDistance 2 (plate fix);
to
diffusivity inverseFaceDistance (plate);

With the quadratic wall function, I have found that while it gives nice diffusion results when there is a single moving part such as a wall moving in a constant direction, it is not always better when the geometry is more complex, I used to get cell shearing in my models when I used this diffusion method.

I can see you have two walls there, the plate and I guess a cylinder (which I think is named fix?) Are they both moving? or just the plate?

If you haven't tried it already, you could also re-mesh the domain to get a different cell distribution and see if this fixes the issue, this has worked for me in the past.

Can you also please run
Code:
checkMesh -allGeometry
for the initial mesh time 0 and post the results.Good meshes are important in CFD, but they are even more important when you are doing mesh motion especially in openFOAM.

Can you also give an indication for how much that plate is going to move, As wyldckat has said, you need to have enough degrees of freedom to allow for the deformation to be diffused through the domain, but there is not a lot of space between the two walls (although you seem to have increased it in your latest pictures compared to the first). If the end of the plate which is sort of tangential to the cylinder is going to rotate by say 45 degrees you may need to move to either a CFD package with remeshing or to a meshless method like immersed boundaries.

If you want to stick with openFOAM, and you are not to keen to implement remeshing, there was a case of something simulating a gear pump with remesh-restarts whenever mesh quality deterorated (pretty much manual remeshing)

Dynamic Mesh for a Gear Pump

you can download the report in the first post.

Cheers
Stephen
wyldckat likes this.
Stephen Waite is offline   Reply With Quote

Old   January 28, 2019, 23:24
Default
  #14
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
Thanks dear waite
I checkMesh with -allgeometry in initial time and a below result obtained:
HTML Code:
Checking geometry...
    This is a 2-D mesh
    Overall domain bounding box (-0.3 -0.025 0) (0.5 0.025 0.0002)
    Mesh (non-empty, non-wedge) directions (1 1 0)
    Mesh (non-empty) directions (1 1 0)
    Mesh (non-empty, non-wedge) dimensions 2
    All edges aligned with or perpendicular to non-empty directions.
    Boundary openness (-3.20367e-20 1.6451e-18 5.9056e-19) Threshold = 1e-06 OK.
    Max cell openness = 2.12053e-16 OK.
    Max aspect ratio = 26.3712 OK.
    Minumum face area = 5.32311e-10. Maximum face area = 2.85632e-05.  Face area magnitudes OK.
    Min volume = 1.06462e-13. Max volume = 5.71263e-09.  Total volume = 7.88797e-06.  Cell volumes OK.
    Mesh non-orthogonality Max: 66.8216 average: 12.9801 Threshold = 70
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 2.49926 OK.
    Min/max edge length = 7.071e-06 0.00644383 OK.
    All angles in faces OK.
    Face flatness (1 = flat, 0 = butterfly) : average = 1  min = 1
    All face flatness OK.
    Cell determinant (wellposedness) : minimum: 0 average: 4.26285e-40
 ***Cells with small determinant found, number of cells: 42803
  Writing 42803 under-determined cells to set underdeterminedCells

Failed 1 mesh checks.

End
"plate" is a moving part and "fix" is end of beam that fixed in domain. the circular cylinder is also fixed in domain. The plate usually rotate about 85 degree but in mentioned time it only rotated max 10 degree.
Hgholami is offline   Reply With Quote

Old   February 4, 2019, 21:46
Default
  #15
New Member
 
Stephen Waite
Join Date: May 2013
Location: Auckland, New Zealand
Posts: 29
Rep Power: 13
Stephen Waite is on a distinguished road
Hi there,

So I think you are really going to struggle to get 85 degrees of rotation with such a small gap, you can draw on a piece of paper how those cells would deform and its not pretty.

I think you either need to preform some form of remeshing step/re-mapping like the attachment I included in my last post, although that might get a bit tedious. Other software may be able to perform the type of remeshing you need, you mentioned you had this model working in fluent? why did you change to OF?

Your mesh Non-orthogonality is very high for the basic mesh, max 66 is not great. You should maybe have a go at structuring your mesh a bit better, you have a plate and a cylinder so I feel like you should be able to get that to 40 pretty easily. What did you use to create your mesh? it looks a bit like a automatic Netgen quad mesh, you could try cfMesh if you want 2D and that might give you stricter quality control. Did you try moving to the face based motion diffusion methods?

If you dont want to go the remeshing route, you could probably start looking into mesh free methods like immersed boundaries or smooth particle hydrodynamics, although I'm not sure if there is an opensource fsi codes for these floating around.

The only other thing I can think of is to combine some kind of AMI region into your domain, but that would probably involve some coding on your end to have the AMI zone rotate as a function of the curvature of the beam, so the AMI mesh would need to deform radially so the fixed end remains static in the centre.
Attached Images
File Type: jpg AMI_FSI.jpg (53.9 KB, 48 views)
Stephen Waite is offline   Reply With Quote

Old   February 6, 2019, 15:11
Default
  #16
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
Dear Waite
with respect and thanks for your reply. My model is as your attachment fiqure but with two plates in opposite sides (top and bottom of cylinder).
First, I want to use opensource software for FSI simulation. So, I increase dense of mesh and the solution with under relaxation for P and u increases more time step but with rotating plates, the mesh deforms and error occurs. I also used inverseFaceDistance, and result is same.
for AMI mesh, the problem is that the deforming plate is more than one, for example 2. As I merge 2 plates to one boundary condition for using icoFSI... solver, so I think I can't use AMI mesh with one axis, center of axis and etc. So, I think the solution need a layering method/remeshing to destroy small layers/cells. If you have good suggestion, I will wait for favor.
I will also try using cfmesh for improving quality. Thanks for your suggestion.
Hgholami is offline   Reply With Quote

Old   February 6, 2019, 20:10
Default
  #17
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings to all!

@Hgholami:
Quote:
Originally Posted by Hgholami View Post
"plate" is a moving part and "fix" is end of beam that fixed in domain. the circular cylinder is also fixed in domain. The plate usually rotate about 85 degree but in mentioned time it only rotated max 10 degree.
Wait.... hold on... can you provide a complete schematic of the geometries you are trying to simulate and how they are meant to move?

Or is the schematic provided by Stephen Waite completely accurate for what you are trying to do? Because if it is, I'm having a hard time understanding what is the physical experimental that this simulation is trying to recreate...

What I mean is that it feels like you're trying to use a hammer, when a pencil must be used... simply because the problem is not properly understood.

Because from what I was able to deduce, the only way out of this situation might require using overset mesh (also known as chimera grid) modelling, where the plate is on the overset mesh region. I believe that the version of foam-extend 4.1 that is still in development, might have this capability, but I don't know if it includes FSI capabilities or not.
Then there is the solids4foam toolkit, which hasn't been made public yet, but you can ask for access to it, so that you could then use it with OpenFOAM+ (namely OpenFOAM.com) with it and therefore have overset capabilities... but still, I don't remember seeing a solver with overset mesh capabilities in solids4foam, it's just that it compiles and works with OpenFOAM-v1812 or v1806... I'm not certain there... so it would be feasible to adapt one of the solvers to use overset mesh instead of the current implementation.

So, without a complete and clear image and flow profile of what is meant to be simulated, it's getting very hard to suggest anything more specific than this.

Best regards,
Bruno

edit: Stephen's suggestion with AMI might work and you can use more than one AMI region. Actually, it's called GGI in foam-extend...
Daniel_Khazaei, alia and Hgholami like this.

Last edited by wyldckat; February 6, 2019 at 20:17. Reason: fixed several typos in my original post | Added "edit:" at the end
wyldckat is offline   Reply With Quote

Old   February 16, 2019, 22:52
Default
  #18
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
I dense mesh and reduce flexibility of structure. Now, the problem is solved.
Thanks for your favor
Hgholami is offline   Reply With Quote

Old   February 17, 2019, 09:12
Default
  #19
Senior Member
 
Daniel
Join Date: Mar 2013
Location: Noshahr, Iran
Posts: 348
Rep Power: 21
Daniel_Khazaei will become famous soon enough
Quote:
Originally Posted by wyldckat View Post
Greetings to all!

Then there is the solids4foam toolkit, which hasn't been made public yet, but you can ask for access to it

Dear Bruno,

Would you please tell me where I should put my request to get access to this toolkit?

Edit: never mind, found the document describing how to request for access.
Code:
https://foam-extend.fsb.hr/wp-content/uploads/2018/12/02_Tukovic_Fluid_Structure_Interation_solid4Foam.pdf

Last edited by Daniel_Khazaei; February 17, 2019 at 11:09.
Daniel_Khazaei is offline   Reply With Quote

Old   March 19, 2019, 22:00
Default monitor the stress on the solid
  #20
Member
 
...
Join Date: Jan 2019
Posts: 31
Rep Power: 7
popa is on a distinguished road
Quote:
Originally Posted by Hgholami View Post
Dear Foamers
I try to simulate FSI problem with icoFsiElasticNonLinULSolidFoam solver.
As the solver isn't work with displacement base mesh motion, I use velocity base motion as:
//-------
dynamicFvMesh dynamicMotionSolverFvMesh;
twoDMotion yes;
solver refVelocityLaplacian;
diffusivity quadratic inverseDistance 1(plate);
//---
my model is near a cylinder and by deformation of plate, the mesh deforms to give negative cell. I want to know, which dynamicMesh can help me to model this problem?

https://pasteboard.co/HX2KaA0.png
Are there any remeshing code to remesh during run?
Thanks





Which version of openFoam do you use?I now use foam-extend4.0,and run the same case,but i don't know how to monitor the stress on the solid.Can you provide some advice?Thank you.
popa is offline   Reply With Quote

Reply

Tags
dynamic mesh, fsi


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Airfoil simulation - Divergence of the results - Mesh or geometry problem ? Pol.P FLUENT 9 March 7, 2022 18:21
OpenFOAM - mixing tank simulation using dynamic mesh foamF OpenFOAM 3 February 9, 2021 16:43
Dynamic mesh update problem. David FLUENT 3 March 15, 2012 06:02
Dynamic Mesh Problem peatmac FLUENT 9 March 14, 2012 07:11
problem about dynamic mesh of VOF model whpsoft FLUENT 0 September 9, 2005 00:06


All times are GMT -4. The time now is 07:06.