Suggested values of opt parameters in cgalv2m

59 views
Skip to first unread message

Bin Zhang

unread,
Nov 14, 2023, 9:52:50 AM11/14/23
to iso2mesh-users
Dear all,

I am reconstructing sand particles using volumetric mesh. The input data comes from uCT scans. The particle then will be input into Abaqus for mechanical behaviour tests. 

Since the result of FEM is mesh size dependent. I would like to have a good-quality of meshes to reflect the actual behaviour but also limit the number of meshes to save computational cost. 

I did some LR regarding all the opt parameters in cgalv2m, but couldn't find any suggested values.

Could anyone please give me some suggestions on these parameters? Value ranges or exact numbers are both welcomed.

opt.radbound=
opt.angbound=
opt.distbound=
opt.reratio=
maxvol=

Additionally, if I put a too small number, I get errors below. Could anyone please let me know the reason?

Error using cgalv2m (line 87)
output file was not found, failure was encountered when running command: "C:\Users\b9044892\SHAPE-master\lib\iso2mesh\bin\cgalmesh.exe"
"C:\Users\b9044892\AppData\Local\Temp\iso2mesh-b9044892\pre_cgalmesh.inr"
"C:\Users\b9044892\AppData\Local\Temp\iso2mesh-b9044892\post_cgalmesh.mesh" 20.000000 1.000000 1.000000 1.000000 1.000000
1648335518

Thank you in advance for your help!

Best regards,
Bin

Qianqian Fang

unread,
Feb 14, 2024, 5:30:20 PM2/14/24
to iso2mesh-users
sorry again for the long delay in getting back to your question. I hope you had already built some intuition in choosing these parameters

the meanings of these parameters are explained in our brain2mesh paper, Section 3.1


radbound is denoted as Rmax in the paper - it defines how large, in voxel unit, is the size of the surface triangles
maxvol  is denoted as Vmax - defines how big the tetrahedron element in size
reratio is denoted as q- defines the quality of the elements - usually leave this unchanges

the choice of radbound and maxvol is usually dependent on how dense you want your output mesh to be - radbound controls this by refining the surface triangles; and maxvol controls this by refining the tetrahedrons. final mesh is governed by both requirements. you can play with different settings in a simple domain and get a feeling how the output look when reducing one vs another.

I usually prefer generating a coarse mesh as long as it is sufficient to capture the shape as well as the spatial changes of the quantity that I want to model - this way, my subsequent modeling, whether it is FEM or mesh-based Monte Carlo, can benefit from higher computing speed.  because of this, my rules of the thumb of choosing radbound is never make it too small - a value of 5-10 should be sufficient to smooth out all voxelated boundaries without loosing much shape accuracy. I would never set it to around or below 1 because the output mesh will be very dense and show stair-case voxel boundaries.

for maxvol, I chose it depending on how dense the quantity I am trying to model inside the domain - if the quantity has rapid changes, I would make the mesh denser, otherwise, larger maxvol is acceptable.

for distbound - it defines how much deviation, in the unit of voxels, you would allow the surface around the true voxelated boundary. By default, I think it is 0.5, meaning that the surface can be +/-0.5 voxels away from the original voxelated boundary - this is acceptable given that voxelated boundary shape is rather an artifact than truth. if you want something more adhere to the original boundary, reduce this number. Typically, you can see that a smaller distbound produces feature adaptive meshes, where the mesh is much denser near fine structures.

hope this helps.
Reply all
Reply to author
Forward
0 new messages