Minimizing the Mass of the Upright Example (MIMP)

This example shows the usage of the MIMP material interpolation.

See Also
About Checking the Quality of the Optimization Result
In Other Guides
Material Interpolation
  1. Define input data and Design Variables:
    FEM_INPUT
      ID_NAME  = INPUT_FILE
      FILE     = upright_mimp.inp
    END_
    
    DV_TOPO
      ID_NAME  = globalDesignArea
      EL_GROUP = "Design_Space1"
    END_
    
  2. Define additional groups by combining (LIST_GROUP) and subtracting (LIST_SUBTRACT_GROUP) existing groups:
    GROUP_DEF
      ID_NAME = globalFrozenRegion
      TYPE    = ELEM
      FORMAT  = LIST_GROUP
      LIST_BEGIN
    "Functional Region1",
    "Functional Region2",
    "Functional Region3",
    "Functional Region4",
    "Functional Region5",
    "Functional Region7",
    "Functional Region8"
    END_
    
    GROUP_DEF
      ID_NAME = designAreaNonFrozen
      TYPE    = ELEM
      FORMAT  = LIST_SUBTRACT_GROUP
      LIST_BEGIN
    "Design_Space1", globalFrozenRegion
    END_
    
  3. To use mass in the objective, define a Design Response (DRESP) as follows:
    DRESP
      ID_NAME    = TASK_MASS
      DEF_TYPE   = SYSTEM
      TYPE       = WEIGHT
      EL_GROUP   = "Design_Space1"
      GROUP_OPER = SUM
    END_
    
  4. Define the Objective Function (OBJ_FUNC) as follows:
    OBJ_FUNC
      ID_NAME = MY_OBJECTIVE
      DRESP   = TASK_MASS
      TARGET  = MIN
    END_
    
  5. To define the stress, displacement and frequency constraints, do the following:
    1. Define the corresponding design responses (Here, one DRESP each for stress and displacement is shown instead of the total 4):
      DRESP
        ID_NAME  = StressConstraint1_LC1
        DEF_TYPE = SYSTEM
        TYPE     = SIG_TOPO_MISES
        EL_GROUP = designAreaNonFrozen
        LC_SET   = ALL,1,ALL
      END_
      
      DRESP
        ID_NAME  = DisplacementConstraint1_LC1
        DEF_TYPE = SYSTEM
        TYPE     = DISP_ABS
        ND_GROUP = "Displacement Constraint6"
        LC_SET   = ALL,1,ALL
      END_
      
      DRESP
        ID_NAME  = eig1
        DEF_TYPE = SYSTEM
        TYPE     = DYN_FREQ
        UPDATE   = EVER
        LC_SET   = MODAL,3,1
      END_
      
  6. Define the respective stress, displacement and frequency constraints (CONSTRAINT) (Here, one CONSTRAINT each for stress and displacement is shown instead of the total 4):
    CONSTRAINT
      ID_NAME   = CONSTRAINT_StressConstraint1_LC1
      DRESP     = StressConstraint1_LC1
      MAGNITUDE = ABS
      LE_VALUE  = 250000000.0
    END_
    
    CONSTRAINT
      ID_NAME   = CONSTRAINT_DisplacementConstraint1_LC1_MAX
      DRESP     = DisplacementConstraint1_LC1
      MAGNITUDE = ABS
      LE_VALUE  = 0.00012
    END_
    
    CONSTRAINT
      ID_NAME   = FreqCon
      DRESP     = eig1
      MAGNITUDE = ABS
      GE_VALUE  = 100.
    END_
    
  7. Define frozen regions (Here, one exemplary DVCON is shown):
    DVCON_TOPO
      ID_NAME    = FunctionalRegion1
      CHECK_TYPE = FROZEN
      EL_GROUP   = globalFrozenRegion
    END_
    
  8. Reference the Objective Function, Design Variables and Constraints as well as DVCONs in the OPTIMIZE command:
    OPTIMIZE
      ID_NAME    = OptimizationTask
      STRATEGY   = TOPO_SENSITIVITY
      DV         = globalDesignArea
      OBJ_FUNC   = OBJECTIVE_MIN_MASS
      CONSTRAINT = CONSTRAINT_StressConstraint1_LC1
      CONSTRAINT = CONSTRAINT_StressConstraint1_LC2
      CONSTRAINT = CONSTRAINT_DisplacementConstraint1_LC1_MAX
      CONSTRAINT = CONSTRAINT_DisplacementConstraint1_LC2_MAX
      CONSTRAINT = FreqCon
      DVCON      = FunctionalRegion
    END_
    
  9. Deactivate the function to automatically freeze specific regions and set the minimum initial density to 0.1. In addition set the material interpolation to MIMP:
    OPT_PARAM
      ID_NAME             = OptimizationTask_PARAMS
      OPTIMIZE            = OptimizationTask
      AUTO_FROZEN         = OFF
      MIN_INITIAL_DENSITY = 0.1
      MAT_INTERPOLATION   = MIMP
    END_
    

The optimization result looks as follows:

The result using the default interpolation can be seen below. The structure does not look converged and too much intermediate density is present. Also, the smoothed result is not valid:



Valid result using the MIMP interpolation. A layer of low density elements is present, but as in the smoothed image, the structure is well connected and converged: