Edge and triangle error in tetrahedral mesh of two volumes

When I try to use the map scheme on surfaces 67 55 65 53, Cubit crashes. My journal file is attached.
My application for the mesh requires condition numbers lower than 2-5. (Current mesh without map scheme has 9 as the highest condition number).
Thanks for your help (and happy new year!)

Forgot to attach the journal file for the previous comment. It’s here.
works_paved.txt (155.7 KB)

You can’t use the map scheme on the triangle surfaces 53 and 55. That will not work here. Use a different scheme for those.

Thanks! I have used the map scheme for surface 52 and the pave scheme for surfaces 53 and 55. I am still getting some bad condition numbers at the intersection of surface 53 and the z-positive face. If I try paving surface 56, volume 12 fails to mesh. Thanks for your help.

Surface all with is_merged size 500
curve all in surface all with is_merged size 500
surface 52 size auto factor 3 propagate
Surface 52 scheme map
Surface 53 55 scheme pave
mesh surface all with is_merged
qtri surface all with is_merged
volume all scheme tetmesh
Surface 60 46 66 tetmesh growth_factor 1.005
mesh volume all

The bad quality is to be expected when you are still working with the sharp tangency.

Paving the surface 56 and meshing afterwards works on my side.

maybe you haven’t changed

mesh surface all with is_merged
qtri surface all with is_merged

Surface 56 is not included in the is_merged condition.

surface 56 scheme pave
mesh surface all with is_merged
mesh surface 56
qtri surface all with is_meshed

should work

that did work, thanks. I ended up not paving surface 56 because I worse condition numbers. Cleaning and smoothing after meshing improved the numbers, but only modestly (script except below). Can I force the desired condition number with those commands instead of just general smoothing?

Imprint all
merge all
#volume all with is_merged size 400
Surface all with is_merged size 500
curve all in surface all with is_merged size 500
Curve 119 size auto factor 3.5 propagate
surface 52 size auto factor 3.5 propagate
Surface 52 scheme map
Surface 53 55 scheme pave
mesh surface all with is_merged
qtri surface all with is_merged
volume all scheme tetmesh
volume all tetmesh growth_factor 1.005
mesh volume all
clean volume all
Smooth volume all

you could try to smooth the mesh with

volume all smooth scheme condition number beta 2.0 cpu 0.5

but there is no guarantee that the desired condition number will always be reached.

Do you think the only way to reduce the condition number is to cut the tangency as you did with an earlier version of the mesh? I was trying to reproduce that in my new mesh but could not. The journal file is attached.

works_paved.txt (156.1 KB)

You will have to somehow reshape the sharp tangency if you want a better element quality in that place. The smoothing until a specified condition number is reached, is only possible with fixed boundary nodes. This means the nodes at the tip of the sharp tangency won’t be affected here. How you reshape the geometry is up to you. For me the easiest way here is a cut.

To cut off the tip replace

create vertex on curve 81 fraction 0.25 from vertex 2885
create vertex on curve 83 fraction 0.25 from vertex 2887
create vertex on curve 81 fraction 0.25 from vertex 2885
create vertex on curve 83 fraction 0.25 from vertex 2887
split surface 33 across vertex 2894 2895

with

split curve 81  distance 1000 from vertex 2885
split curve 83  distance 1000 from vertex 2887
split curve 86  distance 1000 from vertex 2887 
webcut volume 8 with plane vertex 2892 vertex 2893 vertex 2894
unite volume 8 10

and don’t forget to adjust the surfaces ids for the pave scheme

Surface 76 78 scheme pave

I want both the surface that gets created in this section

create vertex on curve 81 fraction 0.25 from vertex 2885
create vertex on curve 83 fraction 0.25 from vertex 2887
create vertex on curve 81 fraction 0.25 from vertex 2885
create vertex on curve 83 fraction 0.25 from vertex 2887
split surface 33 across vertex 2894 2895

and the cut (to be implemented after the creation of that surface)

thank you for your help

when you want both you can paste this into your journal file

...
create vertex on curve 81 fraction 0.25 from vertex 2885
create vertex on curve 83 fraction 0.25 from vertex 2887
create vertex on curve 81 fraction 0.25 from vertex 2885
create vertex on curve 83 fraction 0.25 from vertex 2887
split surface 33 across vertex 2894 2895
# insert cut
split curve 100  distance 1000 from vertex 2887
split curve 86  distance 1000 from vertex 2887
split curve 88  distance 1000 from vertex 2885
webcut volume 8 with plane vertex 2898 vertex 2899 vertex 2900
unite volume 8 10
##
delete curve all 
delete free vertex all 

healer autoheal volume all rebuild

Imprint all 
merge all
Volume all with is_merged size 400
Surface all with is_merged size 400
curve all in surface all with is_merged size 400
# adjust curve and surface ids
Curve 139 148 size auto factor 3 propagate
surface 76 size auto factor 3 propagate
Surface 76 scheme map
Surface 79 81 scheme pave
##
mesh surface all with is_merged
qtri surface all with is_merged
volume all scheme tetmesh
Volume all scheme triprimitive
volume all tetmesh growth_factor 1.01
mesh volume all
clean volume all
volume all smooth scheme condition number beta 2.0 cpu 2.5