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

[cfMesh] Dimples in Mesh

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 2, 2019, 08:01
Default Dimples in Mesh
  #1
New Member
 
Alissa
Join Date: Nov 2019
Posts: 5
Rep Power: 6
Alissa is on a distinguished road
Hello,

I have been trying cfMesh for the past couple weeks and ran into some problems where I would get dimples in my mesh near surfaces. Another problem is that you can see the structure of the input surface mesh in the final volume mesh.
You can see what I mean in the attached images.

So far I have generated my input surface files by following this workflow.
Up until this point my geometries have been very simple and just consist of a dice in a cuboid channel and a cylinder in a cuboid channel.
I use FreeCAD to create the geometries and export them into a .step file before generating the surface mesh in salome.

I tried to solve those problems by refining the mesh in the problematic regions (in cf;esh as well as in salome) and generating a new input surface file from the volume mesh using the foamToSurface utility. Although none of that brought any improvement.

I think that there is something severely wrong with the way I generate my input surface file but I can't seem to figure out what exactly. Therefore I was hoping someone here might know what could cause those issues.

If needed I can also provide the surface and meshdict files.


best regards,
Alissa


Edit 1:
-Provided download Links for the case directories. Including meshDict, checkMesh outputs and input files.
-I also added the content of the meshDict files for those who don't want to download anything

Edit 2:
-Provided tech draws for each case



dice Inside Channel
https://drive.google.com/drive/folde...eBYWdWObAFYEPy


meshDict for diceInsideChannel
Code:
*--------------------------------*- C++ -*----------------------------------*\
 |    _ _ _ _    |                                                              |
