LS-DYNA
Last modified: Tuesday May 03, 2011 10:25 AM
Environment Setup
We provide modules to setup the basic environment for using LS-DYNA on our systems. This includes adding LS-DYNA commands to your PATH variable and setting the necessary environment variables for the LS-DYNA license. The default module for LS-DYNA is named ls-dyna.
On Eos, the MPI version also requires loading of an OpenMPI module.
For more information about modules, see the modules page or the module man page.
Documentation
Online tutorials, how-tos, FAQs, manuals, etc. can be found at the LS-DYNA Support Site.
Commands
The following commands are available for the different implementations of LS-DYNA:
| Version | Precision | Command |
|---|---|---|
| MPI | Single Precision | ls-dyna-mpi |
| MPI | Double Precision | ls-dyna-mpi_d |
| OpenMP OR Serial | Single Precision | ls-dyna |
| OpenMP OR Serial | Double Precision | ls-dyna_d |
Command Line Options
Commonly used command line options are listed below. See the ls-dyna man page and documentation for more information.
| Option | Description |
|---|---|
| i=inputfile | Specifies the name of the input file. |
| o=outputfile | Specifies the name of the output file. |
| ncpu=X | Specifies X cpus for shared memory LS-DYNA. Note, this option should be used only with the OpenMP version of LS-DYNA. |
| memory=XXX memory=XXXm | Specifies NNN words of memory. The argument for this option may also be specified in megawords as XXXm. A word is 4 bytes while a megaword is 4 MB for LS-DYNA single precision. For double-precision LS-DYNA, a word is 8 bytes while a megaword is 8 MB. |
Batch Examples
Serial Batch Examples
These example scripts run the single-precision version of LS-DYNA with 1 cpu and 100 megawords (400 MB):
Eos:
#PBS -N ls-dyna #PBS -j oe #PBS -S /bin/bash #PBS -l walltime=4:00:00 #PBS -l nodes=1:ppn=1 #PBS -l mem=400mb cd $PBS_O_WORKDIR module load intel/compilers module load ls-dyna ls-dyna i=input.k o=outputfile memory=100m
Hydra:
#@ shell = /bin/ksh #@ job_name = ls-dyna #@ output = $(job_name).o$(schedd_host).$(jobid).$(stepid) #@ error = $(job_name).e$(schedd_host).$(jobid).$(stepid) #@ job_type = serial #@ wall_clock_limit = 4:00:00 #@ resources = ConsumableCpus(1) ConsumableMemory(400mb) #@ notification = error #@ queue module load ls-dyna ls-dyna i=input.k o=outputfile memory=100m
MPI Batch Examples
These examples run the single-precision version of MPP LS-DYNA with 4 MPI tasks and 100 megawords (400 MB) per MPI task.
Eos:
NOTE: LS-DYNA requires an OpenMPI module for the MPP version. The mpirun command will determine the number of cpus to be used from the batch system. Also, the memory requested in your job script will need to include extra memory (1 GB should suffice) for internal buffering for OpenMPI.
#PBS -N ls-dyna #PBS -j oe #PBS -S /bin/bash #PBS -l walltime=4:00:00 #PBS -l nodes=2:ppn=8 #PBS -l mem=8000mb cd $PBS_O_WORKDIR module load intel/compilers module load openmpi module load ls-dyna mpirun ls-dyna-mpi i=input.k o=outputfile memory=100m
Hydra:
NOTE: The requested memory is specified per MPI task.
#@ shell = /bin/ksh #@ job_name = mpi_ls-dyna #@ output = $(job_name).o$(schedd_host).$(jobid).$(stepid) #@ error = $(job_name).e$(schedd_host).$(jobid).$(stepid) #@ job_type = parallel #@ wall_clock_limit = 4:00:00 #@ resources = ConsumableCpus(1) ConsumableMemory(400mb) #@ network.MPI = sn_single, shared, US #@ node = 1 #@ tasks_per_node = 16 #@ notification = error #@ queue module load ls-dyna poe ls-dyna-mpi -procs 16 i=input.k o=outputfile memory=100m
OpenMP Batch Examples
These example scripts run the single-precision version of LS-DYNA with 4 threads and 100 megawords (400 MB) total across all threads. The OMP_NUM_THREADS environment variable and the ncpu option are both used to specify the number of OpenMP threads to LS-DYNA.
Eos:
#PBS -N ls-dyna #PBS -j oe #PBS -S /bin/bash #PBS -l walltime=4:00:00 #PBS -l nodes=1:ppn=4 #PBS -l mem=400mb cd $PBS_O_WORKDIR module load intel/compilers module load ls-dyna export OMP_NUM_THREADS=4 ls-dyna i=input.k o=outputfile ncpu=4 memory=100m
Hydra:
Note, the AIXTHREAD_SCOPE environment variable MUST be set as shown below for LS-DYNA on hydra:
#@ shell = /bin/ksh #@ job_name = smp_ls-dyna #@ output = $(job_name).o$(schedd_host).$(jobid).$(stepid) #@ error = $(job_name).e$(schedd_host).$(jobid).$(stepid) #@ job_type = parallel #@ wall_clock_limit = 4:00:00 #@ resources = ConsumableCpus(4) ConsumableMemory(400mb) #@ notification = error #@ queue module load ls-dyna export OMP_NUM_THREADS=4 export AIXTHREAD_SCOPE=S ls-dyna i=input.k o=outputfile ncpu=4 memory=100m
Other Information
If you are encountering Not-A-Number (NaNs) messages in your LS-DYNA output, you can set ISNAN to 1 in the *CONTROL_SOLUTION section of your input to enable additional information when a NaN is detected. For more information, please consult this LS-DYNA support page concerning NaNs.