Mesh refinement with biased node distribution

Hello at all,

I’m a new user of PrePoMax and playing around with the hints of MisiaKu’s “simple tutorial on how to divide an object in FreeCAD“ i managed to get a nice mesh refinement of a plate with central hole under axial load.

Nevertheless at the transition zones between coarse and fine meshes I’ve got some distorted tetrahedrons due to the equal distance of the nodes at the upper and lower edges. I searched for a way to define a biased node distribution along an edge, but I can’t find a hint in the PrePoMax or the gmesh documentation.

Is it possible to define a biased node distribution in PrePoMax ?

With best regards

1 Like

There’s no such feature yet. Recently, local refinement based on the number of elements was implemented. However, there may still be some issues with local refinement due to the mesher limitations. Currently, you have to use partitions to get more edges/faces for refinement.

Thank you FEAnalyst for the quick reply. So I stop searching for that.

Usually I’m simulating with Abaqus, so when I stumpled over PrePoMax I was very pleased to find something alike Abaqus (with calculix mimics the Abaqus-syntax).

As a holiday project I’ll dive deeper into PrePoMax.

With best regards

I also use Abaqus on a daily basis and often find biased distribution useful. It seems that Gmsh has at least a basic version of it called progression: Useful additional gmsh functionality - #24 by Gunnar

But it’s not yet available in PrePoMax.

For reference, here’s what it looks like in Abaqus:

exactly, this is what I miss. Specifically when you are confronted with high stress gradients it’s very useful.

when local mesh set to point or edge it will generate bias distribution by tets automatic mesher.

1 Like

Gmsh has quite specific mesh growth: https://wiki.freecad.org/FEM_MeshGmshFromShape#Mesh_Growth

But additional partitions help it.

@synt

I’ll try that on my model. Exotic idea to define a bias distribution with a point.

Thank you for the proposal.

Edit :

I can’t reproduce your result. Maybe with my compound model it’s not working ?

Tomorrow I’ll model your cube and try it again.

I confirm that some sort of bias node distribution occurs, when you define only a local mesh size on a point or edge of a geometry. My assumption is that this behavior is triggered by internal default values of the tet-mesher (maybe a growth faktor between fine and coarse mesh regions). I’ve got a notion that the bias is not influenced by the value of the local mesh size itself. So a little bit random at the end.

Unfortunately for a complex meshing technique the behavior is not useable.

But thank you @synt for the interesting proposal.

Here’s a bias (progression) with a simple script in Gmsh (applied to 3 edges meeting at that one vertex so that the mesh is not distorted for the other edges if only 1 has bias):

1 Like

Another example with just one (seam) edge:

1 Like

i can understand local mesh refinement have bit different with bias distribution even capable, this Gmsh approach can be similar with CalculiX GraphiX (CGX).