-
Define input data and Design Variables:
FEM_INPUT
ID_NAME = INPUT_FILE
FILE = topo_ribs_oilpan.inp
END_
DV_TOPO
ID_NAME = DESIGN_AREA
EL_GROUP = ALL_ELEMENTS
END_
-
Define additional groups for frozen elements:
GROUP_DEF
ID_NAME = FROZEN
TYPE = ELEM
FORMAT = LIST
LIST_BEGIN
87593, ...
END_
GROUP_DEF
ID_NAME = NON_FROZEN
TYPE = ELEM
FORMAT = LIST_SUBTRACT_GROUP
LIST_BEGIN
ALL_ELEMENTS, frozen
END_
-
To use the compliance in the objective, define a Design Response (DRESP) as follows:
DRESP
ID_NAME = COMPLIANCE_TERM_1
DEF_TYPE = SYSTEM
TYPE = STRAIN_ENERGY
EL_GROUP = ALL_ELEMENTS
UPDATE = EVER
GROUP_OPER = SUM
END_
-
Define the Objective Function (OBJ_FUNC) as follows:
OBJ_FUNC
ID_NAME = COMPLIANCE_OBJ
DRESP = COMPLIANCE_TERM_1
TARGET = MIN
END_
-
Define the rib pattern and frozen DVCONs:
DVCON_TOPO
ID_NAME = FROZEN_AREA
CHECK_TYPE = FROZEN
EL_GROUP = FROZEN
END_
DVCON_TOPO
ID_NAME = DVCON_RIBS
CHECK_TYPE = RIB_DESIGN
EL_GROUP = NON_FROZEN
CHECK_GROUP = NON_FROZEN
RIB_THICKNESS = 4
RIB_DISTANCE = 5
RIB_DIRECTION = 0., 0., 1.
END_
-
Reference the Objective Function, Design Variables and Constraint as well as DVCON in the OPTIMIZE command:
OPTIMIZE
ID_NAME = OPTIMIZE_1
DV = DESIGN_AREA
OBJ_FUNC = COMPLIANCE_OBJ
DVCON = FROZEN_AREA
DVCON = DVCON_RIBS
STRATEGY = TOPO_SENSITIVITY
END_
-
Set the maximum number of iterations to 100
STOP
ID_NAME = GLOBAL_STOP_CONDITION
ITER_MAX = 100
END_
The optimization result looks as follows:
