CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Pre-Processing

Calling moveDynamicMesh for a second time after grid refinement

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 11, 2021, 18:25
Default Calling moveDynamicMesh for a second time after grid refinement
  #1
New Member
 
Regis
Join Date: Jan 2012
Posts: 24
Rep Power: 14
Regis_ is on a distinguished road
I'm running into a weird issue with moveDynamicMesh. I first have a coarse grid that I conform to an STL geometry using moveDynamicMesh. That works fine. Here's a snapshot of that stage


Later on I refine the whole grid (and solution) using the topoSet/refineHexMesh combo. The grid refines as expected and passes checkMesh. The grid is still conformed as it were before on the lower resolution grid:


Now, I want to re-conform the higher resolution grid to the same geometry. (In the meantine I do some local grid refinement, but that shouldn't matter.) At this point, what I expect is that the points will move very little, since only the new points need to conform to the STL file. This is where I run into issues. On the very first time step of the moveDynamicMesh solver, the new grid goes bad -- extremely high negative volume, extremely high skew -- and the moveDynamicMesh solver quickly crashes.

I managed a find one very specific case that I can sort of see what is going on:


In this specific run, the grid "recovers" and conforms as expected:


However, I can't get it to work with any other STL or grid size. Even in this case that sort of worked, if I do one more global refinement before I call moveDynamicMesh for the second time, it crashes.

In constant/dynamicMeshDict I have:
Code:
dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ("libfvMotionSolvers.so");
motionSolver displacementSBRStress;
diffusivity  quadratic inverseDistance 1(lower);
where `lower` is my bottom patch (the one it is conforming). I tried to reduce greatly the `velocity` in `processor*/<timeDir>/pointDisplacement.boundaryField.lower.velocity`, as well as smaller time steps, but no luck. One thing that I noticed is that if I have some local refinement regions that touches the `lower` patch, then the grid goes bad quicker.

My question is--
What settings in the dynamicMeshDict can I experiment with so that I get properly conformed mesh all the time? Has anyone else experienced this behavior before? I'm running OpenFOAM 6.
Regis_ is offline   Reply With Quote

Reply

Tags
movedynamicmesh


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
[Other] Contribution a new utility: refine wall layer mesh based on yPlus field lakeat OpenFOAM Community Contributions 58 December 23, 2021 03:36
High Courant Number @ icoFoam Artex85 OpenFOAM Running, Solving & CFD 11 February 16, 2017 14:40
Floating point exception error lpz_michele OpenFOAM Running, Solving & CFD 53 October 19, 2015 03:50
simpleFoam error - "Floating point exception" mbcx4jc2 OpenFOAM Running, Solving & CFD 12 August 4, 2015 03:20
How to write k and epsilon before the abnormal end xiuying OpenFOAM Running, Solving & CFD 8 August 27, 2013 16:33


All times are GMT -4. The time now is 17:09.