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:

VersionPrecisionCommand
MPI Single Precisionls-dyna-mpi
MPI Double Precisionls-dyna-mpi_d
OpenMP OR Serial Single Precisionls-dyna
OpenMP OR Serial Double Precisionls-dyna_d

Command Line Options

Commonly used command line options are listed below. See the ls-dyna man page and documentation for more information.

OptionDescription
i=inputfileSpecifies the name of the input file.
o=outputfileSpecifies the name of the output file.
ncpu=XSpecifies 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.