Experience with Abaqus mesh export

Hello,

I am writing part of the documentation for FLUKA.CERN software on how to use Cubit for mesh generation in Abaqus format. So far, I have good results. Still, I need your help with clarifying some things:

  1. Exporting into Abaqus with multiple Parts
    In my version, export via the GUI interface produces a mesh file in flat format. Command issued in the history window:
    export abaqus "C:/CERN/CAD_models/Cubit_test/DonutBlock.inp" mesh_only dimension 3 overwrite everything
    I was able to achieve the desired result only with the next terminal command:
    export abaqus "C:/CERN/CAD_models/Cubit_test/DonuteCube.inp" overwrite instance_per_block
    Is this correct behaviour?
  2. Exporting the body that was split to become "meshable"
    In my case, I was able to do hex mesh of Cube intersection with Toroid, only after splitting into simple segments:

    However, in this case, I have 8 volumes instead of the original 1. What should I do to still have a single volume/part in the output?
  3. Fixing Intersecting meshes
    What would you suggest to have a good contact between the boundaries of solids to minimize the gaps created by the offset of vertices? Should I tag or imprint on common surfaces somehow?
    Coreform Cubit 2025.8 User Documentation
    Coreform Cubit 2025.8 User Documentation

Thanks,
Volodymyr Rodin

Could you please demonstrate Point 3 with this test example?
Cubit_test.step (11.6 KB)
Shared surfaces are 1 and 8

Hi @vorodin,
for (1) and (2):
Decomposing unmeshable geometry is exactly what was needed here.
You will have to add the volumes into a block. Then they will be exported as 1 element set.

block 1 add vol all

Also if you made webcuts and you want to have 1 connected element set, you will need to imprint and merge before you mesh.

imprint vol all
merge vol all

When you created blocks then there should also be the possibility to instance blocks with the gui.
image

about (3) i will take a mesh attempt later.
I guess the mesh of the 2 volumes should not be merged together, is that right?

Hi @Norbert_Hofbauer ,

Thanks for the quick response!

Adding everything to one block did exactly what I wanted to have.

Yes, for point 3, two separate parts are needed.

so first lets decompose the geometry with a view webcuts. Before we actually cut, we put the volumes in blocks. This way we won’t need to assign them to a block later.

#!cubit
reset
import step "Cubit_test.step" heal
block 1 add vol 1
block 2 add vol 2
webcut volume all with plane from surface 6  
webcut volume all with plane from surface 2  

webcut volume all  with cylinder radius 10 axis y center 0 0 40  
webcut volume all  with cylinder radius 30 axis y center 0 0 40  

grafik

now we got volumes where the sweep scheme will work. so we imprint, merge and mesh.

imprint vol all
merge vol all

vol all in block 1 size auto factor 5
vol all in block 2 size auto factor 4
mesh vol all

draw block all

grafik

next is to unmerge the inner part from the torus. after that we can make a coincidence check if its really separated and if the nodes are overlapping.

unmerge vol 4
merge vol all in block 2
topology check coincident node volume all tolerance 1e-06 draw brief result group

grafik

1 Like

Hi @Norbert_Hofbauer,

Thanks for such well-guided instruction.
Indeed, I wanted to receive a result like that :+1:

One question about exporting this into Abaqus:
At the end of the file, I have two extra parts defined

*ASSEMBLY, NAME=ASSEMBLY1
**
*INSTANCE, NAME=PART-1_1, PART=PART-1
0.000000e+00,0.000000e+00,0.000000e+00
0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00,0.000000e+00
*END INSTANCE
*INSTANCE, NAME=PART-2_1, PART=PART-2
0.000000e+00,0.000000e+00,0.000000e+00
0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,0.000000e+00,1.000000e+00,0.000000e+00
*END
 INSTANCE
**
*END ASSEMBLY

So what operation created them, and how can I obtain only the original two parts?

Best regards,
Volodymyr

With which command syntax did you export the mesh?

If i want to get a export with the instances like above i would need

export abaqus "test.inp"  instance block 1 source_csys 0 target_csys 0  instance block 2 source_csys 0 target_csys 0   overwrite  everything 

When i just want the mesh with the element sets, i would use

export abaqus "test.inp"  mesh_only   overwrite  everything 

I have used this one, to have parts defined inside, but 4 parts were created instead of 2.

Are only 2 parts. First line for the keyword is for the translation and second for the rotation.
https://classes.engineering.wustl.edu/2009/spring/mase5513/abaqus/docs/v6.6/books/key/default.htm?startat=ch05abk16.html

1 Like

Don’t worry about it.

This was actually a wrong interpretation of the assembly by the mesh parser in our software.