A mesh based on hexader-elements has the better performance during the calculations but if the mesh should be derived from a cad-geometry it is often
more convenient to create a tetraeder mesh as to modify or rebuild the geometry to make it meshable with hexader-elements. In this case the user can mesh the surfaces with unstructured triangles and export them in the stl-format (see ``send'') as a basis for an auto-mesher [4]. The following steps have to be done:
Figure 4:
CAD-file meshed with tet-elements using NETGEN
Use the interface program to convert the cad format to fbd format
(ie: vda2fbd cad.vda > cad.fbd).
Sometimes the header of the vda file causes some trouble and must be modified to make the program run.
Start cgx with that file (cgx -a cad.fbd). Usually some warnings appear on the screen but the program will fix that automatically (triggered by -a). After all geometry has been read the program will merge points and lines to close the volume. Then all nurbs related surfaces are trimmed. Finally all surfaces are rendered and the result is displayed in the main window. The whole process might need some time. If problems occur the user might start the program with option -b instead of -a (cgx -b cad.fbd). Then no automatic post-processing is done and the user has to fix the geometry manually. See the commands merg, div, qdiv, rep. Quite often adjacent surfaces do not use common lines. Make sure the divisions match. This has to be done because later on every created triangle must have three adjacent triangles.
Flip the surfaces in a way that its normal direction points outwarts (use ``qflp'' with key ``a''). If a surface points inwards it is not illuminated and appears only dark grey.
Define the element type, usually: elty all tr3u. In rectangular situations the element type tr3 gives better results. If you use NETGEN [4] later on for the generation of the tet-mesh then you should also prepare edges for the mesher. Usually it is good enough if you mesh all lines Use be2 elements for the edges.
Mesh all (mesh all). If some surfaces can not be meshed then modify the divisions of the lines of this surfaces (see ``qdiv'') or chose the structured element type tr3 for this surfaces. Or change some parameters of the unstructured mesher (see ``asgn''). See also the commands ``qdel'' and ``qele'' to fix elements manually.
Visualize and check the mesh (plus ei all).
Export the mesh (send all stl). If the model consists of several unconnected parts separate them in single sets and send one after the other in stl format (see qaddqremcomp). Beside the stl file a so called edge file for NETGEN will be created if be2 elements are included in the mesh.
Create the tet-mesh outside of cgx. If you use NETGEN then better use the self created edges. In NETGEN open the stl-doctor and go in the edges menu. There delete all edges with ``all undefined'' then load the edges with ``load edgedata'' and activate them with ``candidate to confirm''. Then mesh the model. Use Abaqus format if you export the mesh out of NETGEN.
Back in cgx delete the existing mesh (del me) and import the Abaqus-tet-mesh (read mesh.msh inp) or start a new session (cgx -c mesh.msh). If the mesh is composed of several parts then assemble all parts by reading one after the other with ``read''.
Create sets of nodes, faces or elements to create boundary conditions and export them with ``send''.
Create the input deck for ccx with an editor and start the calculation.