OpenRadioss is made of:
Prerequisites
Running OpenRadioss
Download and build OpenRadioss, or download the binaries
Set the following environment variables:
export OPENRADIOSS_PATH=[Path to OpenRadioss root directory]
export RAD_CFG_PATH=$OPENRADIOSS_PATH/hm_cfg_files
export RAD_H3D_PATH=$OPENRADIOSS_PATH/extlib/h3d/lib/linux64
export OMP_STACKSIZE=400m
export LD_LIBRARY_PATH=$OPENRADIOSS_PATH/extlib/hm_reader/linux64/:$LD_LIBRARY_PATH
Set the following environment variables:
set OPENRADIOSS_PATH=[Path to OpenRadioss root directory / Windows Style]
set RAD_CFG_PATH=%OPENRADIOSS_PATH%\hm_cfg_files
set RAD_H3D_PATH=%OPENRADIOSS_PATH%\extlib\h3d\lib\win64
set KMP_STACKSIZE=400m
set PATH=%OPENRADIOSS_PATH%\extlib\hm_reader\win64;%PATH%
set PATH=%OPENRADIOSS_PATH%\extlib\intelOneAPI_runtime\win64;%PATH%
If OpenRadioss was built from the Source code, use the Intel Runtime from the used compiler. The Intel oneAPI compiler installed and used for building the binaries could be more recent than the one used for building the Releases. In this case the Runtimes may not be compatible.
In a typical installation, OneAPI variables are loaded with following command :
call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 vs2019
call "C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 vs2019 chdir C:\cygwin64\bin bash --login -i
Cygwin is translating PATH variable into DOS path to execute OpenRadioss, but not other variables. Considering that the OpenRadioss directory is placed in C:\OpenRadioss, then variables should be:
export OPENRADIOSS_PATH=/cygdrive/c/OpenRadioss
export PATH=$OPENRADIOSS_PATH/extlib/hm_reader/win64:$OPENRADIOSS_PATH/extlib/h3d/lib/win64:$PATH
export PATH=$OPENRADIOSS_PATH/extlib/intelOneAPI_runtime/win64:$PATH
export RAD_CFG_PATH=c:/OpenRadioss/hm_cfg_files
export RAD_H3D_PATH=c:/OpenRadioss/extlib/h3d/lib/win64
export KMP_STACKSIZE=400m
Note that variables RAD_CFG_PATH and RAD_H3D_PATH start with c: unlike the PATH that starts with /cygdrive/c.
Define number of OpenMP threads
export OMP_NUM_THREADS=[N]
set OMP_NUM_THREADS=[N]
Run OpenRadioss Starter and Engine from the directory that contains the binaries
./starter_linux64_gf -i [Starter input file] -np 1 ./engine_linux64_gf -i [Engine input file]
starter_win64.exe -i [Starter input file] -np 1 engine_win64.exe -i [Engine input file]
export LD_LIBRARY_PATH=/opt/openmpi/lib:$LD_LIBRARY_PATH export PATH=/opt/openmpi/bin:$PATH
export OMP_STACKSIZE=400m export OMP_NUM_THREADS=[N] ./starter_linux64_gf -i [Starter input file] -np [P] mpiexec -n [P] --map-by socket:PE=$OMP_NUM_THREADS --bind-to core ./engine_linux64_gf_ompi -i [Engine input file]
call [Path to Intel OneAPI]\env\vars.bat
set OMP_NUM_THREADS=[N] starter_win64.exe -i [Starter input file] -np [P] mpirun -delegate -np [P] engine_win64.exe -i [Engine input file]
export OMP_NUM_THREADS=[N]
openradioss.sif starter_linux64_gf -i [Starter input file] -np 1 openradioss.sif engine_linux64_gf -i [Engine input file]
export LD_LIBRARY_PATH=/opt/openmpi/lib:$LD_LIBRARY_PATH export PATH=/opt/openmpi/bin:$PATH
export OMP_NUM_THREADS=[N] export OMP_STACKSIZE=400m openradioss.sif starter_linux64_gf -i [Starter input file] -np [P] mpiexec --map-by socket:PE=$OMP_NUM_THREADS --bind-to core -n [P] openradioss.sif engine_linux64_gf_ompi -i [Engine input file]
cd $OPENRADIOSS_PATH/qa-tests/scripts
perl ./or_qa_script ../../exec/engine_linux64_gf 1.0
export LD_LIBRARY_PATH=/opt/openmpi/lib:$LD_LIBRARY_PATH export PATH=/opt/openmpi/bin:$PATH
export OMP_NUM_THREADS=[N] perl ./or_qa_script ../../exec/engine_linux64_gf_ompi --exec_script_args="mpiexec -np [P]" 1.0
The QA test case can be executed under Cygwin. Set the variables like running under Cygwin.
cd $OPENRADIOSS_PATH/qa-tests/scripts
perl ./or_qa_script ../../exec/engine_win64.exe 1.0
export OMP_NUM_THREADS=[N] perl ./or_qa_script ../../exec/engine_win64_impi.exe --exec_script_args="mpiexec -delegate -np [P]" 1.0