HMIN_opticontrol_write()

Writes optimization control parameters to HyperMesh.

Syntax

void HMIN_opticontrol_write(HM_entityidtype id,char *name, int desmax, char desmaxtoggle,double mindim,char mindimtoggle,int minmeth, char minmethtoggle, double matinit,char matinittoggle,double mindens, char mindenstoggle,double discrete,char discretetoggle,int checker, char checkertoggle,int mmcheck,char mmchecktoggle,double objtol, char objtoltoggle,double delsiz,char delsiztoggle,double delshp, char delshptoggle,double deltop,char deltoptoggle, int * nastran_toggles, int * nastran_int_controls, double * nastran_real_controls )

Type

HyperMesh hminlib Function

Description

Writes optimization control parameters to HyperMesh.

Inputs

id
The ID of the OptiStruct.
name
The name of the OptiStruct.
desmax
Maximum number of design iterations ( default = 30, if MINDIM is defined, default = 80).
desmaxtoggle
Flag to indicate that desmax is used (0: not used, 1: used).
mindim
Specifies the minimum diameter of members formed in a topology optimization. This command is used to eliminate small members. It also eliminates checkerboard results. The method is defined by MINMETH (real > 0.0, default = no minimum member size control).
mindimtoggl
Flag to indicate that mindim is used (0: not used, 1: used).
minmeth
Specifies the method of minimum member size control. Method 2 is set as default since it achieves more discrete solutions for most examples (1 or 2).
minmethoggle
Flag to indicate that minmeth is used (0: not used, 1: used).
matinit
This parameter declares the initial material fraction. For topology optimization runs with mass as the objective, default is 0.9. For runs with constrained mass, the default is reset to the constraint value. If mass is not the objective function and is not constrained, the default is 0.6. (between 0.0 and 1.0).
matinittoggle
Flag to indicate that matinit is used (0: not used, 1: used).
mindens
Minimum element material density. Sets a lower limit on the amount of material that can be assigned to any design element. Extremely low values for this parameter can result in an ill-conditioned stiffness matrix.
mindenstoggle
Flag to indicate that mindens is used (0: not used, 1: used).
discrete
Discreteness parameter. Influences the tendency for elements to converge to a material density of 0 or 1. Higher values decrease the number of elements that remain between 0 and 1. Recommended bounds are 0.0 and 2.0 for shells, or 3.0 for solids.
discretetoggle
Flag to indicate that discrete is used (0: not used, 1: used).
checker
Controls checkerboarding. ( 0,1 or 2, default = 0) Use 0 for no checkerboard control. Use 1 for global averaging over the entire design domain. This option generally yields a large number of semi-dense elements around fully dense elements. To reduce the number of semi-dense elements in the solution, restart the final iteration with checkerboard control off and run for 10-20 iterations. This may reintroduce some local checkerboarding. This method is used with plate/shell and solid design elements and is highly recommended for Tetra elements. Nodal densities are output to the .res file if this option is used. Use 2 for averaging at local areas identified as checkerboarded. Since averaging is only applied locally, a much smaller number of semi-dense elements are found in the final iteration compared to the global averaging method. This method applies only to shell design elements. If used in models with solid design elements, checkerboard control is not applied to solid elements.
checkertoggle
Flag to indicate that checker is used (0: not used, 1: used).
mmcheck
The use of this parameter will ensure a checkerboard free solution, although with the undesired side effect of achieving a solution that involves a large number of semi-dense elements, similar to the result of using checker=1. Therefore, use this parameter only when it is necessary. (0 or 1).
mmchecktoggle
Flag to indicate that mmchechk is used (0: not used, 1: used).
objtol
Relative convergence criterion. If relative change in the objective function between two design iterations is less than OBJTOL then optimization stops.
objtoltoggle
Flag to indicate that objtol is used (0: not used, 1: used).
delsiz
Fractional move limit for size design variables.
delsiztoggle
Flag to indicate that delsiz is used (0: not used, 1: used).
delsshp
Fractional move limit for topography/shape design variables. Defined as the fractional difference between the upper and lower bounds.
delshptoggle
Flag to indicate that delshp is used (0: not used, 1: used).
deltop
Fractional move limit for topology design variables.
deltoptoggle
Flag to indicate that delshp is used (0: not used, 1: used).
nastran_toggles
Toggle variables for Nastran optimization control parameters. If an element of the array above is set to zero, the optimization program does not take into account the settings for that variable. If the value for an element is 1, the optimization program uses the values in the arrays bellow instead of the default values.
nastran_int_controls
Integer type optimization control parameters for Nastran.
nastran_real_controls
Real type optimization control parameters for Nastran.

Example

The optimization control parameters for Nastran are grouped into an integer array and a real array in the following way:

Integer parameters

nastran_int_controls[0 ] : APPRCOD

nastran_int_controls[1 ] : DESMAX

nastran_int_controls[2 ] : IGMAX

nastran_int_controls[3 ] : IPRINT

nastran_int_controls[4 ] : IPRNT1

nastran_int_controls[5 ] : IPRNT2

nastran_int_controls[6 ] : ISCAL

nastran_int_controls[7 ] : ITMAX

nastran_int_controls[8 ] : ITRMOP

nastran_int_controls[9 ] : ITRMAST

nastran_int_controls[10] : JTMAX

nastran_int_controls[11] : JPRINT

nastran_int_controls[12] : JWRITE

nastran_int_controls[13] : METHOD

nastran_int_controls[14] : P1

nastran_int_controls[15] : P2

Real parameters

nastran_real_controls[0 ] : CONV1

nastran_real_controls[1 ] : CONV2

nastran_real_controls[2 ] : CONVDV

nastran_real_controls[3 ] : CONVPR

nastran_real_controls[4 ] : CT

nastran_real_controls[5 ] : CTMIN

nastran_real_controls[6 ] : dabobj

nastran_real_controls[7 ] : delb

nastran_real_controls[8 ] : delobj

nastran_real_controls[9 ] : delp

nastran_real_controls[10] : delx

nastran_real_controls[11] : dobj1

nastran_real_controls[12] : dobj2

nastran_real_controls[13] : dpmin

nastran_real_controls[14] : dx1

nastran_real_controls[15] : dx2

nastran_real_controls[16] : dxmin

nastran_real_controls[17] : gmax

nastran_real_controls[18] : gscal

nastran_real_controls[19] : ptol

nastran_real_controls[20] : Stpscl

For further details please see DOPTRM in the Nastran manual.

Errors

None.