8.5. Understanding Solid Model Cross-Reference Checking

The previous sections alluded to several conditions that restrict you as you modify your meshed solid model. These restrictions arise due to the cross-reference checking that has been incorporated into the Mechanical APDL program to prevent contamination of the solid model and finite element model data. They may be summarized as follows:

  • Meshed keypoints, lines, areas, or volumes may not be deleted or moved.

  • Nodes or elements associated with keypoints, lines, areas, or volumes may not be moved. They can be deleted only with the mesh clearing commands.

  • Areas contained in volumes may not be deleted or changed.

  • Lines contained in areas may not be deleted or changed (except by LDIV, LCOMB, or LFILLT, as discussed previously).

  • Keypoints contained in lines may not be deleted. They can be moved only with the KMODIF command, which revises and clears (if meshed) attached lines, areas, and volumes.

The basic reasoning behind these rules might be visualized from the following sketch. Schematically, your completed model can be thought of as a stack of blocks, in which the bottommost block represents your keypoints, the next block represents lines, and so forth. If you were to change a lower entity (a line, for instance), you would disturb the entities that are stacked on top of it. (Admittedly, this illustration somewhat oversimplifies the dependence of higher level entities on lower entities.)

Figure 8.10: Why We Have Solid Model Cross-Reference Checking

Why We Have Solid Model Cross-Reference Checking

These rules are not as restrictive as they might appear. Furthermore, for those few instances when they absolutely prevent you from performing an operation that you need, you can deactivate them, as is discussed in the next few paragraphs. Be aware, however, that in deactivating these rules, you lose the protections that they provide, and thereby increase the chances of irrevocably damaging your model's database.

8.5.1. Circumventing Cross-Reference Checking (A Risky Activity)

Cross-reference checking of the solid model usually serves only to help you avoid corrupting your model's database. There are occasions, however, when you might have good reason to attempt a "forbidden" operation. The MODMSH command exists for this purpose. MODMSH has three options: DETACH, NOCHECK, and CHECK.

MODMSH,DETACH detaches the finite element model from the solid model, which will allow the finite element model to be modified by node and element commands. This detachment keeps the database "clean," in that there will be no recognized database conflicts. Consider, for instance, a single keypoint and its associated node. Following a MODMSH,DETACH, the program will no longer recognize the associativity between these two entities, so that you can now move the node to a new location without creating a conflict in the database. Once you have detached your model, you cannot perform such operations as selecting or defining the finite element model in terms of the solid model, clearing the mesh, or transferring solid model boundary conditions to the finite element model.

MODMSH,NOCHECK is very dangerous. It deactivates all cross-reference checking, and makes it startlingly easy to get the database so fouled up that hardly any solid modeling operations are possible. Its utility is that it allows you to use commands such as EMODIF, NMODIF, EDELE, NDELE, etc. to modify elements and nodes that were generated with the mesh commands. Activating this option will cause the program to warn you that cross-reference checking is bypassed whenever you initiate a solution or issue a PFACT or SOLVE command. Use this option only if you are completely sure of what you are doing, for the havoc you can inflict on your database with the NOCHECK option on will often make it impossible for the Mechanical APDL customer support staff to help you recover from any trouble you get yourself into.

MODMSH,CHECK restores cross-reference checking after it has been inhibited. However, since the database integrity could have been compromised while the checking was off, the program will continue to warn you whenever you initiate a solution or issue a PFACT or SOLVE command. The only way to get rid of this warning message is to start over with a "clean" database.