Creating Imperfect Geometries

This multi-part tutorial shows how to create imperfect geometries:

Preparing Statistical Shape Models

For the generation of imperfect geometries, you typically make use of random field models being a statistical model for spatial data.


Note:  A field MOP can be used if you can predict the geometric changes from other uncertain parameters. Typically, you use random fields. The workflow with a field MOP is nearly identical.


oSP3D provides the following models:

Synthetic random fields

They produce sine-wave-like variation patterns. The goal is to represent as much statistical variation with the smallest number of parameters. This kind of model is used if there is not enough information available for estimating the spatial correlation, which is less than 10 measurements for 3 parameters or less than 100 measurements for 10 parameters. Instead, the correlation structure is defined by engineering assumption using an autocorrelation model.

  • If no measurements are available, you typically define a mean of zero and a standard deviation that is associated with the 95% confidence interval of the desired variation windows.

  • If a single measurement is available, you can use a zero mean and use the measurement as an indicator of the standard deviation. Or you can use the measurement as the mean and apply a homogeneous standard deviation.

  • If some measurements are available, you can estimate the mean and standard deviation from the measurement and combine both with an autocorrelation model.

    Synthetic fields are typically applied to a single scalar field. For the geometric deviation, this is the coordinate deviation normal to the boundary CoorDeviationNormal.

Free-form variation models

They are similar to synthetic random field models but instead of minimizing the number of parameters (and obtaining sine-like global variation patterns), they focus on localizable variation shapes where each parameter is associated with a limited region on the boundary. This is realized through support points and RBF functions being centered around the supports. Use free-form variation models if you are interested in analyzing the relation of the response fields (such as stresses) with respect to the location of the applied geometric imperfections.

Free-form variation fields are typically applied to a single scalar field. For the geometric deviation, this is the coordinate deviation normal to the boundary CoorDeviationNormal.

Empirical random fields

They analyze mean, standard deviation, and correlation structure from measurements and translate them into a parametrization with a minimum number of coefficients. The coefficients are also computed as scalar numbers for each measurement. When exporting the coefficient values to optiSLang postprocessing, you can determine the actual random distribution type, including statistical moments and correlations among parameters. In most cases, however, it is suitable to assume the central limit theorem and assume uncorrelated standard-normal distributed coefficients.

Empirical random field models are typically applied to a cross-correlated random field to improve the representation of the deviation vectors, including statistical rotations. You create the cross-correlated field by collecting CorrDeviation[1], CoorDeviation[2], and CoorDeviation[3].

Empirical random fields are the most accurate representation of statistical shape models.

After creating the random field model, always visualize the scatter shapes to check model plausibility and compare statistical metrics such as standard deviation with the original data.

When finished, you can configure oSP3D as a solver.

Configuring oSP3D as a Solver

When creating imperfections, you must configure oSP3D as a solver. Before you start, consider the output format and how oSP3D needs to interact with the CAE solver. The goal is to modify an existing process chain as little as possible. The process also must be one that can be automated, meaning loading conditions shall not be changed due to the applied morphing. To achieve this, you must create one solver chain template and plug oSP3D into the solver chain immediately before the solution process (after applying all loading and boundary conditions). Furthermore, the mesh must be the same as the one oSP3D uses as the reference mesh.

  • For Ansys Mechanical, a new file is created that contains the APDL commands to be included into the file ds.dat.

  • For LS-DYNA, the Dynain file is modified directly.

  • For Abaqus, the INP file that contains the mesh is modified by oSP3D. The INP file does not support part assemblies.

  • For Nastran, the BDF file that contains the mesh is modified by oSP3D.

In oSP3D, you perform these steps:

  1. Select File > Export for simulation > Generate field objects in optiSLang.

  2. Set the path to the reference design.

    You are setting the template path, which serves as the design directory in optiSLang.

  3. Depending on the solver, select either Modify file or Create new file and then select the file name and the correct file format (such as Ansys Mechanical input files).

  4. Depending on the type of model, select how oSP3D is to generate the geometric deviation:

    • If a single scalar field is used, for Export item, select Normal coordinate deviation. In the column Quantity ident, select the quantity CoorDeviationNormal. In the column Design ident, select Generate random field or Approximate Field MOP. oSP3D will then translate the nodal normal deviation into the x, y, z components according to the nodal normal vector.

    • If a cross-correlated field is used, for Export item, select X/Y/Z coordinate deviation. In the column Quantity ident, select the quantities CorrDeviation[1], CoorDeviation[2], and CoorDeviation[3] respectively. In the column Design ident, select Generate random field or Approximate Field MOP. oSP3D will then directly apply the generated data for each x, y, and z component individually to the FEM node coordinates.

  5. For testing purposes, click Next to continue.


    Note:  For the final workflow, you should always activate mesh smoothening. While this requires large CPU resources to generate the actual morphed meshes, mesh smoothening ensures that no negative element volumes are created.


  6. Define where all oSP3D solver data is to be exported.

    By default, you can create a single simulation archive file. Alternatively, you can export all data to a directory. Herein you see all binary and oSP3D script files that are used in solver mode. You can edit and extend the script files in this mode.

  7. Close oSP3D.

  8. For Ansys Mechanical:

    1. Open the project.

    2. To use the oSP3D extension for Ansys Mechanical to import the simulation archive directly, from the extension's toolbar, select Import > Import external model. For more information, see Importing External Models in the optiSLang 3D Post-Processing User's Guide.

      This creates a Generate variations tree item where you can see the random field parameters.

    3. Either chose fixed numbers or export the random field coefficients as parameters to the Ansys Workbench parameter table.

      In optiSLang, they appear as parameters in the Ansys Workbench node

    4. For the robustness study, select standard-normal as the distribution type with mean set to 0 and standard deviation set to 1.

    5. Before starting with the robustness analysis, run and validate the solver chain for a single design.

  9. For other solvers:

    1. Create the solver chain in optiSLang for the standard process, splitting it into at least two nodes if possible.

      The first node should copy and prepare all input files. The second node should start the solving process.

    2. Insert the Generate_oSL3D node just before the solution node.

    3. In the Generate_oSL3D node, chose the simulation archive file or the CSV file from the simulation directory as inputs.

      The node will then automatically provide the random field coefficients and set the mean and standard deviation.

    4. Register them as input parameters in the node.

    5. Before starting the robustness analysis, run and validate the solver chain for a single design.


Note:  When you want to solve the measurements one-to-one, you do not need a random field model. In this case, you export the imported measurements directly into the appropriate format:

  1. Prepare the output files in the Design directories (even if you want to create new files).

    For example, prepare Design0001/mesh.k, Design0002/mesh.k, and so on.

  2. Select File > Process multiple designs and then either Modify field designs or Export field designs.

The procedure is very similar to the preparation of oSP3D as a solver. However, on the second wizard page, you do not export simulation archives but define the design numbers and design directories to which the modified geometry data is to be exported. When importing the APDL snippets into Ansys Mechanical, you use the APDL command input to read the file created by oSP3D.