Processing results of topology optimization

Tosca Structure.smooth allows processing the design suggestion obtained by topology optimization in SIMULIA Tosca Structure. As the input, it takes the ONF model file and the ONF optimization result file, and produces the isosurface saved in one or more formats, suitable as input in CAD systems (STL, IGES and other) or as means for visualization (VTFX, VRML).

The following figures illustrate the process:



Original model (MODEL_fem.onf)

SIMULIA Tosca Structure calculates the optimal material distribution, represented by the block-like structure. It contains solid or shell finite elements, and therefore might be unsuitable for CAD systems; furthermore, it may contain many elements in the inside that are not important since the shape is defined by the surface of the solid model only. The surface itself is rough, especially in case of a tetrahedral mesh, and therefore the smoothing is needed.



Topology optimization result generated by Tosca Structure.report (TP_015.onf)

The model file and the optimization result file containing the optimized material density are loaded by Tosca Structure.smooth. Using these data, the isosurface separating the elements with zero and nonzero density is found.



Isosurface generated by Tosca Structure.smooth (no smoothing, no reduction)

The surface smoothing is done by displacing the nodes of the surface.



Isosurface after smoothing (no reduction)



Isosurface after smoothing and data reduction

Finally, the data reduction may be performed; it is turned off by default.

Note:

For a shell element model, the same actions are performed, with the difference that the smoothing is applied to the border nodes only. In both cases, the smoothing can be turned off, though it is not recommended.

In order to calculate a single isosurface, the setting

    TASK = iso

should be used along with

    MODEL = <model file name>.onf
    RESULT = <optimization result file name>.onf.

Important:

MODEL parameter is inserted automatically in Tosca ANSA® environment.

RESULT is set to the ONF result file from the last iteration, unless another ONF file is chosen in Result File field. All output files are created in the same directory, and their names are constructed as some common part plus the corresponding suffix (if needed) and extension. The parameter OUTPUT_FILE defines both the directory and this common part.

Example

Using

    OUTPUT_FILE = c:\MyDirectory\MyOutput

with the output in VTFX and IGES format for slices using cubic splines results in the files

    c:\MyDirectory\MyOutput.vtfx
    c:\MyDirectory\MyOutput_slices.igs.

In Tosca ANSA® environment, OUTPUT_FILE is set automatically to <jobname>/TOSCA_POST/<SMOOTH item name>, where <SMOOTH item name> is the name of the item in Task Manager (SMOOTH_INSTANCE by default). If this parameter is omitted in the parameter file, it is set to <directory of ONF model>/<ID_NAME>.

There is also the possibility to visualize the optimization process by generating the isosurfaces for all optimization iterations and saving them in an animation sequence in a VTFX file. This feature is not supported in Tosca ANSA® environment. This is done if the parameter file contains following lines:

   TASK = all_iterations
   MODEL = <model file name>.onf or <model file name base>
   RESULT = <optimization result file name base> 

In this case, "Task" field in Tosca Structure.gui (Tosca Structure.smooth screen) should be set to "Create Isosurface from all steps of the ONF files". If the same model file is used for all iterations, the file name (e.g. MODEL_fem.onf) should be specified as the value of MODEL parameter. Otherwise, the input model files are <model>_<NNN>.onf, where <model> is the value of MODEL parameter and <NNN> is the number of the iteration written in 3 digits, starting with 000.

Similarly, the optimization result file names are <result>_<NNN>.onf with <result> being the value of RESULT parameter. Typically, <model> is MODEL_fem.onf for non-adaptive calculations or MODEL for adaptive calculations; <result> usually is set to TP. The iteration numbers <NNN> run from 0 to the first number such that the result file for the following iteration does not exist. The resulting VTFX file gets the suffix _all; all other output files are generated for each iteration, each time with the suffix _<NNN>, where <NNN> is the current iteration number.

Note:

Note that these model and result file names should be entered manually in the Tosca Structure.smooth screen of Tosca Structure.gui. In Tosca Structure.pre screen of Tosca Structure.gui, it suffices to set Task field to all_iterations.

The isovalues for the isosurfaces generated at each iteration are either constant or linearly increasing. In the first case, the parameter ISO_SEQUENCE should be set to const (this is its default value); the isovalue then is specified by ISO_VALUE parameter. In the second case, ISO_SEQUENCE = incr should hold, and the isovalue for iteration i is iso_value * (i+1)/ (n+1), where iso_value is the value of ISO_VALUE parameter and n is the number of the last iteration.