Skip to content

dastonmoy/LS-Dyna

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Installing LS-Dyna in Unix Environment with UNR Network License

Introduction

Installation of LS-Dyna solver in Unix envrionemnt is not that much straightforward for people coming from Windows systems. Though the steps are delineated in the installation readme file by LSTC, yet it is not like windows where you just have to click a bunch of "Next"s and then the software appears on your desktop. This was the inspiration for writing a shell script and making it public so that novices in Bash or terminal (like me) can understand the procedure.

Prerequisite

The original LS-Dyna solver is a old-school Unix CLI application written in Fortran. So, we have to know the Fortran compiler our computer is using so that it can solve any analysis problems fast. Also, we would have to understand the varities of options LS-Dyna offers to the end users.

This might seems overwhelming at first (for me at least, it was, at the first glance). So, I am going to explain all of the options first -

Solver Type:

  • SMP ≡ Shared Memory Parallel Processing version (also called Symmetric Multi-Processing) - this uses the OpenMPI or similar implementations to split the analysis task on multiple threads in parallel. It has small scalability of $\leq$ 8 CPUs.
  • MPP ≡ Message Passaging Parallel Processing version (also known as Massively Parallel Processing) - allows the software to perform a domain decomposition and run the analysis in a cluster computer platform with multiple nodes (/cores/computers) and maintains communication between them. Excellent for solving large scale problems requiring $\geq$ 16 cores. But, you might have to manipulate the keyword file generated for SMPs.

Generally it can be checked quickly writing the following line in terminal:

uname -a

However, if you are writting this line inside the terminal, then for sure you would be using the SMP version of Dyna, otherwise there would have been a system administrator or a IT administrator to maintain all this things for you.

(Floating Point) Precision:

The solution precision point indicates the number of decimal points you want when doing the floating point arithmetic with the software. There are two options available in LS-Dyna:

Version of LS-Dyna solver:

Starts with R (Release) followed by the version numbers (i.e. R_13_1_1). The latest one is "13.1.1". For our cluster, we are going to adopt the "11.2.1", otherwise it might pose inconsistency problems.

Processor Type:

x64 (as of now, most processors are capable of 64 bit computations).

OS type:

All the Unix executables of LS-Dyna is developed for CentOS or REHL. Though, we are going to use it in Ubuntu, it is also a form of Unix OS and will work.

Compiler:

This is the compiler used in the LS-Dyna to compile the keyword file. For R11_2_1, it can be

Both are freewares (at least, the community editions are). For now, we'll be using the ifort edition, as the computer LS-Dyna is going to be installed has this already available.

Optionals:

Depending on the release version we are downloading, there is also some optional parameters available, such as:

  • Instruction set - The amount of vectorization operations to be done. For LS-Dyna we can have:

    • SSE2 (too old)
    • AVX2 (available in all)
    • AVX512 (available mostly in workstation based processors).

    It's possible to check this by writing a line in terminal and taking a look at the flag to detect SSE2/AVX2/AVX512

    cat /proc/cpuinfo|more
  • Dynamic Library Type - If your software has the MPP version installed, then it might have sharelib. Through sharelib it is possible to write a user subroutine and incorporate it with MPP-Dyna.

  • MPI Library - If MPPs option e.g., Platform MPI, Intel MPI or Open MPI is enabled.

Considering all of them, in this tutorial, we are going to install Dyna's R_11_2_1 SMP version with double precision intel fortran compiler (released as: ls-dyna_smp_d_R11_2_1_x64_centos610_ifort160).

Installation

Installation in the Office Computer

# Go to home directory of the user
cd ~
# Clone my repository from github
git clone https://github.com/dastonmoy/LS-Dyna.git
# Enter into the folder
cd ./LS-Dyna
# Run the installer, it would do everything for you
bash install_dyna.sh
# Remove the github repo
rm -rf ~/LS-Dyna

For any subsequent access to the software, you just have to make the script created on your desktop as "executable".

Installation in the Server

The LS-Dyna version 11.2.1 is already installed in the UNR College of Engrineering Network (COEN) under Seylabi node. The ways to access is already described in the previous doc.

Under Seylabi server, the software can be easily accessed through:

# Loading OpenMPI version 2.1.3
ml openmpi/2.1.3
# Loading LS-Dyna v11.2.1
ml ls-dyna/11.2.1/sse2-openmpi
# Setting up the environmental variables/Network license
export LSTC_LICENSE=network
export LSTC_LICENSE_SERVER=license-0.engr.unr.edu
# Start LS-Dyna
ls-dyna

It is sometimes advantageous to define the license parameters in the unix configuration so that we don't need to load it everytime when the terminal initializes. For that run the following commands in the terminal-

# Go to the .bashrc and define the license parameters
echo "export LSTC_LICENSE=network
export LSTC_LICENSE_SERVER=license-0.engr.unr.edu" >> ~/.bashrc

Now, only loading the neccessary libraries will be enough -

# Unloading any modulus previously loaded
ml purge
# Loading OpenMPI 4
ml openmpi/4.1.5a1
# Loading LS-Dyna 14.0.0
ml ls-dyna/14.0.0/mpp-d-sse2-openmpi

Running LS-Dyna

From Shortcut

A shortcut named LS-Dyna.sh is created on the Desktop of the system the software is installed. Running the software is now as simple as double clicking the shortcut and then specifying the inputs inside the software. The inputs should be following the template shown here (available in Page 376 of LS-Dyna Keyword Manual: Volume I, and also mentioned in this training manual):

> I=inf #O=otf G=ptf D3PART=d3part D=dpf F=thf T=tpf A=rrd M=sif S=iff H=iff Z=isf1 L=isf2 B=rlf W=root E=efl X=scl C=cpu K=kill V=vda Y=c3d BEM=bof {KEYWORD} {THERMAL} {COUPLE} {CASE} {PGPKEY} MEMORY=nwds MODULE=dll NCPU=ncpu PARA=para ENDTIME=time NCYCLE=ncycle JOBID=jobid D3PROP=d3prop GMINP=gminp GMOUT=gmout MCHECK=y MAP=map MAP1=map1 LAGMAP=lagmap LAGMAP1=lagmap1

Detailes of the keywords mentioned here are provided in the manuals. The memory allocation keyword (nwds) are explained a little bit more in here). When specifying the input file ("I"), you should be redirecting it to the folder where the input files are residing (for example: I=~/Dyna_works/Example/wood-post.k).

From the Terminal

To run the software from the terminal, you can either change the directory to "Desktop" and run from there, or you can also run from the original file located inside "Dyna" folder of the Home directory. I would personally recommend to use a separate directory (e.g., Dyna_inputs) for having all the input (or the *.k file) and output files, otherwise it would be really difficult to recognize the specific output for a file.

For terminal follow this:

bash ~/Desktop/LS-Dyna I=inf # O=otf G=ptf D3PART=d3part D=dpf F=thf T=tpf A=rrd M=sif S=iff H=iff Z=isf1 L=isf2 B=rlf W=root E=efl X=scl C=cpu K=kill V=vda Y=c3d BEM=bof {KEYWORD} {THERMAL} {COUPLE} {CASE} {PGPKEY} MEMORY=nwds MODULE=dll NCPU=ncpu PARA=para ENDTIME=time NCYCLE=ncycle JOBID=jobid D3PROP=d3prop GMINP=gminp GMOUT=gmout MCHECK=y MAP=map MAP1=map1 LAGMAP=lagmap LAGMAP1=lagmap1

Resources

There are a ton of resources for Dyna on the internet. My personal favorites are:

-among others.

About

How to install LS-Dyna (Solver) in Unix OSs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages