DVCON_TOPO

Defines restrictions of the design variables in topology optimization.

This page discusses:

ID_NAME

= <id_name_of_dvcon_topo>

Name of the DVCON_TOPO definition

EL_GROUP

= <name_of_element_group>

Name of an element group already defined with which DVCON_TOPO reacts.

CHECK_TYPE

= FROZEN

All elements of the element group <name_of_element_group> do not undergo any changes during optimization.

= CAST

Manufacturing restrictions to guarantee the manufacturing of the elements.

= MILLING

Manufacturing restrictions to guarantee the milling manufacturing of the elements.

= OVERHANG

Manufacturing restriction to prevent overhangs under a given angle in the optimized model.

= MIN_MEMBER

Minimum member size filter (definition of the minimum structural diameter).

= MAX_MEMBER

Maximum member size filter (definition of the maximum structural diameter).

= RIB_DESIGN

Manufacturing restriction to enforce rib pattern in the design area.

= LINK_TOPO

Definition of symmetry and link conditions.

= CLUSTER_GROUPS

Clustering of elements with the same design variable value. Several EL_GROUP items can be defined with this CHECK_TYPE.

Items for CHECK_TYPE = MIN_MEMBER

THICKNESS

= <thickness>

Minimum thickness of the structure.

Items for CHECK_TYPE = MAX_MEMBER

THICKNESS

= <thickness>

Maximum thickness of the structure.

DISTANCE

= <distance value>

= 0 (=automatically determined)

Distance between two supports for the maximum member size control.

MIN_THICKNESS

= <thickness>

= <value_of_THICKNESS>

Minimum thickness of the structure when using a maximum member size constraint. The resulting structures have a thickness between MIN_THICKNESS and THICKNESS.

METHOD

= FILTER | LOCAL_VOLUME

Algorithm that is used for the maximum member size constraint. FILTER results in clearer optimization results, while LOCAL_VOLUME tends to be more robust.

APPROXIMATE

= YES | NO, <scale factor>

= YES , 1.0

Option to turn on or turn off an approximating, but more performant algorithm. Only supported for METHOD=LOCAL_VOLUME and tetrahedral elements. The scale factor defines how coarse the evaluation of the constraint is. Specifying the scale factor is optional.

Items for CHECK_TYPE = RIB_DESIGN

CHECK_GROUP

= <name_of_element_group>

= ALL_ELEMENTS

Name of the element group that is used to verify if elements fulfill the rib design restriction correctly.

RIB_DIRECTION

= <X_COMP>, <Y_COMP>, <Z_COMP>

The out-of-plane direction in which the rib pattern can be extruded in the form of a vector with reference to CS_0. For cylindrical and spherical coordinate systems, the rib direction can only be the first axis of the referenced coordinate system.

RIB_THICKNESS

= <thickness>

Maximum thickness of the individual ribs averaged over the design area.

RIB_DISTANCE

= <distance value>

= 2*RIB_THICKNESS

Averaged distance between two ribs measured from their respective centers.

RIB_CS

= <name_of_coordinate_system>

= CS_0

Coordinate system for the definition of the rib direction.

APPROXIMATE

= YES | NO, <scale factor>

= YES , 1.0

Option to turn on or turn off an approximating, but more performant algorithm. Only supported for tetrahedral elements. The scale factor defines how coarse the evaluation of the constraint is. Specifying the scale factor is optional.

Items for CHECK_TYPE = LINK_TOPO

CHECK_LINK

= <name_of_link_topo>

Reference of the corresponding LINK_TOPO definition.

RADIUS

= <radius>

Radius value: should be about 50% of the average element edge length, if specified.

Items for CHECK_TYPE = CAST

PULL_DIR

= <X_COMP>, <Y_COMP>, <Z_COMP>

Pull direction for the element groups in the form of a vector with reference to CS_0. For cylindrical and spherical coordinate systems, the pull direction can only be the first axis of the referenced coordinate system.

ANGLE

= <draft_angle>

= 0

Removal angle, 0°<= ANGLE < 20°.

CHECK_GROUP

= <name_of_element_group>

= ALL_ELEMENTS

Name of the element group that is used for the collision check of the removed elements.

MID_PLANE

= NONE

