Using Abaqus/CAE to compute shape variations

A transitional capability for computing shape variations is provided by the internal Abaqus Scripting Interface command _computeShapeVariations().

Using the command requires some familiarity with the Abaqus Scripting Interface; specifically, the user must understand the Abaqus object model (see The Abaqus object model) and know how to access the rootAssembly and partInstance objects.

Defining a shape variation

  1. Create and mesh the model in Abaqus/CAE. Output the corresponding input file by selecting JobCreate and JobWrite Input from the main menu bar in the Job module.

    (In the discussion that follows it is assumed that the model is named Model-1, the part is named Part-1, and the part instance is named Part-1-1).

  2. Select ModelCopy Model from the main menu bar to copy Model-1 to Model-2, for example. Select Model-2 from the Model list located in the context bar. This model will be used in subsequent steps to compute the shape variation.

  3. In the Part module select the part for which a shape variation must be calculated from the Part list located under the context bar. Select FeatureEdit from the main menu bar to edit the associated sketch. Select AddDimension and EditDimension to change the design parameter. End the edit of the sketch, and indicate that the geometry should be regenerated automatically.

    Editing the sketch will cause the mesh of Model-2 to be deleted.

  4. Use the Abaqus/CAE command line or select FileRun Script to execute the commands listed below. The _computeShapeVariations() command is accessed from the rootAssembly of either model and requires as input the original part instance, the modified part instance, and the name of the file to which the data lines of the shape variation option will be written. The .inp extension will be appended automatically to the specified file name.

    The following sequence of commands is appropriate for the creation of a shape variable associated with a parameter h:

    ra1 = mdb.models['Model-1'].rootAssembly
    ra2 = mdb.models['Model-2'].rootAssembly
    i1 = ra1.instances['Part-1-1']
    i2 = ra2.instances['Part-1-1']
    ra1._computeShapeVariations(originalInstance=i1,
                                modifiedInstance=i2,
                                fileName='shape_h')
  5. To compute the shape variation, the mesh of Model-1 is mapped to the changed geometry of Model-2 and then smoothed. Examine the mapped mesh of Model-2 to verify that the mesh was mapped as expected. (In general, any changes to the geometry should be small—around 1%—so as to avoid difficulties with the mapping of the mesh).

    The shape variation is calculated simply by subtracting the initial node positions from the node positions calculated after mapping and smoothing the mesh to the changed geometry.

  6. To use the shape variation data, copy to the input file for your analysis the data written by the _computeShapeVariations() command to the shape_h.inp file.

  7. Verify the correctness of the data by running your analysis and using the Visualization module in Abaqus/CAE to view the shape variation.