Next: How to check an Up: Tips and Hints Previous: How to run cgx Contents

##
How to deal with cad-geometry

A simple step-reader is integrated in cgx (cgx -step filename). It can deal with points and lines. You might start with a file containing a 2D-section, subdivide it in meshable surfaces and sweep it in the 3rd dimension to create your geometry. If features exist in the 3rd dimension then this features must be included in the 2D-section. Then sweep the 2D-section to the location were the feature starts, then right to the end and at last to the end of the geometry. Then delete the bodies before and after the feature. You might also project the sweped sections to target surfaces if the feature is shaped in the 3rd dimension.

Sometimes the geometry consists of several parts which are arranged on different positions in space. This is called assembly. When cgx is started with the parameter ``-stepsplit'' instead of ``-step'' it will write the single parts to separate directories using their original coordinate systems. The user can prepare meshable geometry or meshes based on them. But he must use the filenames which he finds there. The final meshed assembly can be build afterwards by calling the fbl-file which was also written from cgx. This fbl-file contains commands to position and eventually duplicate the single geometries/meshes from the subdirectories.

For complicated models you should also consider to use a tet-mesher like NETGEN [4] which can read step and generates quite nice tet-meshes. You can read this meshes with cgx and combine them with cgx-geometry and meshes. Then create your boundary conditions etc. You might read the native-netgen format (.vol) instead of abaqus-format because this stores also the 2D meshing regions as separate sets which can be used to apply boundary conditions (``cgx -ng file.vol'').

But you can also create a so called stl-file based on your cgx-geometry and feed it to external meshers. The following section explains how to do that:

In general hexahedra-elements perform better than tets but if the mesh should be derived from a cad-geometry it is often more convenient to create a tetrahedra mesh as to modify or rebuild the geometry to make it meshable with hexahedra-elements. In this case the user can mesh the surfaces with structured (elty setname tr3) or unstructured triangles (elty setname tr3u) 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 12: 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 outwards (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 e 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 qadd qrem comp). 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 for the export. Or if you use NETGEN use the native-netgen format (file extensin .vol). The latter will keep the surface meshing domains which can then be used to apply BC after reading with cgx. See the ''Program Parameters'' section on how to do that.

- Back in cgx delete the existing surface 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 or if you want to ``add'' the tet-mesh to an existing one 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.

- Look at the results with cgx (cgx results.frd).

Next: How to check an Up: Tips and Hints Previous: How to run cgx Contents