For shape optimization with SIMULIA Tosca Structure the existing inner mesh is automatically adjusted to the surface displacement after the determination of the surface modification. No re-meshing of the model is carried out, but the displacement of the surface nodes is passed on to the inner nodes. This modified mesh is then used as the basis of the FE calculations that follow. The parameters for mesh smoothing are specified with the MESH_SMOOTH command. The most important parameter is to define the area to which the mesh correction is applied. Default values for other settings are such that satisfactory results can be achieved for most models. The most important additional options are FREE_SF, LEVEL_QUAL, SOLVER_CHECK/SOLVER_STOP and STRATEGY that are described in the following chapters.
Element group for mesh smoothingThe area to which mesh smoothing is applied to is defined by an element group. This element group must contain all design nodes.
Note:
Note:
For each mesh smooth definition, several groups are created automatically by SIMULIA Tosca Structure. Some are available directly after the preprocessing of the MESH_SMOOTH definition and are thus available for other definitions (e.g. constraints) further on.
Others are created when the definition of the optimization task is completed and read into the SIMULIA Tosca Structure database.
Fixation of free surface nodes (FREE_SF)In the following figure transition nodes are pictured for a) FREE_SF=FIX,0 and b) FREE_SF=FREE.The MESH_SMOOTH area contains design nodes, surface nodes that are not design nodes and inner nodes.
In many cases it is desirable to adjust the surface nodes (in proximity of the design nodes) in the mesh smoothing to achieve a smooth transition between the design area and remaining area. However, in other cases, it makes more sense to fix the surface nodes to avoid an unwanted displacement of the nodes by the mesh smoothing. For example, the front side of a component is the design area. The MESH_SMOOTH area extends over the entire component. If the back side of the component is to remain unchanged, the surface nodes on the back side must be fixed. The FREE_SF=FIX setting enables free surface nodes to be fixed automatically in all displacement directions during the mesh smoothing: MESH_SMOOTH ... FREE_SF = FIX, <number_of_node_layers> END_ All surface nodes of the MESH_SMOOTH area that are neither design nodes nor limited by restrictions are interpreted as free surface nodes. FREE_SF=FIX,0 is set by default, i.e., the free surface nodes cannot be moved during mesh smoothing. The FREE_SF=FIX setting can also be modified by specifying a number of node layers (layers field next to FREE_SF choice menu, default=0), e.g. FREE_SF=FIX,5. This number of node layers specifies how many node layers, beginning with the design nodes along the surface, should remain free and not be fixed. This enables the transition area in vicinity of the design area to be kept free despite the fixed surface. Node layers consisting of mid-side nodes are not taken into consideration, only node layers consisting of corner nodes.
Fixation of the MESH_SMOOTH area boundary
The boundary between area and the remaining model is fixed per default as the mesh smoothing should stay restricted to the area defined for this purpose (BOUNDARY = FIX parameter). The nodes on the boundary are internally stored in a node group with the name <Mesh_smooth_id_name>_BOUN. If in some cases you may not want all "border" nodes to be fixed, you can select the BOUNDARY = FREE option. Then you are responsible to fix the proper nodes by yourself via DVCON_SHAPE entries. Automatic MESH_SMOOTH area (MS_LAYER)The area for mesh smoothing should be as small as possible but as large as necessary. The element group ALL_ELEMENTS should not be used for smoothing if only a small part of the model should be optimized. The calculation time of the optimization module increases and all free surface nodes have to be fixed explicitly by the user. The MESH_SMOOTH parameter MS_LAYER allows the automatic definition of a mesh smooth element group consisting of a certain number of element layers with reference to a node group. This setting is defined by changing the EL_GROUP drop down menu in Tosca ANSA® environment to MS_LAYER and then choosing your node group and the number of layers. In Tosca Structure.gui it is chosen by switching the radio button for the mesh smooth area to ND_GROUP, LAYER in and choosing group and number correspondingly. ExampleStarting at the design node group, a mesh smooth domain is generated with 5 element layers: MESH_SMOOTH ID_NAME = new_mesh_smooth MS_LAYER = design_nodes, 5 FREE_SF = FIX, 3 END In Tosca Structure.gui the definition looks as follows:
Convergence of the smoothed mesh (LEVEL_CONV)The algorithms for mesh smoothing are iterative, i.e., the mesh smoothing is performed in several successive steps. The decisive factor for the convergence of the smoothed mesh is the number of steps in combination with the increments. The iterative process can be influenced using the convergence parameter, LEVEL_CONV. The default setting is LEVEL_CONV=LOW, i.e., only a few iterations with large increments are performed. This is the most efficient setting. The convergence behavior can be improved with the settings LEVEL_CONV=MEDIUM and LEVEL_CONV=HIGH. These settings result in increasingly more iterations with smaller increments to be performed which, however, can result in a substantial increase in the computing time required. The goal should always be to work with the lowest possible convergence parameter to avoid unnecessarily long computing times! MESH_SMOOTH ... LEVEL_CONV = LOW END_
Enforcing restrictions (LEVEL_DVCON)The mesh smoothing algorithm consists of several sub-algorithms that are executed consecutively. The displacement of the MESH_SMOOTH nodes can be restricted by DVCON_SHAPE entries (declared with OPTIMIZE). The LEVEL_DVCON setting can be used to control the enforcement of the DVCON_SHAPE entries in the individual sub-algorithms for the mesh smoothing. LEVEL_DVCON=LOW is set by default, i.e., the DVCON_SHAPE entries for mesh smoothing are forced. This is the most efficient setting. The settings LEVEL_DVCON=MEDIUM and LEVEL_DVCON=HIGH causes the DVCON_SHAPE entries to be forced more often. The goal is to work with the lowest parameter value possible to avoid unnecessarily long computing times. MESH_SMOOTH ... LEVEL_DVCON = LOW END_ Quality control and improvement (LEVEL_QUAL)Mesh smoothing attempts to improve the quality of the mesh despite the mesh distortion that results from the optimization displacement of the design nodes. The mesh quality can be controlled using the LEVEL_QUAL parameter. The value LEVEL_QUAL=LOW is set by default, i.e., improvement of the mesh quality is attempted during the mesh smoothing. This is the most efficient setting. Generally, an increase to LEVEL_QUAL=MEDIUM or LEVEL_QUAL=HIGH leads to further improvement of the mesh quality but at the cost of increased computing time. The sub-algorithm can be deactivated by setting LEVEL_QUAL=NOT. MESH_SMOOTH ... LEVEL_QUAL = LOW END_
Quality parameters The quality values of the sub-algorithm mentioned are determined for each element and base on the angle quality and, for tetrahedral elements, the quality of the aspect ratio. The quality value lies between 1 (best element quality) and 0 (poorest element quality). The poorest quality value of an angle or aspect ratio is always decisive for the element. The user can specify the interval limit (*_LOW_*, *_HIGH_*) outside of which the elements are rated as poor by the quality algorithm. The poorer an element is rated, the greater the consideration it will be given in improving the element quality. MESH_SMOOTH ... QUAD_LOW_ANGLE = <value> QUAD_HIGH_ANGLE = <value> TRIA_LOW_ANGLE = <value> TRIA_HIGH_ANGLE = <value> TETRA_LOW_ASPECT = <value> TETRA_HIGH_ASPECT = value> END_ The way the quality values are determined can be outlined as follows:
Poor quality elementsA list of the elements that are rated as poor quality by MESH_SMOOTH with an internal quality value of zero can be made as an output. To do so, set the QUAL_LIST=YES parameter. The default setting is QUAL_LIST=NO, no list of poor quality elements is printed out. MESH_SMOOTH ... QUAL_LIST = NO END_ Note: The list of poor quality elements can only be printed for LEVEL_QUAL=LOW, MEDIUM or HIGH. No element qualities are calculated with LEVEL_QUAL=NOT and poor elements cannot be identified. Quality criteria of the solver (SOLVER_CHECK)In shape optimization there is a danger that the desired optimum cannot be achieved with the specified mesh which is continually adjusted to changing conditions. This means that the mesh is a component that should be restricted in the optimization job. Usually, the quality of the mesh decreases with an increase in the number of design cycles. The program for the finite element analysis may abort as a result. Some quality criteria for elements are checked in the finite element analysis program. If the solver identifies elements that are too poor in quality, the finite elements analysis is aborted. This has the disadvantage that no analysis results for the subsequent design cycle are then available in SIMULIA Tosca Structure and therefore, the optimization must be aborted (error message due to lack of results data instead of error message due to poor mesh quality). Using the option SOLVER_CHECK=YES (default is NO) the user has the possibility, to check some finite element solver quality criteria in the SIMULIA Tosca Structure optimization module before the actual finite elements analysis. The quality criteria Q4TAPER, Q4SKEW, T3SKEW and TETRAAR are checked. The poorest values and the corresponding elements are logged to the output file. The default values in SIMULIA Tosca Structure can be changed by the user using the options Q4TAPER, Q4SKEW, T3SKEW and TETRAAR. The option SOLVER_STOP=YES (default is NO) causes a regular program stop in the SIMULIA Tosca Structure optimization module when one of the quality criteria is violated. This means that the subsequent finite elements analysis, which would be canceled without results data, is no longer carried out. This setting has the advantage that an optimization stop is easier to understand for the user who is saved from having to check the finite element solver results files for the source of the error. MESH_SMOOTH ... SOLVER_CHECK = YES Q4TAPER = <value> Q4SKEW = <value> T3SKEW = <value> TETRAAR = <value> SOLVER_STOP = YES END_
Correction of distorted elements (CORRECT_ELEMENTS)In some cases the program for the finite element analysis aborts due to bad element quality (inverted element or aspect ratio too big) some time during the optimization and thus prevents SIMULIA Tosca Structure from performing the optimization task. Very often only a few elements cause this trouble and the desired optimum is only slightly affected when modifying the concerned elements in order to gain a better mesh quality.
In the above figure the correction of distorted elements is explained: a) original element, b) optimized element with bad aspect ratio (d), c) corrected element (good aspect ratio). For tetrahedral and hexahedral elements this can be activated with the CORRECT_ELEMENTS = YES option (default, use NO to disable). For hexahedral elements and tetrahedral elements with bad element quality, it is tried to correct the element CE_CORRECTION_LOOPS times by multiplying the optimization displacements with CE_CORRECTION_FACTOR (default is 0.5). If the element is still in a poor state it depends on CE_FAIL_ACTION what is done next: If CE_FAIL_ACTION = RESET is set (default), the optimization displacement is set to zero. If CE_FAIL_ACTION is set to CONTINUE the element is left as it is (with the risk that the solver will abort). MESH_SMOOTH ... TETRAAR = <value> CORRECT_ELEMENTS = YES | NO CE_CORRECTION_LOOPS = <int value> CE_CORRECTION_FACTOR = <value> (0.5) CE_FAIL_ACTION = RESET | CONTINUE END_
Mesh smooth strategy (STRATEGY)The mesh smooth strategy is defined by the parameter Strategy. By default, Strategy = CONSTRAINED_LAPLACIAN, and the default mesh smoothing method is used. If, instead, Strategy = local_gradient is chosen, the optimization-based mesh smoothing algorithm is used. In each iteration, it identifies the elements with the worst element quality and improves them by displacing the nodes. For relatively small models (less than 1000 nodes in the mesh smooth area), the method usually results in meshes with elements having the optimal shape; the measure of the optimality is roughly the ratio of the element volume (area for shell elements) to the corresponding power of its diameter. For larger models, the iterations tend to stop before the optimal mesh quality is reached since otherwise the calculation time becomes too large. In this case, the changes might only affect the elements with the worst element quality. The nodes on the surface are displaced as well, though their displacements are chosen to be parallel to the surface. It guarantees that the overall geometry remains mostly unchanged by the algorithm. Note: level_conv and level_dvcon parameters are not used if Strategy = local_gradient is specified. |