No definition of a central plane; thus, the elements are only deformed in the direction of PULL_DIR.

= AUTO

Automatic determination of the central plane. Using the central plane as the starting point. The elements are removed either in the direction of the deformation or in the opposite direction.

= AUTO_TIGHT

No holes are generated in the central plane. The thickness of this plane depends on the radius. In rare cases the default radius must be increased to ensure a tight plane.

= POINT, <X_COMP>, <Y_COMP>, <Z_COMP>

A point within the central plane from which the deformation vector is positioned perpendicular to.

= SURFACE

The elements are demolded at the actual surface of the DVCON group.

= STAMP

The element group is demolded keeping a stampable structure.

PULL_CS

= <name_of_coordinate_system>

= CS_0

Coordinate system for the definition of the pull direction. If a cylindrical coordinate system is referenced, the casting restrictions are performed in cylindrical coordinates. The command PULL_CS also defines the local coordinate system for the definition of the midplane point when MID_PLANE = POINT, x,y,z is used to define a demold control.

RADIUS

= <radius>

Radius value: should be about 50% of the average edge length of the element, if specified. (This value is used internally for the collision check during the removal of the elements). In combination with MIDPLANE=AUTO_TIGHT the thickness of the midplane is defined by 2*RADIUS.

CREATE_PULL_GROUP

= NO

= YES

Element groups for the demolded elements are automatically generated.

FILTER_MAT

= NO

= YES

Additional material-based filtering after the optimization for stricter avoidance of undercuts.

FILTER_PARAM

= NO

= YES

Alternative approach for demold constraints by parameterization of the design variables. Especially, for 2D models the optional setting is beneficial. The frozen elements are ignored for the respective DVCON.

Items for CHECK_TYPE = MILLING

MILLING_DIR

= <X_COMP>, <Y_COMP>, <Z_COMP>

Milling direction for the element groups in the form of a vector with reference to CS_0. Can be referenced multiple times

MILLING_CS

= <name_of_coordinate_system>

= CS_0

Coordinate system for the definition of the milling direction. Only rectangular coordinate systems are supported.

RADIUS

= <radius>

Optional, radius value: should be about 50% of the average edge length of the element, if specified. (This value is used internally for the collision check during the removal of the elements.)

CHECK_GROUP

= <name_of_element_group>

= ALL_ELEMENTS

Name of the element group that is used for the collision check of the removed elements.

Items for CHECK_TYPE = OVERHANG

PRINT_DIR

= <X_COMP>, <Y_COMP>, <Z_COMP>

Printing direction for the model in the form of a vector with reference to CS_0.

PRINT_CS

= <name_of_coordinate_system>

= CS_0

Coordinate system for the definition of the printing direction.

ANGLE

= <overhang_angle>

= 45

Overhang angle, 0°< ANGLE < 90°.

RADIUS

= <radius>

Radius of the cones used in the internal check if an element is properly supported. The default value is about 1.5 times the average element edge length and usually does not need to be changed.

CHECK_GROUP

= <name_of_element_group>

= ALL_ELEMENTS

Name of the element group that is used to check if elements are correctly supported to fulfill the overhang angle criteria.

BASE_PLANE

= AUTO

= NONE

= POINT, <X_COMP>, <Y_COMP>, <Z_COMP>

Definition of the base plate. Per default, the printing bed is defined by the lowest element of the model in terms of the printing direction. Can be deactivated or set to a custom point. Elements without support are removed if they are positioned above the base plane.

SUPPORT_FROZEN

= NO

= YES

Switch to enable support of functional regions. If activated, the constraint tries to support functional regions with material to prevent overhanging structures.

Items for CHECK_TYPE = CLUSTER_GROUPS

EL_GROUP

= <name_of_element_group>

Can be applied several times to assign multiple groups.

