Meshing holes

Hi,

I am trying to mesh a volume structure with 27 node HEX elements. The python script is as shown below.

#!python
cubit.cmd(‘reset’)

#---------SHELL-----#

cubit.cmd(‘create vertex 0 0 0’)
cubit.cmd(‘create curve arc center 0 0 0 radius 2820 normal y start angle 0 stop angle 90’)
cubit.cmd(‘create curve arc center 0 0 0 radius 2817 normal y start angle 0 stop angle 90’)

cubit.cmd(‘create curve 2 4’)
cubit.cmd(‘create curve 3 5’)
cubit.cmd(‘create surface 1 2 3 4’)
cubit.cmd(‘sweep surface 1 perpendicular distance 900’)

#--------------FRAME-----------#

cubit.cmd(‘create vertex 0 -270 0’)
cubit.cmd(‘create vertex 0 -630 0’)

cubit.cmd(‘create curve arc center 0 -270 0 radius 2817 normal y start angle 0 stop angle 90’)
cubit.cmd(‘create curve arc center 0 -630 0 radius 2817 normal y start angle 0 stop angle 90’)

cubit.cmd(‘create curve 17 19’)
cubit.cmd(‘create curve 16 18’)

cubit.cmd(‘create surface 13 14 15 16’)
cubit.cmd(‘merge surface 7 with surface 4’)

cubit.cmd(‘create curve offset curve 15 distance 120 direction z’)
cubit.cmd(‘create curve 25 19’)
cubit.cmd(‘create curve 24 17’)
cubit.cmd(‘create surface 15 17 18 19’)
cubit.cmd(‘sweep surface 8 along curve 14’)

cubit.cmd(‘merge surface 9 with surface 7’)
#cubit.cmd(‘merge volume 2 with volume 1’)
cubit.cmd(‘merge volume 3 with volume 1’)

cubit.cmd(‘create vertex on curve 18 distance 5 from vertex 25’)
cubit.cmd(‘create vertex on curve 18 distance 5 from vertex 19’)
cubit.cmd(‘create curve 34 35’)
cubit.cmd(‘create curve offset curve 29 distance -355’)
cubit.cmd(‘create curve 34 36’)
cubit.cmd(‘create curve 35 37’)
cubit.cmd(‘create surface 29 30 31 32’)
cubit.cmd(‘sweep surface 14 along curve 14’)
cubit.cmd(‘subtract volume 4 from volume 3’)

#---------HOLES-----------------#

cubit.cmd(‘create vertex on curve 13 distance 1005.61 from vertex 16’)
cubit.cmd(‘create vertex on curve 13 distance 1307.293 from vertex 16’)

cubit.cmd(‘create vertex on curve 13 distance 3016.83 from vertex 16’)
cubit.cmd(‘create vertex on curve 13 distance 3318.513 from vertex 16’)

cubit.cmd('create curve arc vertex 54 55 radius 2817 normal y ')
cubit.cmd('create curve arc vertex 56 57 radius 2817 normal y ')
cubit.cmd(‘create curve offset curve 55 distance -100’)
cubit.cmd(‘create curve offset curve 56 distance -100’)
cubit.cmd(‘create curve 58 54’)
cubit.cmd(‘create curve 55 59’)
cubit.cmd(‘create curve 60 56’)
cubit.cmd(‘create curve 61 57’)

cubit.cmd(‘create surface 57 60 55 59’)
cubit.cmd(‘create surface 56 62 58 61’)
#cubit.cmd(‘merge surface 27 with surface 12’)
#cubit.cmd(‘merge surface 28 with surface 12’)
cubit.cmd(‘sweep surface 28 perpendicular distance 360’)
cubit.cmd(‘sweep surface 27 perpendicular distance 360 switchside’)
#cubit.cmd(‘merge surface 34 with surface 7’)
#cubit.cmd(‘merge surface 29 with surface 7’)
#cubit.cmd(‘merge volume 5 with volume 1’)
#cubit.cmd(‘merge volume 6 with volume 1’)
#cubit.cmd(‘merge volume 5 with volume 3’)
#cubit.cmd(‘merge volume 6 with volume 3’)

cubit.cmd(‘subtract volume 5 from volume 3’)
cubit.cmd(‘subtract volume 6 from volume 3’)

#--------MESHING-------------#

cubit.cmd(‘curve 4,3 interval 1’)
cubit.cmd(‘curve 8,12 interval 1’)
cubit.cmd(‘curve 11,9 interval 10’)
cubit.cmd(‘curve 2,10 interval 88’)
cubit.cmd(‘block 1 volume 1’)
cubit.cmd(‘block 1 element type HEX27’)
cubit.cmd(‘mesh volume 1’)

#cubit.cmd(‘control skew surface 26’)
#cubit.cmd(‘control skew surface 23’)
cubit.cmd(‘curve 17 50 46 15 43 19 interval 4’)
cubit.cmd(‘curve 17 50 46 15 43 19 scheme bias factor 1’)
cubit.cmd(‘curve 53 54 interval 1’)
cubit.cmd(‘curve 53 54 scheme bias factor 1’)
cubit.cmd(‘surface 26 size auto factor 6’)
cubit.cmd(‘mesh surface 26’)
cubit.cmd(‘curve 25,27 interval 88’)
cubit.cmd(‘block 3 volume 3’)
cubit.cmd(‘block 3 element type HEX27’)
cubit.cmd(‘mesh volume 3’)

fusel.jpg

The problem arises in the meshing portion when I try to mesh ‘volume 3’. This is because of the holes which are a part of it. Should I use a specific meshing scheme for the holes and then mesh the volume with 27 node elements or is there is any other method?

Thank you!

I’m not sure the script is giving me what you show in the picture. I ran it up to the subtract commands just before meshing. Is this correct?
fusel2.jpg