| //         \\ | Creative Fields cfMeshPRO                                  |
| | cfMeshPRO | |                                                              |
| \\ _ _ _ _ // | Version: 0.0.99                                            |
|               | Web: www.c-fields.com e-mail: support@c-fields.com           |
\*---------------------------------------------------------------------------*/
FoamFile
{
version    2;
format    ascii;
class    dictionary;
location    "system";
object    meshDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
maxCellSize    2.5e-2;
//minCellSize 0.01;
//minCellSize 5;
surfaceFile    "diceInsideChannel.fms";



 // ************************************************************************* //

zylinder Inside Channel
https://drive.google.com/drive/folde...3vj3HEWqB4z-Ok


meshDict for zylinderInsideChannel


Code:
/*--------------------------------*- C++ -*----------------------------------*\
|    _ _ _ _    |                                                              |
| //         \\ | Creative Fields cfMeshPRO                                  |
| | cfMeshPRO | |                                                              |
| \\ _ _ _ _ // | Version: 0.0.99                                            |
|               | Web: www.c-fields.com e-mail: support@c-fields.com           |
\*---------------------------------------------------------------------------*/
FoamFile
{
version    2;
format    ascii;
class    dictionary;
location    "system";
object    meshDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
maxCellSize    1e-2;
//minCellSize 0.01;
//minCellSize 5;
surfaceFile    "zylinderInsideChannel.fms";
/*
objectRefinements
{
    Zylinder
    {
        type                        cone;
        additionalRefinementLevels  2;
        //maxCellSize                 1e-3;
        p0                          (-0.170 0 0.500);
        p1                          (0.170 0 0.500);
        radius0                     0.120;
        radius1                     0.120;
    }
}


// ************************************************************************* //
Attached Images
File Type: jpg crinkleClipSurface.jpg (20.1 KB, 75 views)
File Type: jpg crinkleClipWithEdges.jpg (191.9 KB, 87 views)
File Type: png diceInsideZylinderTechDraw.png (69.9 KB, 47 views)
File Type: png zylinderInsideChannelTechDraw.png (64.0 KB, 30 views)

Last edited by Alissa; December 3, 2019 at 15:26. Reason: Added more details
Alissa is offline   Reply With Quote

Old   December 3, 2019, 04:33
Default
  #2
Senior Member
 
Kmeti Rao
Join Date: May 2019
Posts: 145
Rep Power: 7
Krao is on a distinguished road
Hi Alissa,

Without seeing the meshDict nad checkMesh results it is difficult to add anything. If it is not an important geometry, you can post the figure of original geometry along with the dimensions.
Krao is offline   Reply With Quote

Old   December 3, 2019, 07:22
Default
  #3
New Member
 
Alissa
Join Date: Nov 2019
Posts: 5
Rep Power: 6
Alissa is on a distinguished road
Hi Krao,


thank you for your reply.
Yes it’s not an important geometry so I am able to provide download links for the entire case directories.
They’re just very simple cases I created to get more familiar with cfMesh after tinkering with the provided tutorial cases.


I also added the content of the meshDict files to my original post for those who would rather not download anything.


Unfortunately I didn’t have the time to create figures with the measurements of my geometries yet, but I can provide those later today. However the case directories include the original CAD files.




Please let me know if there’s anything else I can do to provide useful insight to the problems I have.




In the mean time I tried the surfaceGenerateBoundingBox utility (using a stl from FreeCAD as input) to create the fluid domain instead of following the workflow I linked in my original post. This seems to yield better results, but I still have to give it more testing.
Regardless of that I’d like to figure out where I went wrong in my other attempts.




best regards,
Alissa
p { margin-bottom: 0.25cm; line-height: 115%; background: transparent none repeat scroll 0% 0%; }
Alissa is offline   Reply With Quote

Old   December 3, 2019, 15:21
Default
  #4
New Member
 
Alissa
Join Date: Nov 2019
Posts: 5
Rep Power: 6
Alissa is on a distinguished road
Hi Krao,
it seems like my last reply isn't being displayed, so I'm sorry if this might show up as a double post later.
Since these cases are just something simple, I created to get more familiar with cfMesh after tinkering with the provided tutorials, I was able to upload the entire case directories. In addition, I added the content of the controlDicts to my original post.

I also provided the tech draws. I'm sorry that the figures are a bit crude (FreeCAD isn't my friend yet), but as you can see those are very simple geometries which shouldn't be a problem for the mesher.

I also tested the surfaceGenerateBoundingBox utility, using a stl-file created with FreeCAD as input, which seems to yield better results. However, if possible, I'd still like figure out where my mistakes are with my current workflow.

Feel free to ask me for anything else I could provide that gives a better insight to my current situation.

best regards,
Alissa
Alissa is offline   Reply With Quote

Old   December 4, 2019, 06:58
Default
  #5
Senior Member
 
Kmeti Rao
Join Date: May 2019
Posts: 145
Rep Power: 7
Krao is on a distinguished road
Hi,

OpenFOAM and related software use 'm' as dimension. The geometry you have posted is having a maximum width of 1000mm and that means only 1m. Your max cell size is 0.025m, with this size you are not refining enough(only 40 parts along the width and much less number of parts in other places). Also, please go through the CFmesh user guide, there are so many other options available.

Start with some simple cube, later a cylinder, sphere etc., Once you are comfortable handling these geometries then you can explore more. http://cfmesh.com/wp-content/uploads...fMesh_v1.1.pdf
Krao is offline   Reply With Quote

Old   December 9, 2019, 07:49
Default
  #6
New Member
 
Alissa
Join Date: Nov 2019
Posts: 5
Rep Power: 6
Alissa is on a distinguished road
Hi,


I’m sorry for the late response.
Of course I studied the cfMesh user Guide prior to my original post and tried various different options and settings. And I am aware that cfMesh uses meter as it’s base length unit.
Unfortunately I didn’t keep a good record of my prior iterations so I can only try to recollect and describe the results from my memory. But I will make sure to keep a better record of each iteration from now on, so I can give more and better information when asking questions in the future.




The major things I tried were:


-Trying different mesh types. All ended up with the same problems. However cartesianMesh still got the best mesh.


-local & object refinement (down to a cell size of about 1mm) with limited cell size and additional refinement levels. In all cases the dimples became smaller, but never completely vanished.


-keepCellsIntersectingBoundary/Patches. This inverts the dimples, which is quite obvious since the dimples are clearly cells that intersect the boundary of the object and are removed by the mesher by default.


-stopping the workflow at various steps, hoping to figure out at which point the mesher runs into problems. Although I don’t remember if this turned out to be useful or not. Perhaps I should revisit this step.


-enforcingGeometryConstraints did nothing as far as I remember.




I also tested various utilities. However most of those also don’t seem to help in solving my problems. I only managed to achieve a good result for the die/cube by fist generating a template with cfMesh, converting the volume mesh into a surface mesh via foamToSurface and then generate a new volume mesh from that after extracting the feature edges and converting it into an ftr/fms file.


Another way to achieve a satisfactory result was to by using the surfaceGenerateBoundingBox utility.


I would prefer to find a different way to achieve good enough results though, since those methods appear too cumbersome when working with more complex problems in the future, because I don’t seem to have much control about local refinement when going one of those routes.


In addition I tested different refinement levels with the netgen2d-1d algorithm in salome over the past couple. This helped to reduce the size of the “dimples” but increased the quantity of dimples. I was only able to go down to a cell size of about 1 mm before my computer would crash though.




Before trying mesh objects that are placed in a flow channel, I also meshed various geometries that had all kinds of round edges, bevels, indentation etc. to get a feeling for how to use cfMesh. All those cases worked like a charm without having to use additional options, except for some refinements here and there.
It was only when I placed those objects in a channel that I started to run into problems.
p { margin-bottom: 0.25cm; line-height: 115%; background: transparent none repeat scroll 0% 0%; }
Alissa is offline   Reply With Quote

Old   January 27, 2020, 09:05
Default
  #7
New Member
 
Alissa
Join Date: Nov 2019
Posts: 5
Rep Power: 6
Alissa is on a distinguished road
Hi,


I’m digging up my old thread because I’m still a bit stuck.
As mentioned in my previous post I’m able to achieve decent meshes using the generateBoundaryBox utility. For simple stuff I find it to be quite easy to generate meshes which can at least pass the checkMesh and properly capture all geometrical features.


However I would much rather prefer being able to create a 3D-Model of my fluid domain in a CAD Software and mesh it using the workflow (or one similar to the one) I linked in my original post.


So I’m still hoping that someone here can give me good hint as to what I should look out for when generating my Mesh.


As of now I’m still convinced that there’s a major flaw in the process of generating my surface file. On order to test this I created the fluid domain for the same geometry (zylinderInsideChannel) using two different methods.


First I created a 3D Model of my fluid domain in FreeCAD and then generated a surface mesh from the 3D-Modell using Salome. When running the checkSurfaceMesh utility it results in 4 failed checks and generating a good volume mesh seems to be next to impossible.


Code:
Number of points 347145
Number of triangles 697430
Number of patches 10
Number of feature edges 1661
Bounding box (-0.2475 -0.2475 0) (0.2475 0.2475 1)



Surface mesh consists of 11 manifolds!!
You cannot mesh geometries consisting of more than one domain, and it must not contain baffles in the domain which shall be meshed.
No open edges found in the surface mesh.
Surface does not have any non-manifold edges.

Surface mesh consists of disconnected parts!!
This is not a problem if there exists a region surrounding all other regions! In other case, the mesher will generate the mesh in the domains with most cells.
No sliver triangles found.

Found self-intersecting parts in the surface mesh!!
This causes problems to the automatic refinement procedure Please avoid using the minCellSize option. It can also cause problems to the boundary layer generation procedure.

Found overlapping parts in the surface mesh!!
This causes problems to the automatic refinement procedure. Please avoid using the minCellSize option.



Found 4 checks indicating potential problems.
However, it does not mean that you cannot generate a valid mesh.

End
On the second route I only created a 3D Model of the zylinder, generated a surface mesh from it using salome and than ran the generateBoundingBox utility.
In my understanding this should result in a mesh equal in quality to the one from above. However this mesh only fails 2 checks when running the checkSurfaceMesh utility and generating a volume mesh from it is no problem at all.




Code:
Number of points 291827
Number of triangles 583646
Number of patches 9
Number of feature edges 1556
Bounding box (-0.2475 -0.3475 -0.6) (0.5475 0.3475 0.6)



Surface mesh consists of 2 manifolds!!
You cannot mesh geometries consisting of more than one domain, and it must not contain baffles in the domain which shall be meshed.
No open edges found in the surface mesh.
Surface does not have any non-manifold edges.

Surface mesh consists of disconnected parts!!
This is not a problem if there exists a region surrounding all other regions! In other case, the mesher will generate the mesh in the domains with most cells.
No sliver triangles found.
No self-intersections found.



Found 2 checks indicating potential problems.
However, it does not mean that you cannot generate a valid mesh.

End

Based on the check mech results, does anyone here have an idea where there might a problem with my workflow?
The most notable difference in the mesh checks of the of the surface meshes is in my opinion that the first one consists of 11 manifolds and the second one only of 2 manifolds.
Alissa is offline   Reply With Quote

Old   February 13, 2020, 11:28
Default
  #8
New Member
 
Join Date: Nov 2017
Posts: 11
Rep Power: 8
nope is on a distinguished road
Hi

Can you provide the full case or at least the STL files? Best would be all in a zip folder. My first thought was there must be something wrong with your STL files.
nope is offline   Reply With Quote

Reply


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
sliding mesh problem in CFX Saima CFX 46 September 11, 2021 07:38
Star CCM Overset Mesh Error (Rotating Turbine) thezack Siemens 7 October 12, 2016 11:14
[ICEM] surface mesh merging problem everest ANSYS Meshing & Geometry 44 April 14, 2016 06:41
[ICEM] Problem making structural mesh on a surface froztbear ANSYS Meshing & Geometry 1 November 10, 2011 08:52
[snappyHexMesh] snappyHexMesh won't work - zeros everywhere! sc298 OpenFOAM Meshing & Mesh Conversion 2 March 27, 2011 21:11


All times are GMT -4. The time now is 11:08.