Setup ESLDYNA Optimization using Design Studio and ESLDYNA Plugin
Product = ESLDYNA
ESLDYNA is an implementation of the ESL methodology to perform optimization based on an LS-DYNA analysis. The optimization process is based on the Equivalent Static Load (ESL) method and uses an iterative process that utilizes the non-linear structural analysis results from LS-DYNA and the linear structural analysis and optimization capabilities of GENESIS. With this integration, the combined multidiscipline problem can be solved with only a few LS-DYNA simulations (5 to 10). In addition, large-scale optimization techniques, such as topology, topometry, topography, and freeform, can easily be employed.
To set up an ESLDYNA optimization, the user can use the ESLDYNA plugin in Design Studio (shown in the image) or use an ESL data file. In this article, we will explain the basic steps in setting up an ESLDYNA optimization using Design Studio and the ESLDYNA plugin.
Here is the main information that needs to be prepared or defined for an ESLDYNA optimization
- Prepare Script for running LS-DYNA and test the script
- Prepare GENESIS model
- Specify Path to GENESIS executables, script for running LS-DYNA, and etc
- Specify ESL reader and LS-DYNA result files
- Define ESL loadcases
- Define Design Data
Next, we will explain each of the steps in more detail.
- Prepare Script for running LS-DYNA and test the script
ESLDYNA program requires the user to prepare a script/batch file that will call LS-DYNA executable. The user can also specify the license checking in the script if needed. Other arguments for LS-DYNA executable can be put in this script as well, for example, the number of CPUs or memory to use. A sample batch file, rundyna_s.bat (for windows), is shown as below:
@echo off
SET ANSYSLMD_license_file=1055@_______.vrand.com
"C:\LSDYNA\ls-dyna_smp_s_R711_winx64_ifort131\ls-dyna_smp_s_R711_winx64_ifort131.exe" I=%1
At runtime, this batch file expects the LS-DYNA key file as an input argument. I=%1 will be replaced with the first argument on the command line, which should be the LS-DYNA key file name.
To test the batch file, you can open a command prompt on windows, and change the directory to where the LS-DYNA key file resides, then type in the command as below (note: use your own key file name):
rundyna_s.bat DYDSG017.key
Please make sure the LS-DYNA simulation runs to finish and you get a ‘Normal Termination’.
For Linux, the sample script file for running dyna is as below:
#!/bin/sh
export ANSYSLMD_LICENSE_FILE=1055@_____
/qtmp/lsdyna/bin/ls-dyna_smp_s_R11_0_0_x64_redhat56_ifort160 I="$1" ncpus=2 memory=750m
2. Prepare GENESIS model
If you do not have an equivalent GENESIS mesh for the corresponding LS-DYNA model, you can use the ‘Import DYNA keyword file’ button from the plugin to import the key file. This will generate an equivalent GENESIS mesh for the corresponding LS-DYNA model.
If you already have an equivalent GENESIS mesh for the corresponding LS-DYNA model, you can skip this step and import the GENESIS input file directly.
3. Specify Path to GENESIS executables, script for running LS-DYNA, and etc
The GENESIS executable should be the one in the bin directory of GENESIS software installation. For example:
C:\Program Files\vrand\genesis2022\bin\ genesis2022.exe
LS-DYNA executable is the script/batch file you created in step 1 for running LS-DYNA
By default, the ESL working directory will be the directory where the GENESIS input file is saved. You can leave it blank unless you want to specify a different directory as the working directory.
For the GENESIS data file, you can leave it blank if you choose to Run ESL Optimization from the plugin. By default, the current active GENESIS model will be exported as the GENESIS data file when clicking on ‘Run ESL Optimization’.
Mesh Mapping is optional. Mesh mapping is a capability to transfer information when the LS-DYNA mesh is different from the GENESIS mesh. This is a very common scenario in real applications, where the mesh of the crash model is typically different from the linear model. The mapping is done part-by-part/property-by-property based on the geometry of the part. If Mesh Mapping mode is selected as Yes, then the meshmap.exe needs to be specified, which is in the bin directory of GENESIS software installation. For example:
C:\Program Files\vrand\genesis2022\bin\meshmap.exe
4. Specify ESL reader and LS-DYNA result files
ESL reader is used for reading the LS-DYNA displacement from LS-DYNA nodout or d3plot file. Based on the result type and if mesh mapping is used, you will need to select the corresponding reader as follows:
ESL reader file name | LS-DYNA result file type | Mesh mapping |
esldisp_dyna_d3plot_DP_64.dll | Double precision dyna d3plot | No |
esldisp_dyna_d3plot_SP_64.dll | Single precision dyna d3plot | No |
esldisp_dyna_nodout_64.dll | dyna nodout | No |
esldisp_meshmap_dyna_d3plot_DP_64.dll | Double precision dyna d3plot | Yes |
esldisp_meshmap_dyna_d3plot_SP_64.dll | Single precision dyna d3plot | Yes |
esldisp_meshmap_dyna_nodout_64.dll | dyna nodout | Yes |
For LS-DYNA result files, you can type in d3plot or nodout in the Result Files field.
If Mesh Mapping is used, you need to specify the Mesh Mapping property file. The mesh mapping property file defines which parts/properties need to map between the two meshes. Mapping Output is to specify the output file name of the Mesh Mapping, which will contain the coefficient of mapping.
After defining all the data fields in this section, you can click on the ‘Update ESL Readers’ button. Then it will synchronize this information to the GENESIS main menu options ESL readers. So, you do not need to define it again.
5. Define ESL loadcases
When defining the loadcase, you will need to choose Equivalent Static Load as the loadcase type. For SPC, you will need to specify it if there is any. If there is no SPC in the original LS-DYNA model, it is recommended to use a soft spring to remove the rigid body mode of the model.
For ESLOAD reader, we will choose the ESL reader defined in the previous step. For ESLOAD Data, you need to specify the time value in LS-DYNA simulation that you are interested in.
If there are multiple time steps that you would like to consider, then you will need to create multiple ESL loadcases. ESL loadcases can also be combined with other types of loadcases for optimization, for example, static, normal modes, and etc.
6. Define Design Data
After defining the loadcases, you need to define the design region based on the optimization type, and design objective, and constraints.
Once all the information is defined, you can start the ESL optimization by clicking on the ‘Run ESL Optimization’ button from the plugin. One important tip is that: make sure the LS-DYNA d3plot or nodout output files exist in the directory that you specified for the result files. These result files should have been created from step 1.
There are more details about the ESL parameters, please refer to the manual or leave a comment below.