How to Generate High-Quality Hexahedral Mesh with Distance-Based Grading for Ellipsoidal Cavity?

Dear Coreform Support Team & Community,

I am working on a computational geophysics project modeling surface deformation induced by a deep ellipsoidal magma chamber. The workflow involves generating a high-quality background mesh in Cubit, importing it into deal.II for adaptive FEM forward modeling, and subsequently using the results for parameter inversion.

** Objective:**

  • Domain: 100×100×100 km cuboid, centered at (0,0,-50km) .
  • Cavity: Ellipsoid (a=2km, b=2.71km, c=3.032km ) centered at z=-6.86km .
  • Mesh Requirements:
    1. Pure hexahedral elements (deal.II compatibility).
    2. Scaled Jacobian ≥ 0.7 globally.
    3. Smooth size grading: ~100-200m at cavity surface → ~4000m at far-field boundaries.
    4. Fast generation speed (will be rerun multiple times for inversion loops).

:bug: Current Issue: My current journal uses scheme polyhedron combined with sizing function skeleton . While it generates a mesh, the quality is unacceptable:

  • Severe distortion radiates from the cavity toward the top boundary.
  • Scaled Jacobian drops to ~0.16 in the transition zone (see attached screenshot).
  • Generation time is slower than expected for a background mesh.

:scroll: Current Journal Script:

==============================================

1. Environment Reset

==============================================

reset
set duplicate block elements off
set node constraint on
graphics pause
graphics triad off

==============================================

2. Geometry Definition

==============================================

Ellipsoid semi-axes (meters)

{a=2000} {b=2710}
{c=3032} {z_cav=-6860}

Outer computational domain

create brick x 100000 y 100000 z 100000
volume 1 name “outer_domain”
move volume 1 z -50000

Ellipsoidal cavity tool

create sphere radius 1
volume 2 name “cavity_tool”
volume 2 scale x {a} y {b} z {c}
move volume 2 x 0 y 0 z {z_cav}

Boolean subtraction to create the void

subtract volume 2 from volume 1
imprint all
merge all

Split domain into 8 octants for meshing control

webcut volume all with plane xplane offset 0
webcut volume all with plane yplane offset 0
webcut volume all with plane zplane offset {z_cav}
imprint all
merge all

==============================================

3. Boundary Conditions (Side Sets)

==============================================

External boundaries

sideset 1 add surface with x_coord <= -49999; sideset 1 name “xmin”
sideset 2 add surface with x_coord >= 49999; sideset 2 name “xmax”
sideset 3 add surface with y_coord <= -49999; sideset 3 name “ymin”
sideset 4 add surface with y_coord >= 49999; sideset 4 name “ymax”
sideset 5 add surface with z_coord <= -99999; sideset 5 name “zmin”
sideset 6 add surface with z_coord >= -1; sideset 6 name “zmax”

Cavity surface extraction (curvature filter avoids picking webcut planes)

group “cavity_surfs” add surface all with curvature > 1e-4
sideset 99 add surface in group cavity_surfs
sideset 99 name “magma_boundary”

==============================================

4. Meshing Strategy (Current Approach)

==============================================

NOTE: This combination causes radial distortion and low Jacobian values

volume all scheme polyhedron
volume all sizing function skeleton
min_size 200
max_size 4000
max_gradient 1.2
num_layers 3
add size_source surface in sideset 99 size 200

mesh volume all

Smoothing

volume all smooth scheme condition number beta 2.0 cpu 18
smooth volume all

==============================================

5. Node Sets & Export

==============================================

nodeset 1 add node in sideset 1
nodeset 2 add node in sideset 2
nodeset 3 add node in sideset 3
nodeset 4 add node in sideset 4
nodeset 5 add node in sideset 5
nodeset 6 add node in sideset 6
nodeset 99 add node in sideset 99

export abaqus “ellipsoid_cavity.inp” overwrite
save as “ellipsoid_cavity.cub” overwrite

quality volume all scaled jacobian global draw mesh
display
pause

The current grid generation effect of the cubit code is as follows.

Question: What is the optimal meshing strategy (scheme, sizing function, and smoothing parameters) to generate a distortion-free hexahedral mesh with smooth size transition from the ellipsoidal cavity to the far-field boundaries?

Thank you for your time and expertise. I look forward to your recommendations.

Best regards,
Cubit User
Computational Geophysics & FEM Inversion Researcher