Quick Install and Verify 

Follow these directions to quickly install and to run a verification test. Please see the file  README_Linux_Users in the distribution for more detailed discussion to install/verify the hybrid MPI + threads version.

Step-by_Step

1. Extract the downloaded tarball (for example, use: tar xvzf warp3d.....tar.gz).

2. This will create a directory with name of the form warp3d_distribution _x.y.z

3. Move this directory which contains the complete WARP3D package to the desired location on your filesystem. The discussion below assumes this directory is ~/warp3d  (i.e., your home directory). Change the access permissions as desired. The precompiled executables are located in the warp3d directory under sub-directory run_linux_em64t.

4. Before use, set two environment variables.

   a. Set the variable WARP3D_HOME to point to the WARP3D installation directory. In a bash shell, run the command

% export WARP3D_HOME=/yyyy/xxxx/warp3d

                          (make yyyy and xxxx as needed to locate your home directory)

  • Recommendation: Put this command in your ~/.bashrc to avoid having to redo this step every time you open a new terminal window.

   b. Modify the variable LD_LIBRARY_PATH to enable the linker to find the various external shared libraries.

% export LD_LIBRARY_PATH=$WARP3D_HOME/linux_packages/lib:LD_LIBRARY_PATH
  • Recommendation: Put this command in the  "wrapper script" used to run WARP3D.  Example wrapper script is provided in warp3d_script_linux_openmp 

5. The pre-compiled version of WARP3D for threads only execution is now installed and ready to run..

6.  Run several of the example problems to verify correct installation. Execute these commands in a Bash shell:

% warp3d_exe=$WARP3D_HOME/run_linux_em64t/warp3d.omp
% cd $WARP3D_HOME/example_problems_for_READMEs
% export OMP_NUM_THREADS=4
% export MKL_NUM_THREADS=4
% export LD_LIBRARY_PATH=$WARP3D_HOME/linux_packages/lib:$LD_LIBRARY_PATH
% $warp3d_exe < test_18a
% $warp3d_exe < test_18b
  • The first line sets a short reference to the WARP3D executable. The 2nd line switches to the small directory with problems to verify proper installation.
  • OMP_NUM_THREADS sets the number of threads for the parallel loops in WARP3D proper.
  • MKL_NUM_THREADS sets the number of threads for the Intel Pardiso sparse shared memory solver.
  • This example assumes the hardware supports at least 4 threads (usually a system with at least 4 cores since 2 threads per core is not optimal for compute heavy jobs).
  • LD_LIBRARY_PATH as discussed above.
  • Example test_18 computes extensive amounts of ductile crack growth in a model of an SE(B) specimen with the Gurson material model. The mesh has 1 layer of elements in the thickness direction with plane-strain constraints.
  • Part a computes half the load steps and writes a restart file. Part b resumes the solution using the restart file and completes a total of 60 load steps. Parts a and b each use less than 10 secs of wall time.
  • The above example employs input redirection via the shell "<" operator.
  • Similarly, output may be redirected to a file using the ">" operator, e.g. $warp3d_exe < test_18a > output_test_18a.
  • All of the above commands  are more conveniently placed into a shell script for execution at the command line. The file warp3d_script_linux_openmp in the WARP3D directory provides a starting point for any further customizations.