6.5. Using Variable Layer Height

The variable layer height feature for additive manufacturing analyses allows you to vary the simulation's layer height to build with smaller layers in areas of interest, and larger layers in other areas of the part. You can capture fine details in a simulation without greatly increasing the overall simulation time by reducing the number of super-layer load steps that need to be solved. (See Methodology and Abstractions). You control this by setting the layer size (AMBUILD,LAYERT) and number of simulation layers to solve (AMSTEP,BUILD) iteratively until the part is complete.

Procedural Steps

This feature can be used by iteratively specifying the simulation layer size with the AMBUILD command, and the number of layers to build with the AMSTEP command. In Mechanical, these commands can be added to a Commands object under the analysis type. If variable layer height is used for a thermal-structural analysis, both the thermal analysis and the structural analysis must have the same sequence of layer sizes and layers built.

Create commands to use variable layer height:

  1. Click the Static Structural object and select Commands   from the context menu. Or, right-click and select Insert > Commands. In the Commands window that is displayed, type something like the following, modifying the specific numbers to fit your part:

    ! Build 10 layers at 1 mm
    AMBUILD,LAYERT,0.05,1
    AMSTEP,BUILD,,10
    
    ! Build 6 layers at 0.25 mm
    AMBUILD,LAYERT,0.05,0.25
    AMSTEP,BUILD,,6
    
    ! Build the remaining layers at 1mm
    AMBUILD,LAYERT,0.05,1

    Note:  By default, the Mechanical application will send the AMSTEP,BUILD command after reading the Commands objects. If variable layer height is used in an independent script, the AMSTEP,BUILD command will need to be added to the end of the example script above.


  2. Repeat the above step for the Transient Thermal system if you have a thermal-structural analysis. (This step is not applicable for an AM simulation using Inherent Strain.)

Example

Following is an example to illustrate the variable layer height feature. The simple part has three columns that come together to form a beam at a height of 8 mm. We want to capture greater details at the location where the columns join together because we suspect that is where the greatest distortion will be.

Using a Commands object inserted under the static structural system, we set up simulation layers with a height of 1 mm for the columns and a height of 0.25 mm after that for the beam. This simulation uses Inherent Strain so there is no transient thermal system.

Our results show comparable distortion at the location of interest and the variable layer height feature resulted in a 53.8% simulation time reduction for this model and variable layer height setup.

A. Full layer heightB. Variable layer height
Mesh layer size = 0.25 mmMesh layer size = 0.25 mm
Number of element layers = 40Number of element layers = 40
Number of simulation layers = 40Number of simulation layers = 15
Node count = 78,115Node count = 78,115
Element count = 52,376Element count = 52,376
Solution time = 6 min 30 sec (10 cores)Solution time = 3 min 30 sec (10 cores)

Notes on Usage and Known Limitations

When using variable layer height:

  • Using large layer thicknesses may lead to artificially high deformations. It’s always important to carefully review your results.

  • In some cases, it may be necessary to suppress an error check for elements spanning multiple layers. Suppression for this check can be controlled in the AMBUILD,LAYERT command. A value of 1 can be sent for the “Layer-checking suppression” field shown in the command input below. Be careful when using this option as it may lead to improper boundary conditions. This is a beta option at this release.

    AMBUILD,LAYERT,Deposition thickness,Super-layer thickness,Layer-checking suppression

  • The progress bar may not accurately track the progress of the simulation.

  • At this release, the estimate of the real machine build time in the output file will probably be incorrect.