Penetration Checks

Use one of the restrictions presented here to prevent parts of the model from penetrating certain areas.

This page discusses:

See Also
In Other Guides
DVCON_SHAPE

Applicable for Controller (SHAPE_CONTROLLER) Sensitivity (SHAPE_SENSITIVITY)
CHECK_SOLID OK OK
CHECK_ELGR OK OK

Displacement Check against Solids (CHECK_SOLID)

It is possible to define geometric primitives (solids) as a restriction of the node displacements. Geometric primitives are defined using the SOLID parameter. The SOLID command allows the definition of:

  • circles
  • circle segments
  • ring segments and rectangles in two-dimensional models and cylinders
  • cylinder segments
  • tubes
  • cubes and cube segments in three-dimensional models
There is a differentiation between a variation solid and a restriction solid (variation area or restriction area).

The parameter:


CHECK_SOLID = solid_name

specifies a solid whose borders might not be penetrated.

The following figure shows a displacement check against a solid:



Defining a Solid

  1. To define a solid in Tosca Structure.gui, choose Command SOLID.

Important:

  • The CHECK_SOLID restrictions can be performed for surface nodes as well as for inner nodes. To limit the exterior form of a component, it only makes sense to restrict surface nodes. However, the node displacements in the MESH_SMOOTH area should be limited.
  • Up to six different CHECK_SOLID parameters can be defined in every DVCON_SHAPE command. They are executed in the order of their declaration within the DVCON_SHAPE command.
  • If the solid is a variation solid, all nodes of the node group in the start model (see ND_GROUP parameter) must be located inside the variation solid. If nodes are located outside the variation solid, the DVCON_SHAPE definition will be rejected. If the solid is a restriction solid, all nodes of the node group in the start model (see ND_GROUP parameter) must be located outside the restriction solid. If nodes are located inside the restriction solid, the DVCON_SHAPE definition will be rejected.

Penetration Check (CHECK_ELGR, PENETRATION_CHECK)

Element surfaces and lines as well as solid elements can be defined as limiting surfaces, lines, or solids to check node displacements against any contour. This option offers more flexibility than the check for the absolute amount of displacement or the check against geometric primitives. The limiting surfaces are formed by beam structures in 2D models and by shell structures or solid structures in 3D models. The limiting surfaces are generated in the FE preprocessor and loaded through the interface (MODEL_LINK Folder or FEM_INPUT command, ADD_FILE parameter) in the optimization preprocessor.

The parameter


CHECK_ELGR = elgr_name

can be defined in the CHECK_GROUP field of the PENETRATION_CHECK menu in the Element Group field of Tosca Structure.gui.

It specifies an element group whose elements might not be penetrated (contact condition) by the nodes of the node group specified by the ND_GROUP parameter for shell or beam elements. For solid elements, all nodes inside the solids specified by the CHECK_ELGR parameter are frozen and for all nodes outside the penetration into the solid is avoided. The following figure provides a graphic illustration.

Activation of the element check represents a collision control. If a node attempts to penetrate an element, the node displacement is scaled back so the effected node remains on the side of the element where it is intended. The element group must be defined with GROUP_DEF or in the analysis file before it can be referenced with CHECK_ELGR.

If a node starts exactly on a shell element, there is a high probability that it is seen on either side of the shell. If the design nodes have an offset from the element group, the current implementation works fine. Dependent on which side of the shell element a node is seen by the algorithm, every one of the four situations can be right or wrong.

The problem is that, if the node is placed on the shell element, it cannot be said beforehand on which side the node will be seen. As a solution to this situation, the element group should get permeability: nodes can penetrate the element from one side but not from the other side. The new command


CHECK_ELGR_BLOCKING = <BOTH | POS | NEG>

can have the following values:
BOTH (Default) element group is not penetrable from any side. Like current behavior with the known problems.
POS Element group is penetrable in negative normal direction and blocking in positive normal direction.
NEG Element group is penetrable in positive normal direction and blocking in negative normal direction.

If a node sits slightly above the barrier elements and gets moved away from it without hitting the barrier, it might be desired to block the node movement. The TOLERANCE parameter can be used for virtually displacing nodes in the opposite moving direction. Nodes that are located close enough to the barrier are lying virtually on the correct side to get blocked. TOLERANCE is given as an absolute (positive) value and its default is roughly 10% of the mean edge length. It gets only applied with CHECK_ELGR_BLOCKING equal to POS and NEG, but not with BOTH.

Example:

DVCON_SHAPE
  ID_NAME             = DVC_PENETRATION_CHECK
  ND_GROUP            = some_node_group
  CHECK_ELGR          = barrier_elements
  CHECK_ELGR_BLOCKING = POS
END_
Note:

  • CHECK_ELGR restrictions can be performed for surface nodes as well as for inner nodes. To limit the exterior form of a component, it only makes sense to restrict surface nodes. However, the node displacements in the MESH_SMOOTH area should be limited.



  • Up to six CHECK_ELGR parameters can be defined in every DVCON_SHAPE command. They are executed in the order of their declaration within the DVCON_SHAPE command. For each group a new PENETRATION_CHECK entry must be created.
  • To simplify the definition of the contact check, it is useful to divide the limiting surfaces by assigning various element property numbers (or materials). This greatly simplifies the selection and assembly of groups in the optimization preprocessor (when using manual selection).
Important:
  • The nodes (ND_GROUP parameter) and the elements (CHECK_ELEM parameter) should have a definite minimum distance to ensure that a node must remain on the right element side and the initial model is feasible.
  • For determining penetration by beam elements (without lateral dimension), a hypothetical tolerance area amounting to 1% of the beam length surrounds each beam element. A beam element is considered penetrated when a node is moved into the tolerance area. A node displacement moving alongside the tolerance area is not considered as a penetration.
  • If the elements being used in the check are loaded with the ADD_FILE parameter of FEM_INPUT command, attention should be paid that node or element IDs are not used twice since Tosca Structure cannot process duplicated IDs.
  • If your preprocessor does not allow you to create the additional elements in a separate file, they can also be placed in the main simulation file. However, special care must be taken that the additional elements do not influence the simulation result. Using fixed boundary conditions can do the trick, but rigid body formulations are not allowed.
  • In sensitivity-based optimization mode, the node restrictions CHECK_SOLID and CHECK_ELGR are applied as box constraints on the design variables. These commands can be used as an alternative or in addition to CHECK_SHRINK and CHECK_GROW to restrict the design nodes.