Following parameters control the generation and the smoothing of the isosurface. They are used when the isosurfaces of the material distribution resulting from topology optimization are calculated: in this case, the parameter TASK is set to iso (single isosurface) or all_iterations (isosurfaces for all iterations). Additionally, the parameters SELF_INTERSECTION_CHECK and MIN_ANGLE are used during the data reduction that is described in details in the next section.
All parameters have default values that are useful in most cases. However, these parameters affect the appearance of the isosurface as described below. The isovalue specified using the parameter ISO_VALUE defines the position between the elements with zero and maximal material value where the isosurface is constructed. More precisely, the interpolated material values are first found for each node, and then the new nodes are constructed on the edges that have varying material values (i.e., material value for one end is less than and for the other one larger than the isovalue). The ratio in which the edge is subdivided by the new node is defined by the iso-value in respect to the material values of the ends of the edge, but is limited to a range from a to 1-a with a constant value a (currently 0.3) in order to prevent edges of very small lengths. As the result, increasing the isovalue leads to shifting the isosurface towards the inside of the model, thus the model volume decreases. Note: For the structures with thin components, it is not recommended to use large isovalues (larger than 0.7), since the structure might become disconnected. See the folslowing figures for example of how the isovalue influences the result.
After the isocut is done, the surface smoothness is generally not sufficient. Therefore, the iterative smoothing is performed by displacing the nodes created in the isocut. The smoothing is done in cycles; the number of cycles is determined by the parameter SMOOTH_CYCLES. The conditions for a node displacement to be accepted is that the angles of resulting triangles are larger than a certain value specified by the parameter MIN_ANGLE, and, if requested, that no surface self-intersections occur after the displacement. The second check is not done if SELF_INTERSECTION_CHECK parameter is set to off or check; the difference in these cases is that, in case this parameter is set to check, the self-intersection test is performed once for the entire model after the smoothing and data reduction are made, and the user receives the information about the number of intersecting faces as well as a VRML file containing these faces. In case that SELF_INTERSECTION_CHECK parameter is set to iterative, the smoothing is first performed without the self-intersection checks, and then is redone if the self-intersections appear after the smoothing.
In order to achieve smoother surfaces, higher value of SMOOTH_CYCLES parameter should be used. However, this leads to the increase of the computation time that might be noticeable especially in the case that the self-intersection test is turned on. In practice, 5 to 10 smoothing cycles are usually sufficient. Further smoothing might have a negative effect of contracting thin components; in certain cases, the smoothing has to be turned off by setting SMOOTH_CYCLES to 0. See the following figure for an example of smoothing with various numbers of smoothing cycles:
A higher number of smoothing cycles can cause some shrinkage effects on the surface that is being smoothed. Especially areas with a high curvature can be changed drastically. If you want to prevent these effects, the parameter SHRINKAGE_CORRECTION can be set to YES. Activating the correction will reduce the shmoothing efficiency slightly. A higher number of smoothing cylces may be necessary.
The parameter ORIGINAL_SURFACE_SMOOTHING defines if the original surface (that is the part of the surface of original elements, in contrast to the new surface produced by isocut) should be smoothed.
If it is set to off, the original surface remains unchanged. In most cases, this is desired since the surface nodes might have some additional information (e.g. forces or boundary conditions) associated with them. However, the resulting surface will be smoother if the original surface gets modified as well. To do this, set ORIGINAL_SURFACE_SMOOTHING to full. The third option ORIGINAL_SURFACE_SMOOTHING = shrink allows modifying the original surface, but in a way that the new surface does not occupy the region beyond the initial design. This is achieved by prohibiting the nodes to be moved towards the outside of the model.
|