Remarks

  1. The element group that is intended to be restricted must be a subset of the referenced element group of DV_TOPO (these elements must lie in this design area).
  2. A check group can be entered for CHECK_TYPE=CAST or the corresponding default value, see the above table, is used. This can be an upper set of design variables and must contain the element group that needs to be restricted (operator EL_GROUP). The CHECK_GROUP is the element group that is checked for collision with the elements that are to be removed. If this group contains more elements than the optimization group, the elements outside the optimization group are considered to be a barrier (the elements in the optimization group cannot be deformed "over" these elements). For example, if an engine bracket is optimized and if a part of the engine block is still retained in the analysis model, the CHECK_GROUP should be restricted to the engine bracket because the engine block does not play a significant role for the casting restriction of the engine bracket during manufacture. If the engine bracket is connected to the engine, the engine block must be added to the CHECK_GROUP, otherwise elements from the optimization area are removed that must be "drawn" from the engine block.
  3. If no RADIUS is entered for CHECK_TYPE=CAST, the optimization system determines the radius from the elements of the check group (CHECK_GROUP). The value is determined by the output of the command. (Specifying the value is only important for elements in a model that has very different magnitudes.)
  4. If the option CREATE_PULL_GROUP is selected, the elements are grouped in the following element groups:
    • Elements with a positive demold direction in the group POS_DIR_*
    • Elements with a negative demold direction in the group NEG_DIR_*
    • Elements without demolding in the group NO_PULL_*
    • Elements of the mid plane in the group MID_PLANE_*
  5. The combination of a minimum member size constraint and a maximum member size constraint is not allowed. Use the MIN_THICKNESS parameter in the maximum member size constraint instead.
  6. If no DISTANCE parameter is specified for CHECK_TYPE=MAX_MEMBER, in general the distance between two supports must be at least the thickness value.
  7. The maximum member size constraint can only be used with the sensitivity-based algorithm. Maximum member size constraints with the controller algorithm are not supported.
  8. For a more strict avoidance of undercuts, an additional material filter (FILTER_MAT = YES) can be switched on which is applied after each optimization cycle. The optimization result is changed based on purely geometrical aspects. This might influence the objective values and even the convergence in a negative way. Thus apply only, if the standard casting restriction does not lead to sufficient results.
  9. The option FILTER_MAT = YES is not compatible with the parting surface options MID_PLANE = AUTO_TIGHT and MID_PLANE = SURFACE and with a removal angle ( ANGLE ) different from 0°.
  10. The CHECK_TYPE = CLUSTER_GROUPS is only supported by sensitivity-based optimizations.

Examples


DVCON_TOPO
  ID_NAME       = my_dvcon_topo_01
  EL_GROUP      = el_grp_startarea
  CHECK_TYPE    = FROZEN
END_

DVCON_TOPO
  ID_NAME       = my_dvcon_topo_02
  EL_GROUP      = el_grp_cast
  CHECK_TYPE    = CAST
  CHECK_GROUP   = ALL_ELEMENTS
  PULL_DIR      = 0.,0.,1.
  MID_PLANE     = NONE
END_

DVCON_TOPO
  ID_NAME       = my_dvcon_topo_03
  EL_GROUP      = el_grp_milling
  CHECK_TYPE    = MILLING
  CHECK_GROUP   = ALL_ELEMENTS
  MILLING_DIR   = 1.,0.,0.
  MILLING_DIR   = 0.,1.,0.
  MILLING_DIR   = 0.,0.,1.
  MILLING_CS    = CS_0
END_

DVCON_TOPO
  ID_NAME       = RibControl
  CHECK_TYPE    = RIB_DESIGN
  EL_GROUP      = el_grp_ribs
  CHECK_GROUP   = ALL_ELEMENTS
  RIB_THICKNESS = 1.
  RIB_DISTANCE  = 2.
  RIB_DIRECTION = 1.,0.,0.
END_

DVCON_TOPO
  ID_NAME       = my_dvcon_topo_04
  EL_GROUP      = el_grp_overhang
  CHECK_TYPE    = OVERHANG
  CHECK_GROUP   = ALL_ELEMENTS
  PRINT_DIR     = 0.,1.,0.
  ANGLE         = 45
END_

DVCON_TOPO
  ID_NAME       = my_dvcon_topo_05
  EL_GROUP      = el_grp_max_member_size
  CHECK_TYPE    = MAX_MEMBER
  THICKNESS     = 10.
  MIN_THICKNESS =  2.
  DISTANCE      = 20.
END_

DVCON_TOPO
  ID_NAME       = my_dvcon_topo_06
  EL_GROUP      = my_element_group1
  EL_GROUP      = my_element_group2
  CHECK_TYPE    = CLUSTER_GROUPS
END_