Merge branch 'development' into vector-mechanics
This commit is contained in:
commit
cf958d32b4
|
@ -8,6 +8,7 @@
|
|||
*.jpg binary
|
||||
*.hdf5 binary
|
||||
*.pdf binary
|
||||
*.dream3d binary
|
||||
|
||||
# ignore files from MSC.Marc in language statistics
|
||||
installation/mods_MarcMentat/20*/* linguist-vendored
|
||||
|
|
181
.gitlab-ci.yml
181
.gitlab-ci.yml
|
@ -20,11 +20,12 @@ stages:
|
|||
|
||||
###################################################################################################
|
||||
before_script:
|
||||
- if [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue)x == 'x' ];
|
||||
then echo $CI_PIPELINE_ID >> $TESTROOT/GitLabCI.queue;
|
||||
- if [ $(awk "/$CI_PIPELINE_ID/{print NR}" $LOCAL_HOME/GitLabCI.queue)x == 'x' ];
|
||||
then echo $CI_PIPELINE_ID >> $LOCAL_HOME/GitLabCI.queue;
|
||||
fi
|
||||
- while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue) != 1 ];
|
||||
- while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $LOCAL_HOME/GitLabCI.queue) != 1 ];
|
||||
do sleep 5m;
|
||||
echo -e "Currently queued pipelines:\n$(cat $LOCAL_HOME/GitLabCI.queue)\n";
|
||||
done
|
||||
- source $DAMASKROOT/env/DAMASK.sh
|
||||
- cd $DAMASKROOT/PRIVATE/testing
|
||||
|
@ -44,13 +45,13 @@ variables:
|
|||
# ===============================================================================================
|
||||
# Shortcut names
|
||||
# ===============================================================================================
|
||||
DAMASKROOT: "$TESTROOT/GitLabCI_Pipeline_$CI_PIPELINE_ID/DAMASK"
|
||||
DAMASKROOT: "$LOCAL_HOME/GitLabCI_Pipeline_$CI_PIPELINE_ID/DAMASK"
|
||||
TESTROOT: "$LOCAL_HOME/GitLabCI_Pipeline_$CI_PIPELINE_ID/tests"
|
||||
|
||||
# ===============================================================================================
|
||||
# Names of module files to load
|
||||
# ===============================================================================================
|
||||
# ++++++++++++ Compiler +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
IntelCompiler16_4: "Compiler/Intel/16.4 Libraries/IMKL/2016"
|
||||
IntelCompiler17_8: "Compiler/Intel/17.8 Libraries/IMKL/2017"
|
||||
IntelCompiler18_4: "Compiler/Intel/18.4 Libraries/IMKL/2018"
|
||||
GNUCompiler8_2: "Compiler/GNU/8.2"
|
||||
|
@ -70,30 +71,25 @@ variables:
|
|||
PETSc_MPICH_Intel: "$PETSc3_10_3IMPI2018Intel18_4"
|
||||
PETSc_MPICH_GNU: "$PETSc3_10_3MPICH3_3GNU8_2"
|
||||
# ++++++++++++ commercial FEM ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
MSC2018_1: "FEM/MSC/2018.1"
|
||||
MSC2019: "FEM/MSC/2019"
|
||||
MSC2019_1: "FEM/MSC/2019.1"
|
||||
# ------------ Defaults ----------------------------------------------
|
||||
MSC: "$MSC2019"
|
||||
MSC: "$MSC2019_1"
|
||||
IntelMarc: "$IntelCompiler17_8"
|
||||
HDF5Marc: "HDF5/1.10.5/Intel-17.8"
|
||||
# ++++++++++++ Documentation ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
Doxygen1_8_17: "Documentation/Doxygen/1.8.17"
|
||||
# ------------ Defaults ----------------------------------------------
|
||||
Doxygen: "$Doxygen1_8_17"
|
||||
|
||||
|
||||
###################################################################################################
|
||||
checkout:
|
||||
stage: prepareAll
|
||||
before_script:
|
||||
- echo $CI_PIPELINE_ID >> $TESTROOT/GitLabCI.queue
|
||||
- while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $TESTROOT/GitLabCI.queue) != 1 ];
|
||||
- echo $CI_PIPELINE_ID >> $LOCAL_HOME/GitLabCI.queue
|
||||
- while [ $(awk "/$CI_PIPELINE_ID/{print NR}" $LOCAL_HOME/GitLabCI.queue) != 1 ];
|
||||
do sleep 5m;
|
||||
echo -e "Currently queued pipelines:\n$(cat $LOCAL_HOME/GitLabCI.queue)\n";
|
||||
done
|
||||
script:
|
||||
- mkdir -p $DAMASKROOT
|
||||
- mkdir -p $TESTROOT
|
||||
- cd $DAMASKROOT
|
||||
- if [ -d DAMASK ]; then rm -rf DAMASK; fi # there might be some leftovers from a failed clone
|
||||
- git clone -q git@magit1.mpie.de:damask/DAMASK.git .
|
||||
- git checkout $CI_COMMIT_SHA
|
||||
- git submodule update --init
|
||||
|
@ -108,7 +104,7 @@ Pytest_python:
|
|||
stage: python
|
||||
script:
|
||||
- cd $DAMASKROOT/python
|
||||
- pytest
|
||||
- pytest --basetemp=${TESTROOT}/python -v
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
@ -143,20 +139,6 @@ Pre_General:
|
|||
- release
|
||||
|
||||
###################################################################################################
|
||||
Post_AverageDown:
|
||||
stage: postprocessing
|
||||
script: averageDown/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
Post_ASCIItable:
|
||||
stage: postprocessing
|
||||
script: ASCIItable/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
Post_General:
|
||||
stage: postprocessing
|
||||
script: PostProcessing/test.py
|
||||
|
@ -192,21 +174,6 @@ Post_addGradient:
|
|||
- master
|
||||
- release
|
||||
|
||||
Post_ParaviewRelated:
|
||||
stage: postprocessing
|
||||
script: ParaviewRelated/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
Post_OrientationConversion:
|
||||
stage: postprocessing
|
||||
script:
|
||||
- OrientationConversion/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
Post_OrientationAverageMisorientation:
|
||||
stage: postprocessing
|
||||
script:
|
||||
|
@ -222,6 +189,8 @@ grid_mech_compile_Intel:
|
|||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
|
||||
- cp -r grid_mech_compile grid_mech_compile_Intel
|
||||
- grid_mech_compile_Intel/test.py
|
||||
- cd pytest
|
||||
- pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_Intel
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
@ -232,6 +201,8 @@ Compile_FEM_Intel:
|
|||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
|
||||
- cp -r FEM_compile FEM_compile_Intel
|
||||
- FEM_compile_Intel/test.py
|
||||
- cd pytest
|
||||
- pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_Intel
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
@ -242,6 +213,8 @@ grid_mech_compile_GNU:
|
|||
- module load $GNUCompiler $MPICH_GNU $PETSc_MPICH_GNU
|
||||
- cp -r grid_mech_compile grid_mech_compile_GNU
|
||||
- grid_mech_compile_GNU/test.py
|
||||
- cd pytest
|
||||
- pytest -k 'compile and grid' --basetemp=${TESTROOT}/compile_grid_GNU
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
@ -252,6 +225,8 @@ Compile_FEM_GNU:
|
|||
- module load $GNUCompiler $MPICH_GNU $PETSc_MPICH_GNU
|
||||
- cp -r FEM_compile FEM_compile_GNU
|
||||
- FEM_compile_GNU/test.py
|
||||
- cd pytest
|
||||
- pytest -k 'compile and mesh' --basetemp=${TESTROOT}/compile_mesh_GNU
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
@ -268,6 +243,16 @@ Compile_Intel_Prepare:
|
|||
- release
|
||||
|
||||
###################################################################################################
|
||||
Pytest_grid:
|
||||
stage: grid
|
||||
script:
|
||||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
|
||||
- cd pytest
|
||||
- pytest -k 'not compile' --basetemp=${TESTROOT}/fortran -v
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
Thermal:
|
||||
stage: grid
|
||||
script: Thermal/test.py
|
||||
|
@ -275,13 +260,6 @@ Thermal:
|
|||
- master
|
||||
- release
|
||||
|
||||
grid_packedGeometry:
|
||||
stage: grid
|
||||
script: grid_packedGeometry/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
grid_parsingArguments:
|
||||
stage: grid
|
||||
script: grid_parsingArguments/test.py
|
||||
|
@ -289,27 +267,6 @@ grid_parsingArguments:
|
|||
- master
|
||||
- release
|
||||
|
||||
StateIntegration_compareVariants:
|
||||
stage: grid
|
||||
script: StateIntegration_compareVariants/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
nonlocal_densityConservation:
|
||||
stage: grid
|
||||
script: nonlocal_densityConservation/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
RGC_DetectChanges:
|
||||
stage: grid
|
||||
script: RGC_DetectChanges/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
Nonlocal_Damage_DetectChanges:
|
||||
stage: grid
|
||||
script: Nonlocal_Damage_DetectChanges/test.py
|
||||
|
@ -324,29 +281,6 @@ grid_all_restart:
|
|||
- master
|
||||
- release
|
||||
|
||||
grid_parsingLoadCase:
|
||||
stage: grid
|
||||
script: grid_parsingLoadCase/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
grid_all_loadCaseRotation:
|
||||
stage: grid
|
||||
script: grid_all_loadCaseRotation/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
grid_mech_MPI:
|
||||
stage: grid
|
||||
script:
|
||||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
|
||||
- grid_mech_MPI/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
grid_all_restartMPI:
|
||||
stage: grid
|
||||
script:
|
||||
|
@ -363,13 +297,6 @@ Plasticity_DetectChanges:
|
|||
- master
|
||||
- release
|
||||
|
||||
Homogenization:
|
||||
stage: grid
|
||||
script: Homogenization/test.py
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
Phenopowerlaw_singleSlip:
|
||||
stage: grid
|
||||
script: Phenopowerlaw_singleSlip/test.py
|
||||
|
@ -377,21 +304,13 @@ Phenopowerlaw_singleSlip:
|
|||
- master
|
||||
- release
|
||||
|
||||
Pytest_grid:
|
||||
stage: grid
|
||||
script:
|
||||
- cd pytest
|
||||
- pytest
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
###################################################################################################
|
||||
Marc_compileIfort:
|
||||
stage: compileMarc
|
||||
script:
|
||||
- module load $IntelMarc $HDF5Marc $MSC
|
||||
- Marc_compileIfort/test.py
|
||||
- cd pytest
|
||||
- pytest -k 'compile and Marc' --basetemp=${TESTROOT}/compile_Marc
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
@ -457,10 +376,10 @@ SpectralRuntime:
|
|||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel
|
||||
- cd $DAMASKROOT
|
||||
- make clean grid processing OPTIMIZATION=AGGRESSIVE
|
||||
- cd $TESTROOT/performance # location of old results
|
||||
- cd $LOCAL_HOME/performance # location of old results
|
||||
- git checkout . # undo any changes (i.e. run time data from non-development branch)
|
||||
- cd $DAMASKROOT/PRIVATE/testing
|
||||
- SpectralAll_runtime/test.py -d $TESTROOT/performance
|
||||
- SpectralAll_runtime/test.py -d $LOCAL_HOME/performance
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
@ -476,20 +395,10 @@ createTar:
|
|||
- release
|
||||
|
||||
###################################################################################################
|
||||
Marc:
|
||||
Python:
|
||||
stage: createDocumentation
|
||||
script:
|
||||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel $Doxygen
|
||||
- $DAMASKROOT/PRIVATE/documenting/runDoxygen.sh $DAMASKROOT marc
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
||||
GridSolver:
|
||||
stage: createDocumentation
|
||||
script:
|
||||
- module load $IntelCompiler $MPICH_Intel $PETSc_MPICH_Intel $Doxygen
|
||||
- $DAMASKROOT/PRIVATE/documenting/runDoxygen.sh $DAMASKROOT grid
|
||||
- echo 'tbd one matesting1'
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
@ -498,11 +407,11 @@ GridSolver:
|
|||
backupData:
|
||||
stage: saveDocumentation
|
||||
script:
|
||||
- cd $TESTROOT/performance # location of new runtime results
|
||||
- cd $LOCAL_HOME/performance # location of new runtime results
|
||||
- git commit -am"${CI_PIPELINE_ID}_${CI_COMMIT_SHA}"
|
||||
- mkdir $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}
|
||||
- mv $TESTROOT/performance/time.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/
|
||||
- mv $TESTROOT/performance/memory.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/
|
||||
- mv $LOCAL_HOME/performance/time.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/
|
||||
- mv $LOCAL_HOME/performance/memory.png $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/
|
||||
- mv $DAMASKROOT/PRIVATE/documenting/DAMASK_* $BACKUP/${CI_PIPELINE_ID}_${CI_COMMIT_SHA}/
|
||||
only:
|
||||
- development
|
||||
|
@ -530,10 +439,10 @@ mergeIntoMaster:
|
|||
removeData:
|
||||
stage: clean
|
||||
before_script:
|
||||
- echo 'Do nothing'
|
||||
- echo "Removing data and lock of pipeline $CI_PIPELINE_ID"
|
||||
script:
|
||||
- rm -rf $TESTROOT/GitLabCI_Pipeline_$CI_PIPELINE_ID
|
||||
- sed -i "/$CI_PIPELINE_ID/d" $TESTROOT/GitLabCI.queue # in case pipeline was manually (web GUI) restarted and releaseLock was performed already
|
||||
- rm -rf $LOCAL_HOME/GitLabCI_Pipeline_$CI_PIPELINE_ID
|
||||
- sed -i "/$CI_PIPELINE_ID/d" $LOCAL_HOME/GitLabCI.queue # in case pipeline was manually (web GUI) restarted and releaseLock was performed already
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
@ -542,9 +451,9 @@ removeData:
|
|||
removeLock:
|
||||
stage: releaseLock
|
||||
before_script:
|
||||
- echo 'Do nothing'
|
||||
- echo "Removing lock of pipeline $CI_PIPELINE_ID"
|
||||
when: always
|
||||
script: sed -i "/$CI_PIPELINE_ID/d" $TESTROOT/GitLabCI.queue
|
||||
script: sed -i "/$CI_PIPELINE_ID/d" $LOCAL_HOME/GitLabCI.queue
|
||||
except:
|
||||
- master
|
||||
- release
|
||||
|
|
|
@ -108,9 +108,9 @@ if (DAMASK_SOLVER STREQUAL "grid")
|
|||
project (damask-grid Fortran C)
|
||||
add_definitions (-DGrid)
|
||||
message ("Building Grid Solver\n")
|
||||
elseif (DAMASK_SOLVER STREQUAL "fem" OR DAMASK_SOLVER STREQUAL "mesh")
|
||||
elseif (DAMASK_SOLVER STREQUAL "mesh")
|
||||
project (damask-mesh Fortran C)
|
||||
add_definitions (-DFEM)
|
||||
add_definitions (-DMesh)
|
||||
message ("Building Mesh Solver\n")
|
||||
else ()
|
||||
message (FATAL_ERROR "Build target (DAMASK_SOLVER) is not defined")
|
||||
|
@ -184,7 +184,7 @@ if (CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
|||
endif ()
|
||||
|
||||
set (CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}} ${PETSC_INCLUDES} ${BUILDCMD_POST}")
|
||||
set (CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} <OBJECTS> -o <TARGET> <LINK_LIBRARIES> ${PETSC_EXTERNAL_LIB} ${BUILDCMD_POST}")
|
||||
set (CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} <OBJECTS> -o <TARGET> <LINK_LIBRARIES> ${PETSC_EXTERNAL_LIB} -lz ${BUILDCMD_POST}")
|
||||
|
||||
message ("Fortran Compiler Flags:\n${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}}\n")
|
||||
message ("C Compiler Flags:\n${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}}\n")
|
||||
|
|
|
@ -110,7 +110,7 @@ for executable in icc icpc ifort ;do
|
|||
done
|
||||
|
||||
firstLevel "MPI Wrappers"
|
||||
for executable in mpicc mpiCC mpiicc mpic++ mpicpc mpicxx mpifort mpif90 mpif77; do
|
||||
for executable in mpicc mpiCC mpiicc mpic++ mpiicpc mpicxx mpifort mpiifort mpif90 mpif77; do
|
||||
getDetails $executable '-show'
|
||||
done
|
||||
|
||||
|
|
6
Makefile
6
Makefile
|
@ -2,21 +2,17 @@ SHELL = /bin/sh
|
|||
########################################################################################
|
||||
# Makefile for the installation of DAMASK
|
||||
########################################################################################
|
||||
DAMASK_ROOT = $(shell python -c "import os,sys; print(os.path.normpath(os.path.realpath(os.path.expanduser('$(pwd)'))))")
|
||||
DAMASK_ROOT = $(shell python3 -c "import os,sys; print(os.path.normpath(os.path.realpath(os.path.expanduser('$(pwd)'))))")
|
||||
.PHONY: all
|
||||
all: grid mesh processing
|
||||
|
||||
.PHONY: grid
|
||||
grid: build/grid
|
||||
@(cd build/grid;make -j${DAMASK_NUM_THREADS} all install;)
|
||||
.PHONY: spectral
|
||||
spectral: grid
|
||||
|
||||
.PHONY: mesh
|
||||
mesh: build/mesh
|
||||
@(cd build/mesh; make -j${DAMASK_NUM_THREADS} all install;)
|
||||
.PHONY: FEM
|
||||
FEM: mesh
|
||||
|
||||
.PHONY: build/grid
|
||||
build/grid:
|
||||
|
|
2
PRIVATE
2
PRIVATE
|
@ -1 +1 @@
|
|||
Subproject commit c595994cd8880acadf50b5dedb79156d04d35b91
|
||||
Subproject commit e2301f7d12ff0ae12218d9b58e33a814eb5431c9
|
2
README
2
README
|
@ -8,6 +8,6 @@ Max-Planck-Str. 1
|
|||
40237 Düsseldorf
|
||||
Germany
|
||||
|
||||
Email: DAMASK@mpie.de
|
||||
damask@mpie.de
|
||||
https://damask.mpie.de
|
||||
https://magit1.mpie.de
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
###################################################################################################
|
||||
# GNU Compiler
|
||||
###################################################################################################
|
||||
if (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 8.0)
|
||||
message (FATAL_ERROR "GCC Compiler version: ${CMAKE_Fortran_COMPILER_VERSION} not supported")
|
||||
endif ()
|
||||
|
||||
if (OPENMP)
|
||||
set (OPENMP_FLAGS "-fopenmp")
|
||||
|
@ -14,7 +17,7 @@ elseif (OPTIMIZATION STREQUAL "AGGRESSIVE")
|
|||
set (OPTIMIZATION_FLAGS "-O3 -ffast-math -funroll-loops -ftree-vectorize")
|
||||
endif ()
|
||||
|
||||
set (STANDARD_CHECK "-std=f2008ts -pedantic-errors" )
|
||||
set (STANDARD_CHECK "-std=f2018 -pedantic-errors" )
|
||||
set (LINKER_FLAGS "${LINKER_FLAGS} -Wl")
|
||||
# options parsed directly to the linker
|
||||
set (LINKER_FLAGS "${LINKER_FLAGS},-undefined,dynamic_lookup" )
|
||||
|
@ -25,6 +28,9 @@ set (LINKER_FLAGS "${LINKER_FLAGS},-undefined,dynamic_lookup" )
|
|||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -xf95-cpp-input")
|
||||
# preprocessor
|
||||
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -fPIC -fPIE")
|
||||
# position independent code
|
||||
|
||||
set (COMPILE_FLAGS "${COMPILE_FLAGS} -ffree-line-length-132")
|
||||
# restrict line length to the standard 132 characters (lattice.f90 require more characters)
|
||||
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
###################################################################################################
|
||||
# Intel Compiler
|
||||
###################################################################################################
|
||||
if (CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 18.0)
|
||||
message (FATAL_ERROR "Intel Compiler version: ${CMAKE_Fortran_COMPILER_VERSION} not supported")
|
||||
endif ()
|
||||
|
||||
if (OPENMP)
|
||||
set (OPENMP_FLAGS "-qopenmp -parallel")
|
||||
endif ()
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# "set"-syntax needed only for tcsh (but works with bash and zsh)
|
||||
set DAMASK_NUM_THREADS = 4
|
||||
set DAMASK_NUM_THREADS = 4
|
||||
|
||||
set MSC_ROOT = /opt/msc
|
||||
set MARC_VERSION = 2019
|
||||
set MSC_ROOT = /opt/msc
|
||||
set MSC_VERSION = 2019.1
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
|
||||
set CALLED=($_)
|
||||
set ENV_ROOT=`dirname $CALLED[2]`
|
||||
set DAMASK_ROOT=`python -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" $ENV_ROOT"/../"`
|
||||
set DAMASK_ROOT=`python3 -c "import os,sys; print(os.path.realpath(os.path.expanduser(sys.argv[1])))" $ENV_ROOT"/../"`
|
||||
|
||||
source $ENV_ROOT/CONFIG
|
||||
|
||||
set path = ($DAMASK_ROOT/bin $path)
|
||||
|
||||
set SOLVER=`which DAMASK_spectral`
|
||||
if ( "x$DAMASK_NUM_THREADS" == "x" ) then
|
||||
set SOLVER=`which DAMASK_grid`
|
||||
if ( "x$DAMASK_NUM_THREADS" == "x" ) then
|
||||
set DAMASK_NUM_THREADS=1
|
||||
endif
|
||||
|
||||
|
@ -30,7 +30,7 @@ if ( $?prompt ) then
|
|||
echo
|
||||
echo Using environment with ...
|
||||
echo "DAMASK $DAMASK_ROOT"
|
||||
echo "Grid Solver $SOLVER"
|
||||
echo "Grid Solver $SOLVER"
|
||||
if ( $?PETSC_DIR) then
|
||||
echo "PETSc location $PETSC_DIR"
|
||||
endif
|
||||
|
@ -51,4 +51,4 @@ else
|
|||
setenv PYTHONPATH $DAMASK_ROOT/python:$PYTHONPATH
|
||||
endif
|
||||
setenv MSC_ROOT
|
||||
setenv MARC_VERSION
|
||||
setenv MSC_VERSION
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# usage: source DAMASK.sh
|
||||
|
||||
function canonicalPath {
|
||||
python -c "import os,sys; print(os.path.normpath(os.path.realpath(os.path.expanduser(sys.argv[1]))))" $1
|
||||
python3 -c "import os,sys; print(os.path.normpath(os.path.realpath(os.path.expanduser(sys.argv[1]))))" $1
|
||||
}
|
||||
|
||||
function blink {
|
||||
|
@ -35,7 +35,7 @@ cd $DAMASK_ROOT >/dev/null; BRANCH=$(git branch 2>/dev/null| grep -E '^\* '); cd
|
|||
|
||||
PATH=${DAMASK_ROOT}/bin:$PATH
|
||||
|
||||
SOLVER=$(type -p DAMASK_spectral || true 2>/dev/null)
|
||||
SOLVER=$(type -p DAMASK_grid || true 2>/dev/null)
|
||||
[ "x$SOLVER" == "x" ] && SOLVER=$(blink 'Not found!')
|
||||
|
||||
[ "x$DAMASK_NUM_THREADS" == "x" ] && DAMASK_NUM_THREADS=1
|
||||
|
@ -56,7 +56,7 @@ if [ ! -z "$PS1" ]; then
|
|||
echo
|
||||
echo Using environment with ...
|
||||
echo "DAMASK $DAMASK_ROOT $BRANCH"
|
||||
echo "Grid Solver $SOLVER"
|
||||
echo "Grid Solver $SOLVER"
|
||||
if [ "x$PETSC_DIR" != "x" ]; then
|
||||
echo -n "PETSc location "
|
||||
[ -d $PETSC_DIR ] && echo $PETSC_DIR || blink $PETSC_DIR
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# usage: source DAMASK.zsh
|
||||
|
||||
function canonicalPath {
|
||||
python -c "import os,sys; print(os.path.normpath(os.path.realpath(os.path.expanduser(sys.argv[1]))))" $1
|
||||
python3 -c "import os,sys; print(os.path.normpath(os.path.realpath(os.path.expanduser(sys.argv[1]))))" $1
|
||||
}
|
||||
|
||||
function blink {
|
||||
|
@ -27,7 +27,7 @@ cd $DAMASK_ROOT >/dev/null; BRANCH=$(git branch 2>/dev/null| grep -E '^\* '); cd
|
|||
|
||||
PATH=${DAMASK_ROOT}/bin:$PATH
|
||||
|
||||
SOLVER=$(which DAMASK_spectral || true 2>/dev/null)
|
||||
SOLVER=$(which DAMASK_grid || true 2>/dev/null)
|
||||
[[ "x$SOLVER" == "x" ]] && SOLVER=$(blink 'Not found!')
|
||||
|
||||
[[ "x$DAMASK_NUM_THREADS" == "x" ]] && DAMASK_NUM_THREADS=1
|
||||
|
@ -48,7 +48,7 @@ if [ ! -z "$PS1" ]; then
|
|||
echo
|
||||
echo "Using environment with ..."
|
||||
echo "DAMASK $DAMASK_ROOT $BRANCH"
|
||||
echo "Grid Solver $SOLVER"
|
||||
echo "Grid Solver $SOLVER"
|
||||
if [ "x$PETSC_DIR" != "x" ]; then
|
||||
echo -n "PETSc location "
|
||||
[ -d $PETSC_DIR ] && echo $PETSC_DIR || blink $PETSC_DIR
|
||||
|
|
|
@ -3,6 +3,3 @@
|
|||
*.xdmf
|
||||
*.sta
|
||||
*.vt*
|
||||
*.geom
|
||||
*.seeds
|
||||
postProc
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
hydrogenflux cahnhilliard
|
||||
initialHydrogenConc 0.0
|
||||
(output) hydrogenconc
|
|
@ -1,2 +0,0 @@
|
|||
(kinematics) vacancy_strain
|
||||
vacancy_strain_coeff 0.006
|
|
@ -27,7 +27,7 @@ SolidSolutionStrength 0.0 # Strength due to elements in solid solution
|
|||
|
||||
### Dislocation glide parameters ###
|
||||
#per family
|
||||
Nslip 12 0
|
||||
Nslip 12
|
||||
slipburgers 2.72e-10 # Burgers vector of slip system [m]
|
||||
rhoedge0 1.0e12 # Initial edge dislocation density [m/m**3]
|
||||
rhoedgedip0 1.0 # Initial edged dipole dislocation density [m/m**3]
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
[Aluminum_Isotropic]
|
||||
# Kuo, J. C., Mikrostrukturmechanik von Bikristallen mit Kippkorngrenzen. Shaker-Verlag 2004. http://edoc.mpg.de/204079
|
||||
|
||||
elasticity hooke
|
||||
plasticity isotropic
|
||||
|
||||
(output) flowstress
|
||||
(output) strainrate
|
||||
|
||||
lattice_structure iso
|
||||
|
||||
c11 110.9e9
|
||||
c12 58.34e9
|
||||
m 3
|
||||
tau0 31e6
|
||||
gdot0 0.001
|
||||
n 20
|
||||
h0 75e6
|
||||
tausat 63e6
|
||||
a 2.25
|
|
@ -0,0 +1,16 @@
|
|||
# Kuo, J. C., Mikrostrukturmechanik von Bikristallen mit Kippkorngrenzen. Shaker-Verlag 2004. http://edoc.mpg.de/204079
|
||||
Aluminum:
|
||||
elasticity: {C_11: 110.9e9, C_12: 58.34e9, type: hooke}
|
||||
generic:
|
||||
output: [F, P, Fe, Fp, Lp]
|
||||
lattice: iso
|
||||
plasticity:
|
||||
type: isotropic
|
||||
output: [xi]
|
||||
xi_0: 31e6
|
||||
xi_inf: 63e6
|
||||
dot_gamma_0: 0.001
|
||||
n: 20
|
||||
M: 3
|
||||
h_0: 75e6
|
||||
a: 2.25
|
|
@ -1,24 +0,0 @@
|
|||
[Air]
|
||||
|
||||
## Isotropic Material model to simulate free surfaces ##
|
||||
## For more information see paper Maiti+Eisenlohr2018, Scripta Materialia,
|
||||
## "Fourier-based spectral method solution to finite strain crystal plasticity with free surfaces"
|
||||
|
||||
elasticity hooke
|
||||
plasticity isotropic
|
||||
|
||||
/dilatation/
|
||||
|
||||
(output) flowstress
|
||||
(output) strainrate
|
||||
|
||||
lattice_structure iso
|
||||
c11 10e9
|
||||
c12 0.0
|
||||
gdot0 0.001
|
||||
tau0 0.3e6
|
||||
tausat 0.6e6
|
||||
h0 1e6
|
||||
n 5
|
||||
m 3
|
||||
a 2
|
|
@ -0,0 +1,17 @@
|
|||
# Maiti and Eisenlohr 2018 Scripta Materialia
|
||||
Air:
|
||||
elasticity: {C_11: 10e9, C_12: 0.0, type: hooke}
|
||||
generic:
|
||||
output: [F, P, Fe, Fp, Lp]
|
||||
lattice: iso
|
||||
plasticity:
|
||||
type: isotropic
|
||||
output: [xi]
|
||||
xi_0: 0.3e6
|
||||
xi_inf: 0.6e6
|
||||
dot_gamma_0: 0.001
|
||||
n: 5
|
||||
M: 3
|
||||
h_0: 1e6
|
||||
a: 2
|
||||
dilatation: true
|
|
@ -1,21 +0,0 @@
|
|||
# Tasan et.al. 2015 Acta Materalia
|
||||
# Tasan et.al. 2015 International Journal of Plasticity
|
||||
# Diehl et.al. 2015 Meccanica
|
||||
[BCC-Ferrite]
|
||||
|
||||
elasticity hooke
|
||||
plasticity phenopowerlaw
|
||||
|
||||
lattice_structure bcc
|
||||
Nslip 12 12 # per family
|
||||
Ntwin 0 # per family
|
||||
c11 233.3e9
|
||||
c12 135.5e9
|
||||
c44 118.0e9
|
||||
gdot0_slip 0.001
|
||||
n_slip 20
|
||||
tau0_slip 95.e6 97.e6 # per family, optimization long simplex 109
|
||||
tausat_slip 222.e6 412.7e6 # per family, optimization long simplex 109
|
||||
h0_slipslip 1000.0e6
|
||||
interaction_slipslip 1 1 1.4 1.4 1.4 1.4
|
||||
a_slip 2.0
|
|
@ -0,0 +1,16 @@
|
|||
# Tasan et.al. 2015 Acta Materalia
|
||||
# Tasan et.al. 2015 International Journal of Plasticity
|
||||
# Diehl et.al. 2015 Meccanica
|
||||
Ferrite:
|
||||
elasticity: {C_11: 233.3e9, C_12: 135.5e9, C_44: 118.0e9, type: hooke}
|
||||
lattice: bcc
|
||||
plasticity:
|
||||
N_sl: [12, 12]
|
||||
a_sl: 2.0
|
||||
dot_gamma_0_sl: 0.001
|
||||
h_0_sl_sl: 1000.0e6
|
||||
h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4]
|
||||
n_sl: 20
|
||||
type: phenopowerlaw
|
||||
xi_0_sl: [95.e6, 96.e6]
|
||||
xi_inf_sl: [222.e6, 412.7e6]
|
|
@ -1,21 +0,0 @@
|
|||
# Tasan et.al. 2015 Acta Materalia
|
||||
# Tasan et.al. 2015 International Journal of Plasticity
|
||||
# Diehl et.al. 2015 Meccanica
|
||||
[BCC-Martensite]
|
||||
|
||||
elasticity hooke
|
||||
plasticity phenopowerlaw
|
||||
|
||||
lattice_structure bcc
|
||||
Nslip 12 12 # per family
|
||||
Ntwin 0 # per family
|
||||
c11 417.4e9
|
||||
c12 242.4e9
|
||||
c44 211.1e9
|
||||
gdot0_slip 0.001
|
||||
n_slip 20
|
||||
tau0_slip 405.8e6 456.7e6 # per family
|
||||
tausat_slip 872.9e6 971.2e6 # per family
|
||||
h0_slipslip 563.0e9
|
||||
interaction_slipslip 1 1 1.4 1.4 1.4 1.4
|
||||
a_slip 2.0
|
|
@ -0,0 +1,16 @@
|
|||
# Tasan et.al. 2015 Acta Materalia
|
||||
# Tasan et.al. 2015 International Journal of Plasticity
|
||||
# Diehl et.al. 2015 Meccanica
|
||||
Martensite:
|
||||
elasticity: {C_11: 417.4e9, C_12: 242.4e9, C_44: 211.1e9, type: hooke}
|
||||
lattice: bcc
|
||||
plasticity:
|
||||
N_sl: [12, 12]
|
||||
a_sl: 2.0
|
||||
dot_gamma_0_sl: 0.001
|
||||
h_0_sl_sl: 563.0e9
|
||||
h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4]
|
||||
n_sl: 20
|
||||
type: phenopowerlaw
|
||||
xi_0_sl: [405.8e6, 456.7e6]
|
||||
xi_inf_sl: [872.9e6, 971.2e6]
|
|
@ -1,24 +0,0 @@
|
|||
### debugging parameters ###
|
||||
|
||||
# example:
|
||||
# --------
|
||||
# mesh basic extensive # switches on the "basic" and "extensive" debugging in mesh-related functions/subroutines
|
||||
#
|
||||
|
||||
debug # debug.f90, possible values: basic, extensive
|
||||
math # math.f90, possible value: basic
|
||||
FEsolving # FEsolving.f90, possible value: basic
|
||||
mesh # mesh.f90, possible value: basic, extensive
|
||||
material # material.f90, possible values: basic, extensive
|
||||
lattice # lattice.f90, possible value: basic
|
||||
constitutive # constitutive_*.f90 possible values: basic, extensive, selective
|
||||
crystallite # crystallite.f90 possible values: basic, extensive, selective
|
||||
homogenization # homogenization_*.f90 possible values: basic, extensive, selective
|
||||
CPFEM # CPFEM.f90 possible values: basic, extensive, selective
|
||||
spectral # DAMASK_spectral.f90 possible values: basic, fft, restart, divergence, rotation, petsc
|
||||
marc # MSC.MARC FEM solver possible values: basic
|
||||
#
|
||||
# Parameters for selective
|
||||
element 1 # selected element for debugging (synonymous: "el", "e")
|
||||
integrationpoint 1 # selected integration point for debugging (synonymous: "ip", "i")
|
||||
grain 1 # selected grain at ip for debugging (synonymous: "gr", "g")
|
|
@ -0,0 +1,20 @@
|
|||
### debugging parameters ###
|
||||
## case sensitive keys
|
||||
# example:
|
||||
# --------
|
||||
# mesh: [basic, extensive] # switches on the "basic" and "extensive" debugging in mesh-related functions/subroutines
|
||||
#
|
||||
|
||||
mesh: [basic,extensive] # mesh.f90, possible value: basic, extensive
|
||||
material: [basic, extensive] # material.f90, possible values: basic, extensive
|
||||
constitutive: [basic, extensive, selective] # constitutive_*.f90 possible values: basic, extensive, selective
|
||||
crystallite: [basic, extensive, selective] # crystallite.f90 possible values: basic, extensive, selective
|
||||
homogenization: [basic, extensive, selective] # homogenization_*.f90 possible values: basic, extensive, selective
|
||||
cpfem: [basic, extensive, selective] # CPFEM.f90 possible values: basic, extensive, selective
|
||||
grid: [basic, fft, restart, divergence, rotation, petsc] # DAMASK_spectral.f90 possible values: basic, fft, restart, divergence, rotation, petsc
|
||||
marc: [basic] # MSC.MARC FEM solver possible values: basic
|
||||
#
|
||||
# Parameters for selective
|
||||
element: 1 # selected element for debugging
|
||||
integrationpoint: 1 # selected integration point for debugging
|
||||
grain: 1 # selected grain at ip for debugging
|
|
@ -1,75 +0,0 @@
|
|||
### numerical parameters ###
|
||||
|
||||
relevantStrain 1.0e-7 # strain increment considered significant (used by crystallite to determine whether strain inc is considered significant)
|
||||
defgradTolerance 1.0e-7 # deviation of deformation gradient that is still allowed (used by CPFEM to determine outdated ffn1)
|
||||
iJacoStiffness 1 # frequency of stiffness update
|
||||
iJacoLpresiduum 1 # frequency of Jacobian update of residuum in Lp
|
||||
pert_Fg 1.0e-7 # deformation gradient perturbation for grain tangent
|
||||
pert_method 1 # perturbation method (1 = forward, 2 = backward or 3 = central)
|
||||
integrator 1 # integration method (1 = Fixed Point Iteration, 2 = Euler, 3 = Adaptive Euler, 4 = classical 4th order Runge-Kutta, 5 = 5th order Runge-Kutta Cash-Karp)
|
||||
integratorStiffness 1 # integration method used for stiffness (1 = Fixed Point Iteration, 2 = Euler, 3 = Adaptive Euler, 4 = classical 4th order Runge-Kutta, 5 = 5th order Runge-Kutta Cash-Karp)
|
||||
unitlength 1 # physical length of one computational length unit
|
||||
usepingpong 1 # use the ping pong (collect <-> calc) scheme
|
||||
|
||||
## crystallite numerical parameters ##
|
||||
nCryst 20 # crystallite loop limit (only for debugging info, loop limit is determined by "subStepMinCryst")
|
||||
subStepMinCryst 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in crystallite
|
||||
subStepSizeCryst 0.25 # size of substep when cutback introduced in crystallite (value between 0 and 1)
|
||||
stepIncreaseCryst 1.5 # increase of next substep size when previous substep converged in crystallite (value higher than 1)
|
||||
nState 10 # state loop limit
|
||||
nStress 40 # stress loop limit
|
||||
rTol_crystalliteState 1.0e-6 # relative tolerance in crystallite state loop (abs tol provided by constitutive law)
|
||||
rTol_crystalliteStress 1.0e-6 # relative tolerance in crystallite stress loop (Lp residuum)
|
||||
aTol_crystalliteStress 1.0e-8 # absolute tolerance in crystallite stress loop (Lp residuum!)
|
||||
rTol_crystalliteTemperature 1.0e-6 # relative tolerance in crystallite state/temperature loop
|
||||
|
||||
## homogenization numerical parameters ##
|
||||
nHomog 20 # homogenization loop limit (only for debugging info, loop limit is determined by "subStepMinHomog")
|
||||
subStepMinHomog 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in homogenization
|
||||
subStepSizeHomog 0.25 # size of substep when cutback introduced in homogenization (value between 0 and 1)
|
||||
stepIncreaseHomog 1.5 # increase of next substep size when previous substep converged in homogenization (value higher than 1)
|
||||
nMPstate 10 # materialpoint state loop limit
|
||||
|
||||
## RGC scheme numerical parameters ##
|
||||
aTol_RGC 1.0e+4 # absolute tolerance of RGC residuum (in Pa)
|
||||
rTol_RGC 1.0e-3 # relative ...
|
||||
aMax_RGC 1.0e+10 # absolute upper-limit of RGC residuum (in Pa)
|
||||
rMax_RGC 1.0e+2 # relative ...
|
||||
perturbPenalty_RGC 1.0e-7 # perturbation for computing penalty tangent
|
||||
maxRelaxation_RGC 1.0e+0 # threshold of maximum relaxation vector increment (if exceed this then cutback)
|
||||
|
||||
relevantMismatch_RGC 1.0e-5 # minimum threshold of mismatch
|
||||
|
||||
viscosityPower_RGC 1.0e+0 # power (sensitivity rate) of numerical viscosity in RGC scheme
|
||||
viscosityModulus_RGC 0.0e+0 # stress modulus of RGC numerical viscosity (zero = without numerical viscosity)
|
||||
# suggestion: larger than the aTol_RGC but still far below the expected flow stress of material
|
||||
refRelaxationRate_RGC 1.0e-3 # reference rate of relaxation (about the same magnitude as straining rate, possibly a bit higher)
|
||||
|
||||
maxVolDiscrepancy_RGC 1.0e-5 # maximum allowable relative volume discrepancy
|
||||
volDiscrepancyMod_RGC 1.0e+12
|
||||
discrepancyPower_RGC 5.0
|
||||
|
||||
random_seed 0 # any integer larger than zero seeds the random generator, otherwise random seeding
|
||||
|
||||
## spectral parameters ##
|
||||
err_div_tolAbs 1.0e-3 # absolute tolerance for fulfillment of stress equilibrium
|
||||
err_div_tolRel 5.0e-4 # relative tolerance for fulfillment of stress equilibrium
|
||||
err_curl_tolAbs 1.0e-12 # absolute tolerance for fulfillment of strain compatibility
|
||||
err_curl_tolRel 5.0e-4 # relative tolerance for fulfillment of strain compatibility
|
||||
err_stress_tolAbs 1.0e3 # absolute tolerance for fulfillment of stress BC
|
||||
err_stress_tolRel 0.01 # relative tolerance for fulfillment of stress BC
|
||||
fftw_timelimit -1.0 # timelimit of plan creation for FFTW, see manual on www.fftw.org, Default -1.0: disable timelimit
|
||||
rotation_tol 1.0e-12 # tolerance of rotation specified in loadcase, Default 1.0e-12: first guess
|
||||
fftw_plan_mode FFTW_PATIENT # reads the planing-rigor flag, see manual on www.fftw.org, Default FFTW_PATIENT: use patient planner flag
|
||||
itmax 250 # Maximum iteration number
|
||||
itmin 2 # Minimum iteration number
|
||||
maxCutBack 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc)
|
||||
memory_efficient 1 # Precalculate Gamma-operator (81 double per point)
|
||||
update_gamma 0 # Update Gamma-operator with current dPdF (not possible if memory_efficient=1)
|
||||
divergence_correction 2 # Use size-independent divergence criterion
|
||||
spectralsolver basicPETSc # Type of spectral solver (basicPETSc/polarisation)
|
||||
spectralfilter none # Type of filtering method to mitigate Gibb's phenomenon (none, cosine, ...)
|
||||
petsc_options -snes_type ngmres -snes_ngmres_anderson # PetSc solver options
|
||||
regridMode 0 # 0: no regrid; 1: regrid if DAMASK doesn't converge; 2: regrid if DAMASK or BVP Solver doesn't converge
|
||||
polarAlpha 1.0 # polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme
|
||||
polarBeta 1.0 # polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme
|
|
@ -0,0 +1,86 @@
|
|||
# Available numerical parameters
|
||||
# Case sensitive keys
|
||||
|
||||
homogenization:
|
||||
mech:
|
||||
RGC:
|
||||
atol: 1.0e+4 # absolute tolerance of RGC residuum (in Pa)
|
||||
rtol: 1.0e-3 # relative ...
|
||||
amax: 1.0e+10 # absolute upper-limit of RGC residuum (in Pa)
|
||||
rmax: 1.0e+2 # relative ...
|
||||
perturbpenalty: 1.0e-7 # perturbation for computing penalty tangent
|
||||
relevantmismatch: 1.0e-5 # minimum threshold of mismatch
|
||||
viscositypower: 1.0e+0 # power (sensitivity rate) of numerical viscosity in RGC scheme
|
||||
viscositymodulus: 0.0e+0 # stress modulus of RGC numerical viscosity (zero = without numerical viscosity)
|
||||
# suggestion: larger than the aTol_RGC but still far below the expected flow stress of material
|
||||
refrelaxationrate: 1.0e-3 # reference rate of relaxation (about the same magnitude as straining rate, possibly a bit higher)
|
||||
maxrelaxationrate: 1.0e+0 # threshold of maximum relaxation vector increment (if exceed this then cutback)
|
||||
maxvoldiscrepancy: 1.0e-5 # maximum allowable relative volume discrepancy
|
||||
voldiscrepancymod: 1.0e+12
|
||||
discrepancypower: 5.0
|
||||
|
||||
generic:
|
||||
subStepMin: 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in homogenization
|
||||
subStepSize: 0.25 # size of substep when cutback introduced in homogenization (value between 0 and 1)
|
||||
stepIncrease: 1.5 # increase of next substep size when previous substep converged in homogenization (value higher than 1)
|
||||
nMPstate: 10 # materialpoint state loop limit
|
||||
|
||||
grid:
|
||||
eps_div_atol: 1.0e-3 # absolute tolerance for fulfillment of stress equilibrium
|
||||
eps_div_rtol: 5.0e-4 # relative tolerance for fulfillment of stress equilibrium
|
||||
eps_curl_atol: 1.0e-12 # absolute tolerance for fulfillment of strain compatibility
|
||||
eps_curl_rtol: 5.0e-4 # relative tolerance for fulfillment of strain compatibility
|
||||
eps_stress_atol: 1.0e3 # absolute tolerance for fulfillment of stress BC
|
||||
eps_stress_rtol: 0.01 # relative tolerance for fulfillment of stress BC
|
||||
eps_damage_atol: 1.0e-2 # absolute tolerance for damage evolution
|
||||
eps_damage_rtol: 1.0e-6 # relative tolerance for damage evolution
|
||||
eps_thermal_atol: 1.0e-2 # absolute tolerance for thermal equilibrium
|
||||
eps_thermal_rtol: 1.0e-6 # relative tolerance for thermal equilibrium
|
||||
itmax: 250 # Maximum iteration number
|
||||
itmin: 2 # Minimum iteration number
|
||||
fftw_timelimit: -1.0 # timelimit of plan creation for FFTW, see manual on www.fftw.org, Default -1.0: disable timelimit
|
||||
fftw_plan_mode: FFTW_PATIENT # reads the planing-rigor flag, see manual on www.fftw.org, Default FFTW_PATIENT: use patient planner flag
|
||||
maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc)
|
||||
maxStaggeredIter: 10 # max number of field level staggered iterations
|
||||
|
||||
memory_efficient: 1 # Precalculate Gamma-operator (81 double per point)
|
||||
update_gamma: false # Update Gamma-operator with current dPdF (not possible if memory_efficient=1)
|
||||
divergence_correction: 2 # Use size-independent divergence criterion
|
||||
derivative: continuous # Approximation used for derivatives in Fourier space
|
||||
solver: Basic # Type of spectral solver (BasicPETSc/Polarisation/FEM)
|
||||
petsc_options: -snes_type ngmres -snes_ngmres_anderson # PetSc solver options
|
||||
alpha: 1.0 # polarization scheme parameter 0.0 < alpha < 2.0. alpha = 1.0 ==> AL scheme, alpha = 2.0 ==> accelerated scheme
|
||||
beta: 1.0 # polarization scheme parameter 0.0 < beta < 2.0. beta = 1.0 ==> AL scheme, beta = 2.0 ==> accelerated scheme
|
||||
|
||||
mesh:
|
||||
maxCutBack: 3 # maximum cut back level (0: 1, 1: 0.5, 2: 0.25, etc)
|
||||
maxStaggeredIter: 10 # max number of field level staggered iterations
|
||||
structorder: 2 # order of displacement shape functions (when mesh is defined)
|
||||
bbarstabilisation: false
|
||||
integrationorder: 2 # order of quadrature rule required (when mesh is defined)
|
||||
itmax: 250 # Maximum iteration number
|
||||
itmin: 2 # Minimum iteration number
|
||||
eps_struct_atol: 1.0e-10 # absolute tolerance for mechanical equilibrium
|
||||
eps_struct_rtol: 1.0e-4 # relative tolerance for mechanical equilibrium
|
||||
|
||||
crystallite:
|
||||
subStepMin: 1.0e-3 # minimum (relative) size of sub-step allowed during cutback in crystallite
|
||||
subStepSize: 0.25 # size of substep when cutback introduced in crystallite (value between 0 and 1)
|
||||
stepIncrease: 1.5 # increase of next substep size when previous substep converged in crystallite (value higher than 1)
|
||||
subStepSizeLp: 0.5 # size of first substep when cutback in Lp calculation
|
||||
subStepSizeLi: 0.5 # size of first substep when cutback in Li calculation
|
||||
nState: 10 # state loop limit
|
||||
nStress: 40 # stress loop limit
|
||||
rtol_State: 1.0e-6 # relative tolerance in crystallite state loop (abs tol provided by constitutive law)
|
||||
rtol_Stress: 1.0e-6 # relative tolerance in crystallite stress loop (Lp residuum)
|
||||
atol_Stress: 1.0e-8 # absolute tolerance in crystallite stress loop (Lp residuum!)
|
||||
integrator: FPI # integration method (FPI = Fixed Point Iteration, Euler = Euler, AdaptiveEuler = Adaptive Euler, RK4 = classical 4th order Runge-Kutta, RKCK45 = 5th order Runge-Kutta Cash-Karp)
|
||||
iJacoLpresiduum: 1 # frequency of Jacobian update of residuum in Lp
|
||||
|
||||
commercialFEM:
|
||||
unitlength: 1 # physical length of one computational length unit
|
||||
|
||||
generic:
|
||||
charLength: 1.0 # characteristic length scale for gradient problems.
|
||||
random_seed: 0 # fixed seeding for pseudo-random number generator, Default 0: use random seed.
|
||||
residualStiffness: 1.0e-6 # non-zero residual damage.
|
File diff suppressed because it is too large
Load Diff
|
@ -1,441 +0,0 @@
|
|||
#-------------------#
|
||||
<homogenization>
|
||||
#-------------------#
|
||||
[SX]
|
||||
mech none
|
||||
|
||||
#-------------------#
|
||||
<phase>
|
||||
#-------------------#
|
||||
|
||||
[Aluminum]
|
||||
elasticity hooke
|
||||
plasticity phenopowerlaw
|
||||
|
||||
lattice_structure fcc
|
||||
Nslip 12 # per family
|
||||
|
||||
c11 106.75e9
|
||||
c12 60.41e9
|
||||
c44 28.34e9
|
||||
|
||||
gdot0_slip 0.001
|
||||
n_slip 20
|
||||
tau0_slip 31e6 # per family
|
||||
tausat_slip 63e6 # per family
|
||||
a_slip 2.25
|
||||
h0_slipslip 75e6
|
||||
interaction_slipslip 1 1 1.4 1.4 1.4 1.4
|
||||
|
||||
(output) f
|
||||
(output) p
|
||||
|
||||
#-------------------#
|
||||
<microstructure>
|
||||
#-------------------#
|
||||
|
||||
[Grain001]
|
||||
(constituent) phase 1 texture 1 fraction 1.0
|
||||
[Grain002]
|
||||
(constituent) phase 1 texture 2 fraction 1.0
|
||||
[Grain003]
|
||||
(constituent) phase 1 texture 3 fraction 1.0
|
||||
[Grain004]
|
||||
(constituent) phase 1 texture 4 fraction 1.0
|
||||
[Grain005]
|
||||
(constituent) phase 1 texture 5 fraction 1.0
|
||||
[Grain006]
|
||||
(constituent) phase 1 texture 6 fraction 1.0
|
||||
[Grain007]
|
||||
(constituent) phase 1 texture 7 fraction 1.0
|
||||
[Grain008]
|
||||
(constituent) phase 1 texture 8 fraction 1.0
|
||||
[Grain009]
|
||||
(constituent) phase 1 texture 9 fraction 1.0
|
||||
[Grain010]
|
||||
(constituent) phase 1 texture 10 fraction 1.0
|
||||
[Grain011]
|
||||
(constituent) phase 1 texture 11 fraction 1.0
|
||||
[Grain012]
|
||||
(constituent) phase 1 texture 12 fraction 1.0
|
||||
[Grain013]
|
||||
(constituent) phase 1 texture 13 fraction 1.0
|
||||
[Grain014]
|
||||
(constituent) phase 1 texture 14 fraction 1.0
|
||||
[Grain015]
|
||||
(constituent) phase 1 texture 15 fraction 1.0
|
||||
[Grain016]
|
||||
(constituent) phase 1 texture 16 fraction 1.0
|
||||
[Grain017]
|
||||
(constituent) phase 1 texture 17 fraction 1.0
|
||||
[Grain018]
|
||||
(constituent) phase 1 texture 18 fraction 1.0
|
||||
[Grain019]
|
||||
(constituent) phase 1 texture 19 fraction 1.0
|
||||
[Grain020]
|
||||
(constituent) phase 1 texture 20 fraction 1.0
|
||||
[Grain021]
|
||||
(constituent) phase 1 texture 21 fraction 1.0
|
||||
[Grain022]
|
||||
(constituent) phase 1 texture 22 fraction 1.0
|
||||
[Grain023]
|
||||
(constituent) phase 1 texture 23 fraction 1.0
|
||||
[Grain024]
|
||||
(constituent) phase 1 texture 24 fraction 1.0
|
||||
[Grain025]
|
||||
(constituent) phase 1 texture 25 fraction 1.0
|
||||
[Grain026]
|
||||
(constituent) phase 1 texture 26 fraction 1.0
|
||||
[Grain027]
|
||||
(constituent) phase 1 texture 27 fraction 1.0
|
||||
[Grain028]
|
||||
(constituent) phase 1 texture 28 fraction 1.0
|
||||
[Grain029]
|
||||
(constituent) phase 1 texture 29 fraction 1.0
|
||||
[Grain030]
|
||||
(constituent) phase 1 texture 30 fraction 1.0
|
||||
[Grain031]
|
||||
(constituent) phase 1 texture 31 fraction 1.0
|
||||
[Grain032]
|
||||
(constituent) phase 1 texture 32 fraction 1.0
|
||||
[Grain033]
|
||||
(constituent) phase 1 texture 33 fraction 1.0
|
||||
[Grain034]
|
||||
(constituent) phase 1 texture 34 fraction 1.0
|
||||
[Grain035]
|
||||
(constituent) phase 1 texture 35 fraction 1.0
|
||||
[Grain036]
|
||||
(constituent) phase 1 texture 36 fraction 1.0
|
||||
[Grain037]
|
||||
(constituent) phase 1 texture 37 fraction 1.0
|
||||
[Grain038]
|
||||
(constituent) phase 1 texture 38 fraction 1.0
|
||||
[Grain039]
|
||||
(constituent) phase 1 texture 39 fraction 1.0
|
||||
[Grain040]
|
||||
(constituent) phase 1 texture 40 fraction 1.0
|
||||
[Grain041]
|
||||
(constituent) phase 1 texture 41 fraction 1.0
|
||||
[Grain042]
|
||||
(constituent) phase 1 texture 42 fraction 1.0
|
||||
[Grain043]
|
||||
(constituent) phase 1 texture 43 fraction 1.0
|
||||
[Grain044]
|
||||
(constituent) phase 1 texture 44 fraction 1.0
|
||||
[Grain045]
|
||||
(constituent) phase 1 texture 45 fraction 1.0
|
||||
[Grain046]
|
||||
(constituent) phase 1 texture 46 fraction 1.0
|
||||
[Grain047]
|
||||
(constituent) phase 1 texture 47 fraction 1.0
|
||||
[Grain048]
|
||||
(constituent) phase 1 texture 48 fraction 1.0
|
||||
[Grain049]
|
||||
(constituent) phase 1 texture 49 fraction 1.0
|
||||
[Grain050]
|
||||
(constituent) phase 1 texture 50 fraction 1.0
|
||||
[Grain051]
|
||||
(constituent) phase 1 texture 51 fraction 1.0
|
||||
[Grain052]
|
||||
(constituent) phase 1 texture 52 fraction 1.0
|
||||
[Grain053]
|
||||
(constituent) phase 1 texture 53 fraction 1.0
|
||||
[Grain054]
|
||||
(constituent) phase 1 texture 54 fraction 1.0
|
||||
[Grain055]
|
||||
(constituent) phase 1 texture 55 fraction 1.0
|
||||
[Grain056]
|
||||
(constituent) phase 1 texture 56 fraction 1.0
|
||||
[Grain057]
|
||||
(constituent) phase 1 texture 57 fraction 1.0
|
||||
[Grain058]
|
||||
(constituent) phase 1 texture 58 fraction 1.0
|
||||
[Grain059]
|
||||
(constituent) phase 1 texture 59 fraction 1.0
|
||||
[Grain060]
|
||||
(constituent) phase 1 texture 60 fraction 1.0
|
||||
[Grain061]
|
||||
(constituent) phase 1 texture 61 fraction 1.0
|
||||
[Grain062]
|
||||
(constituent) phase 1 texture 62 fraction 1.0
|
||||
[Grain063]
|
||||
(constituent) phase 1 texture 63 fraction 1.0
|
||||
[Grain064]
|
||||
(constituent) phase 1 texture 64 fraction 1.0
|
||||
[Grain065]
|
||||
(constituent) phase 1 texture 65 fraction 1.0
|
||||
[Grain066]
|
||||
(constituent) phase 1 texture 66 fraction 1.0
|
||||
[Grain067]
|
||||
(constituent) phase 1 texture 67 fraction 1.0
|
||||
[Grain068]
|
||||
(constituent) phase 1 texture 68 fraction 1.0
|
||||
[Grain069]
|
||||
(constituent) phase 1 texture 69 fraction 1.0
|
||||
[Grain070]
|
||||
(constituent) phase 1 texture 70 fraction 1.0
|
||||
[Grain071]
|
||||
(constituent) phase 1 texture 71 fraction 1.0
|
||||
[Grain072]
|
||||
(constituent) phase 1 texture 72 fraction 1.0
|
||||
[Grain073]
|
||||
(constituent) phase 1 texture 73 fraction 1.0
|
||||
[Grain074]
|
||||
(constituent) phase 1 texture 74 fraction 1.0
|
||||
[Grain075]
|
||||
(constituent) phase 1 texture 75 fraction 1.0
|
||||
[Grain076]
|
||||
(constituent) phase 1 texture 76 fraction 1.0
|
||||
[Grain077]
|
||||
(constituent) phase 1 texture 77 fraction 1.0
|
||||
[Grain078]
|
||||
(constituent) phase 1 texture 78 fraction 1.0
|
||||
[Grain079]
|
||||
(constituent) phase 1 texture 79 fraction 1.0
|
||||
[Grain080]
|
||||
(constituent) phase 1 texture 80 fraction 1.0
|
||||
[Grain081]
|
||||
(constituent) phase 1 texture 81 fraction 1.0
|
||||
[Grain082]
|
||||
(constituent) phase 1 texture 82 fraction 1.0
|
||||
[Grain083]
|
||||
(constituent) phase 1 texture 83 fraction 1.0
|
||||
[Grain084]
|
||||
(constituent) phase 1 texture 84 fraction 1.0
|
||||
[Grain085]
|
||||
(constituent) phase 1 texture 85 fraction 1.0
|
||||
[Grain086]
|
||||
(constituent) phase 1 texture 86 fraction 1.0
|
||||
[Grain087]
|
||||
(constituent) phase 1 texture 87 fraction 1.0
|
||||
[Grain088]
|
||||
(constituent) phase 1 texture 88 fraction 1.0
|
||||
[Grain089]
|
||||
(constituent) phase 1 texture 89 fraction 1.0
|
||||
[Grain090]
|
||||
(constituent) phase 1 texture 90 fraction 1.0
|
||||
[Grain091]
|
||||
(constituent) phase 1 texture 91 fraction 1.0
|
||||
[Grain092]
|
||||
(constituent) phase 1 texture 92 fraction 1.0
|
||||
[Grain093]
|
||||
(constituent) phase 1 texture 93 fraction 1.0
|
||||
[Grain094]
|
||||
(constituent) phase 1 texture 94 fraction 1.0
|
||||
[Grain095]
|
||||
(constituent) phase 1 texture 95 fraction 1.0
|
||||
[Grain096]
|
||||
(constituent) phase 1 texture 96 fraction 1.0
|
||||
[Grain097]
|
||||
(constituent) phase 1 texture 97 fraction 1.0
|
||||
[Grain098]
|
||||
(constituent) phase 1 texture 98 fraction 1.0
|
||||
[Grain099]
|
||||
(constituent) phase 1 texture 99 fraction 1.0
|
||||
[Grain100]
|
||||
(constituent) phase 1 texture 100 fraction 1.0
|
||||
|
||||
#-------------------#
|
||||
<texture>
|
||||
#-------------------#
|
||||
|
||||
[Grain001]
|
||||
(gauss) phi1 172.344 Phi 114.046 phi2 294.669
|
||||
[Grain002]
|
||||
(gauss) phi1 186.013 Phi 94.7338 phi2 329.683
|
||||
[Grain003]
|
||||
(gauss) phi1 162.41 Phi 98.9455 phi2 130.322
|
||||
[Grain004]
|
||||
(gauss) phi1 355.272 Phi 140.621 phi2 125.567
|
||||
[Grain005]
|
||||
(gauss) phi1 21.7641 Phi 143.388 phi2 240.373
|
||||
[Grain006]
|
||||
(gauss) phi1 88.1966 Phi 92.3358 phi2 194.78
|
||||
[Grain007]
|
||||
(gauss) phi1 161.137 Phi 78.0062 phi2 111.948
|
||||
[Grain008]
|
||||
(gauss) phi1 169.792 Phi 89.5333 phi2 159.265
|
||||
[Grain009]
|
||||
(gauss) phi1 264.847 Phi 130.291 phi2 180.604
|
||||
[Grain010]
|
||||
(gauss) phi1 70.6323 Phi 84.1754 phi2 341.162
|
||||
[Grain011]
|
||||
(gauss) phi1 67.7751 Phi 36.1662 phi2 139.898
|
||||
[Grain012]
|
||||
(gauss) phi1 111.621 Phi 19.1089 phi2 228.338
|
||||
[Grain013]
|
||||
(gauss) phi1 129.9 Phi 139.011 phi2 238.735
|
||||
[Grain014]
|
||||
(gauss) phi1 221.405 Phi 129.743 phi2 99.6471
|
||||
[Grain015]
|
||||
(gauss) phi1 241.783 Phi 98.3729 phi2 260.615
|
||||
[Grain016]
|
||||
(gauss) phi1 72.5592 Phi 122.403 phi2 165.046
|
||||
[Grain017]
|
||||
(gauss) phi1 64.8818 Phi 82.6384 phi2 236.305
|
||||
[Grain018]
|
||||
(gauss) phi1 201.096 Phi 65.9312 phi2 330.745
|
||||
[Grain019]
|
||||
(gauss) phi1 192.994 Phi 81.9371 phi2 239.326
|
||||
[Grain020]
|
||||
(gauss) phi1 125.335 Phi 90.4527 phi2 207.982
|
||||
[Grain021]
|
||||
(gauss) phi1 55.8848 Phi 26.4455 phi2 100.921
|
||||
[Grain022]
|
||||
(gauss) phi1 40.722 Phi 95.6415 phi2 269.174
|
||||
[Grain023]
|
||||
(gauss) phi1 250.487 Phi 69.6035 phi2 201.732
|
||||
[Grain024]
|
||||
(gauss) phi1 204.199 Phi 84.983 phi2 20.3469
|
||||
[Grain025]
|
||||
(gauss) phi1 12.7416 Phi 128.589 phi2 271.553
|
||||
[Grain026]
|
||||
(gauss) phi1 299.704 Phi 85.3961 phi2 217.359
|
||||
[Grain027]
|
||||
(gauss) phi1 48.8232 Phi 83.6209 phi2 200.361
|
||||
[Grain028]
|
||||
(gauss) phi1 336.395 Phi 97.3059 phi2 187.071
|
||||
[Grain029]
|
||||
(gauss) phi1 274.354 Phi 78.2424 phi2 320.308
|
||||
[Grain030]
|
||||
(gauss) phi1 320.776 Phi 149.72 phi2 163.862
|
||||
[Grain031]
|
||||
(gauss) phi1 179.549 Phi 106.548 phi2 345.498
|
||||
[Grain032]
|
||||
(gauss) phi1 163.508 Phi 24.4238 phi2 127.809
|
||||
[Grain033]
|
||||
(gauss) phi1 193.405 Phi 157.012 phi2 321.342
|
||||
[Grain034]
|
||||
(gauss) phi1 9.09886 Phi 95.9453 phi2 102.32
|
||||
[Grain035]
|
||||
(gauss) phi1 353.876 Phi 150.824 phi2 174.886
|
||||
[Grain036]
|
||||
(gauss) phi1 138.914 Phi 76.5811 phi2 167.927
|
||||
[Grain037]
|
||||
(gauss) phi1 262.655 Phi 76.2738 phi2 12.4459
|
||||
[Grain038]
|
||||
(gauss) phi1 121.849 Phi 65.5254 phi2 192.601
|
||||
[Grain039]
|
||||
(gauss) phi1 275.824 Phi 81.6788 phi2 164.228
|
||||
[Grain040]
|
||||
(gauss) phi1 68.9202 Phi 160.5 phi2 210.862
|
||||
[Grain041]
|
||||
(gauss) phi1 51.0398 Phi 82.7291 phi2 74.016
|
||||
[Grain042]
|
||||
(gauss) phi1 338.746 Phi 62.7854 phi2 129.362
|
||||
[Grain043]
|
||||
(gauss) phi1 204.51 Phi 151.256 phi2 178.89
|
||||
[Grain044]
|
||||
(gauss) phi1 122.098 Phi 104.003 phi2 323.04
|
||||
[Grain045]
|
||||
(gauss) phi1 106.693 Phi 108.61 phi2 336.935
|
||||
[Grain046]
|
||||
(gauss) phi1 118.856 Phi 160.992 phi2 316.152
|
||||
[Grain047]
|
||||
(gauss) phi1 177.962 Phi 114.868 phi2 13.6918
|
||||
[Grain048]
|
||||
(gauss) phi1 330.273 Phi 174.495 phi2 231.249
|
||||
[Grain049]
|
||||
(gauss) phi1 7.31937 Phi 94.7313 phi2 17.8461
|
||||
[Grain050]
|
||||
(gauss) phi1 74.3385 Phi 49.9546 phi2 286.482
|
||||
[Grain051]
|
||||
(gauss) phi1 326.388 Phi 76.9547 phi2 214.758
|
||||
[Grain052]
|
||||
(gauss) phi1 276.024 Phi 72.1242 phi2 275.884
|
||||
[Grain053]
|
||||
(gauss) phi1 137.681 Phi 116.99 phi2 6.87047
|
||||
[Grain054]
|
||||
(gauss) phi1 200.213 Phi 123.618 phi2 268.84
|
||||
[Grain055]
|
||||
(gauss) phi1 7.13702 Phi 56.2015 phi2 119.65
|
||||
[Grain056]
|
||||
(gauss) phi1 72.1783 Phi 81.0906 phi2 6.06213
|
||||
[Grain057]
|
||||
(gauss) phi1 184.565 Phi 110.01 phi2 239.546
|
||||
[Grain058]
|
||||
(gauss) phi1 210.124 Phi 128.631 phi2 8.61611
|
||||
[Grain059]
|
||||
(gauss) phi1 290.326 Phi 170.412 phi2 144.269
|
||||
[Grain060]
|
||||
(gauss) phi1 204.748 Phi 76.7343 phi2 200.385
|
||||
[Grain061]
|
||||
(gauss) phi1 54.3015 Phi 65.9143 phi2 117.373
|
||||
[Grain062]
|
||||
(gauss) phi1 261.263 Phi 52.255 phi2 95.9146
|
||||
[Grain063]
|
||||
(gauss) phi1 328.054 Phi 51.0778 phi2 24.2782
|
||||
[Grain064]
|
||||
(gauss) phi1 163.03 Phi 154.894 phi2 64.126
|
||||
[Grain065]
|
||||
(gauss) phi1 183.87 Phi 80.1848 phi2 18.7438
|
||||
[Grain066]
|
||||
(gauss) phi1 219.91 Phi 113.727 phi2 126.67
|
||||
[Grain067]
|
||||
(gauss) phi1 1.43844 Phi 87.6365 phi2 217.342
|
||||
[Grain068]
|
||||
(gauss) phi1 16.6245 Phi 162.07 phi2 43.7899
|
||||
[Grain069]
|
||||
(gauss) phi1 16.86 Phi 53.8682 phi2 256.917
|
||||
[Grain070]
|
||||
(gauss) phi1 1.01921 Phi 118.449 phi2 307.223
|
||||
[Grain071]
|
||||
(gauss) phi1 19.0397 Phi 83.8885 phi2 262.687
|
||||
[Grain072]
|
||||
(gauss) phi1 99.799 Phi 77.2307 phi2 84.9727
|
||||
[Grain073]
|
||||
(gauss) phi1 234.292 Phi 63.5029 phi2 250.315
|
||||
[Grain074]
|
||||
(gauss) phi1 315.529 Phi 106.015 phi2 103.711
|
||||
[Grain075]
|
||||
(gauss) phi1 235.595 Phi 110.152 phi2 210.277
|
||||
[Grain076]
|
||||
(gauss) phi1 341.907 Phi 17.1839 phi2 332.75
|
||||
[Grain077]
|
||||
(gauss) phi1 352.166 Phi 88.6049 phi2 114.964
|
||||
[Grain078]
|
||||
(gauss) phi1 342.33 Phi 117.777 phi2 180.346
|
||||
[Grain079]
|
||||
(gauss) phi1 224.952 Phi 70.5702 phi2 148.486
|
||||
[Grain080]
|
||||
(gauss) phi1 7.71702 Phi 23.6124 phi2 131.591
|
||||
[Grain081]
|
||||
(gauss) phi1 65.1024 Phi 138.774 phi2 247.344
|
||||
[Grain082]
|
||||
(gauss) phi1 37.6181 Phi 51.5209 phi2 8.4169
|
||||
[Grain083]
|
||||
(gauss) phi1 245.335 Phi 53.4543 phi2 52.5205
|
||||
[Grain084]
|
||||
(gauss) phi1 259.572 Phi 87.7026 phi2 272.065
|
||||
[Grain085]
|
||||
(gauss) phi1 269.39 Phi 103.379 phi2 132.506
|
||||
[Grain086]
|
||||
(gauss) phi1 175.156 Phi 119.338 phi2 355.51
|
||||
[Grain087]
|
||||
(gauss) phi1 248.11 Phi 39.4772 phi2 310.371
|
||||
[Grain088]
|
||||
(gauss) phi1 121.809 Phi 141.465 phi2 10.0736
|
||||
[Grain089]
|
||||
(gauss) phi1 2.4357 Phi 47.118 phi2 274.654
|
||||
[Grain090]
|
||||
(gauss) phi1 314.188 Phi 134.146 phi2 250.673
|
||||
[Grain091]
|
||||
(gauss) phi1 114.815 Phi 121.132 phi2 275.124
|
||||
[Grain092]
|
||||
(gauss) phi1 126.699 Phi 99.0325 phi2 320.537
|
||||
[Grain093]
|
||||
(gauss) phi1 184.138 Phi 20.1663 phi2 159.314
|
||||
[Grain094]
|
||||
(gauss) phi1 296.502 Phi 15.2389 phi2 39.382
|
||||
[Grain095]
|
||||
(gauss) phi1 167.8 Phi 151.764 phi2 192.568
|
||||
[Grain096]
|
||||
(gauss) phi1 257.822 Phi 133.446 phi2 257.108
|
||||
[Grain097]
|
||||
(gauss) phi1 71.6923 Phi 74.5726 phi2 342.575
|
||||
[Grain098]
|
||||
(gauss) phi1 176.748 Phi 28.39 phi2 327.375
|
||||
[Grain099]
|
||||
(gauss) phi1 121.822 Phi 141.836 phi2 22.6349
|
||||
[Grain100]
|
||||
(gauss) phi1 180.151 Phi 109.246 phi2 146.177
|
|
@ -0,0 +1,525 @@
|
|||
homogenization:
|
||||
SX:
|
||||
N_constituents: 1
|
||||
mech: {type: none}
|
||||
|
||||
phase:
|
||||
Aluminum:
|
||||
elasticity: {C_11: 106.75e9, C_12: 60.41e9, C_44: 28.34e9, type: hooke}
|
||||
generic:
|
||||
output: [F, P, Fe, Fp, Lp]
|
||||
lattice: fcc
|
||||
plasticity:
|
||||
N_sl: [12]
|
||||
a_sl: 2.25
|
||||
atol_xi: 1.0
|
||||
dot_gamma_0_sl: 0.001
|
||||
h_0_sl_sl: 75e6
|
||||
h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4]
|
||||
n_sl: 20
|
||||
output: [xi_sl]
|
||||
type: phenopowerlaw
|
||||
xi_0_sl: [31e6]
|
||||
xi_inf_sl: [63e6]
|
||||
|
||||
material:
|
||||
- constituents:
|
||||
- O: [0.12807292351503236, 0.22200469518411023, 0.6352813278477609, -0.7285114110750144]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.372279509887385, 0.7538147166654958, 0.5325170025119552, -0.09796418474222598]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.36250483607280015, 0.1909385526545633, 0.22801354774620894, 0.883256777487838]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.732294920525089, 0.5171063011556195, -0.1407961220188403, 0.4201448258669421]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.708826030342622, -0.6702053835750753, -0.20103371291967786, -0.08930760776907508]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.5987257793404215, -0.07651654961032513, 0.5682302685884709, 0.5592736545277363]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.06694940093926707, -0.30782756132267486, -0.12043616569331547, 0.9414112279960869]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.18461382116884548, -0.6204161624733774, -0.29958251820830917, 0.700893599028564]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.9169840196863235, -0.06434514294945529, -0.39316017660689456, -0.02061760774585527]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.6721337568887824, 0.25328061978301336, 0.695177984796291, 0.028508068111876502]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.5634397986285561, 0.5706880594373327, 0.08060455928790704, 0.5919067808017289]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.5400408176755693, -0.4956697116684921, 0.14064883310776702, 0.6654963245008945]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.07812412485408982, 0.5540083408137547, 0.5031719732018802, -0.6586268631089227]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.41240828720357114, -0.026821321952330345, -0.06656740215323173, -0.9081678271691396]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.3658567189933218, -0.6119251240676276, 0.3102501533620181, -0.6288412725331445]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.2308179184918794, 0.26432722557112004, -0.14038019870347257, -0.925822664518926]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.4363489638426341, -0.5213523479018052, -0.37065469878209856, -0.6327767421148525]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.15751083378097516, -0.5830676086424881, -0.7731435878587035, -0.19357554997086668]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.41698573506483805, 0.5882742372124636, 0.4716906164392004, 0.5075079122021035]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.17835925061073415, -0.7576341567357145, 0.5458453874401553, 0.3102116620619653]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.016537212068790805, -0.06560032016255024, -0.9814007903497085, 0.17965413246716677]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.7933419088044938, -0.4975616690562898, 0.002907610903989995, 0.35075995640778657]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.3635770516878745, -0.09660008514915623, 0.36238757501055235, 0.8527340713921895]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.35469467802378446, 0.900798059498047, 0.14285057027288334, -0.20578691882349764]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.06696575255653868, 0.5321303636902097, -0.6166115894646206, 0.5763184985417141]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.31809816235976984, 0.4876502255202392, -0.7296452532806524, -0.3586483249903866]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.2549514949878876, 0.05524371396681128, 0.9470351218726387, -0.18727612023499066]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.3760153183052231, -0.4217640210815424, 0.6443784334217433, -0.515270827295598]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.6102174060370085, -0.022958466699548683, -0.6694455254088741, -0.42302519391438936]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.5254549417230717, 0.20193294294562072, -0.19303567281299983, -0.8036525491739303]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.7169626866664082, -0.6629494257626796, -0.1589260699014312, -0.14561960415653047]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.040377943142626056, 0.7396298011497441, -0.661651923110657, -0.11633620074048379]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.8080395996415211, -0.5263437715228787, 0.22303374382245625, -0.1424436334371638]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.21962598047172166, 0.45293590819075397, -0.06718005388282963, -0.8614524549466163]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.7348220818417669, 0.06949262003518837, 0.20336956395879577, 0.643310270595446]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.27437168454785316, 0.607839586873941, -0.06548653269996256, -0.7422686369382898]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.5821287086059501, 0.5669682803260325, -0.47414005369298196, 0.338916428054065]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.3970593041780103, 0.8246645098423279, -0.36199337531483944, 0.1767290338352959]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.5081480477127669, 0.3204901365034085, 0.7369345512733142, -0.3098372171791651]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.6953483497932282, -0.7005111230189092, -0.030120917781595695, -0.15769454422590312]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.20780780106593144, -0.4156481640905742, -0.859796494212616, -0.2116660342236624]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.875449475108018, 0.334405906289409, 0.08321243768586052, 0.3388754883231179]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.4878954087431437, -0.201899911445109, -0.016443700876142255, 0.8490724943061776]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.809006993377334, -0.4511704605616954, 0.3107581234699541, 0.21303119227133527]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.2783061701232137, -0.37155930333092624, 0.2983006011383234, 0.833970090075238]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.8685487200401724, 0.4286175969913296, 0.2073677875225473, -0.13750882576751258]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.8559566148691011, 0.23856401969856064, 0.39423286552950637, 0.23453342982075753]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.1756511736975092, 0.07342062889304078, -0.04772989392115008, -0.9805498119207986]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.7200508938250222, 0.6735134759580867, -0.1233849919850085, 0.11261639204619212]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.047335400154722915, 0.49129103138311975, 0.525630527898618, -0.6928961181271857]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.28118642835330543, 0.5395929890335265, 0.40425497687514045, 0.6828993427786086]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.006026285215314257, -0.1679148292265234, -0.7479485565815042, -0.6421380308936511]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.334648430137024, 0.6496056109679386, -0.1394793624167455, 0.6682577989560725]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.7232075581792949, -0.28960085183792955, -0.6223046032924913, -0.07641436467093393]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.47299579296952254, -0.5670338162851795, -0.5015824290282452, 0.45073572957146774]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.5759837103124865, 0.47483366659316206, 0.13338249877309968, -0.6519086312861638]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.2133016608721166, 0.8062208250934307, -0.14645674169152062, 0.5320345904807013]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.7863833344402563, 0.15848713668741257, 0.5963350020823727, 0.02945579927053303]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.2759341654421687, -0.6656009677995011, 0.632033964698132, -0.2852520910949854]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.3400173283191303, 0.2790322396525497, 0.05686903943434476, -0.8962673362513095]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.3090337373688507, -0.6179184060817985, -0.40306280271429823, -0.6001794478831014]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.48435626950922916, 0.11609254154182697, 0.8072509012091782, 0.31665045157465316]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.9341912300459765, 0.06381865157465592, -0.2688666295423878, 0.22566493067132626]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.3246762949389304, -0.8214600528123802, 0.1647217509197912, -0.43892531245318767]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.22010536155962523, 0.3952675899243737, -0.4188983380967744, 0.787300034616946]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.4751050223053463, -0.4218758221556333, 0.4821369300658099, -0.6031915028641082]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.880861720439117, 0.09303992127699898, 0.06428592081503388, 0.459666752004941]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.017063839192766467, -0.6261860403002049, 0.7746195154331581, 0.0869739882680612]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.8252329561137333, 0.43850926617938535, -0.16721886267130043, 0.314226102648273]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.4088699582548411, 0.5235534931618994, 0.2277666883750278, -0.7119265641211392]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.31369184472576933, -0.5429805343259477, -0.5533576236189442, -0.5482380014906362]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.8207922579932034, -0.40913772106857016, -0.29054259084664685, 0.2729311219362013]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.39996686955088523, 0.8073277952554248, -0.42163315248684, 0.10234167769627939]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.14522555946678525, -0.9642883914638805, -0.07079650136982708, -0.20986969852590256]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.8609444342657742, -0.4171158046302133, 0.08690127066297638, -0.2779159149664443]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.09931399908465133, 0.16026167862873547, -0.3511391996430844, 0.9171445831617433]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.6587918595877198, 0.6189906598816806, 0.0005033162297445391, 0.42760214615103187]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.7412785017238798, -0.6379030203895805, -0.20813887288112973, -0.016252047736315157]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.5032998395625615, -0.8189944544199759, -0.2752734056777696, 0.012724278061564797]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.30815895127983317, 0.20282878988385175, 0.8579906660791383, -0.3574221029279561]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.0912817179686122, 0.5543695707221443, -0.21745503821012058, 0.7981574615193918]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.718183481882936, 0.6611923783626078, 0.21674094418893908, 0.007777419738431369]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.641563954107516, 0.47603559168775506, 0.3154268571613459, 0.512144223844938]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.8439024683820513, 0.43153248029761754, -0.2652577072450959, -0.1767673359360896]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.17482457972766288, 0.13632980653604765, -0.729153335123429, -0.6474457228612067]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.5462682331321344, -0.6419412420912892, 0.5193526292629735, -0.14062469786856494]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.06193959356412827, 0.9446609987066811, 0.2955015499517284, 0.12828841821354212]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.13005379758833394, -0.4761566918831448, -0.8677539374042601, -0.0579992985057245]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.12401013449245081, -0.9269166108137696, 0.1869992698940139, -0.30079620376558064]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.6368058430024911, 0.28319472159332215, 0.09883070908659818, -0.7102897710941695]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.7479222172438762, 0.5613955239110566, -0.3036337525818155, -0.18235670258786588]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.13628779568798424, -0.7300975764648174, 0.27927071064003745, -0.6085975975678171]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.24072388217536397, -0.41900940030067935, -0.16600482052691715, 0.859607779497087]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.75515292090621, 0.08155675624188279, -0.050775397210192544, 0.6484708324946223]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.6714109994800408, 0.44985122714627734, -0.39700997413825245, -0.4349991076392517]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.42120801893902454, -0.5534446724220495, -0.5021395923844388, 0.5139441887103136]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.021268573686443606, 0.024774237164421335, -0.3057203971540149, -0.9515613084348569]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.7264452778402825, -0.06307246428220294, -0.667017211813705, -0.15292861634499988]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.23746818259636918, 0.6362552151914914, 0.7106717442450251, -0.18366773077418935]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
||||
- constituents:
|
||||
- O: [0.24869738401636882, 0.6772930680861174, -0.5511240766607762, 0.4191490942740014]
|
||||
fraction: 1.0
|
||||
phase: Aluminum
|
||||
homogenization: SX
|
Binary file not shown.
|
@ -1,262 +0,0 @@
|
|||
5 header
|
||||
grid a 16 b 16 c 16
|
||||
size x 1.000000 y 1.000000 z 1.000000
|
||||
origin x 0.000000 y 0.000000 z 0.000000
|
||||
microstructures 20
|
||||
homogenization 1
|
||||
2 2 2 4 4 4 4 1 1 15 15 15 15 15 19 19
|
||||
19 4 4 4 4 4 1 1 1 15 15 15 15 15 15 19
|
||||
8 8 4 4 4 1 1 1 1 15 15 15 15 15 15 3
|
||||
13 8 4 4 1 1 1 1 9 15 15 15 3 3 3 3
|
||||
13 13 13 13 1 1 1 9 9 9 3 3 3 3 3 3
|
||||
13 13 13 13 13 1 1 9 9 3 3 3 3 3 3 3
|
||||
13 13 13 13 13 13 9 9 9 3 3 3 3 3 3 10
|
||||
10 13 13 13 13 13 9 9 9 3 3 3 3 3 10 10
|
||||
10 10 13 13 13 13 17 17 3 3 3 3 10 10 10 10
|
||||
10 10 10 13 2 17 17 17 17 7 7 7 7 10 10 10
|
||||
10 10 2 2 2 2 17 17 17 7 7 7 7 7 10 10
|
||||
10 2 2 2 2 2 17 17 17 7 7 7 7 7 7 10
|
||||
2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7
|
||||
2 2 2 2 2 2 2 17 17 7 7 7 7 7 7 7
|
||||
2 2 2 2 2 2 2 4 17 7 7 7 7 7 7 19
|
||||
2 2 2 2 2 4 4 4 1 15 15 15 7 19 19 19
|
||||
8 8 8 8 4 4 4 1 9 15 15 15 15 15 19 19
|
||||
8 8 8 8 4 4 1 1 9 9 15 15 15 15 15 8
|
||||
8 8 8 8 8 1 1 9 9 9 9 15 15 15 3 8
|
||||
8 8 8 8 8 1 9 9 9 9 9 3 3 3 3 13
|
||||
13 13 13 13 8 1 9 9 9 9 9 3 3 3 3 13
|
||||
13 13 13 13 13 9 9 9 9 9 9 3 3 3 3 13
|
||||
13 13 13 13 13 13 9 9 9 9 3 3 3 3 3 13
|
||||
13 13 13 13 13 13 9 9 9 9 3 3 3 3 10 10
|
||||
10 13 13 13 13 13 17 17 9 9 3 7 7 10 10 10
|
||||
10 10 13 13 13 17 17 17 17 17 7 7 7 7 10 10
|
||||
10 10 2 2 17 17 17 17 17 17 7 7 7 7 7 10
|
||||
10 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7
|
||||
2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7
|
||||
2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7
|
||||
2 2 2 2 2 2 17 17 17 17 7 7 7 7 7 7
|
||||
2 2 2 2 2 2 4 4 17 15 15 7 7 7 7 19
|
||||
8 8 8 8 8 8 8 9 9 9 9 15 15 15 8 8
|
||||
8 8 8 8 8 8 9 9 9 9 9 9 15 15 8 8
|
||||
8 8 8 8 8 8 9 9 9 9 9 9 9 3 8 8
|
||||
8 8 8 8 8 8 9 9 9 9 9 9 9 3 3 8
|
||||
13 13 13 8 8 9 9 9 9 9 9 9 3 3 13 13
|
||||
13 13 13 13 13 9 9 9 9 9 9 9 3 3 13 13
|
||||
13 13 13 13 13 13 9 9 9 9 9 9 3 3 13 13
|
||||
13 13 13 13 13 13 9 9 9 9 9 3 3 3 13 13
|
||||
13 13 13 13 13 17 17 17 17 9 9 7 7 10 10 13
|
||||
13 13 13 13 17 17 17 17 17 17 7 7 7 7 10 10
|
||||
10 13 13 17 17 17 17 17 17 17 7 7 7 7 7 10
|
||||
10 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7
|
||||
2 2 2 2 17 17 17 17 17 17 7 7 7 7 7 7
|
||||
2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7
|
||||
2 2 2 2 2 17 17 17 17 17 7 7 7 7 7 7
|
||||
8 8 8 8 8 8 17 17 17 17 7 7 7 7 7 8
|
||||
8 8 8 8 8 8 8 9 9 9 9 9 9 7 8 8
|
||||
8 8 8 8 8 8 8 9 9 9 9 9 9 9 8 8
|
||||
8 8 8 8 8 8 9 9 9 9 9 9 9 9 8 8
|
||||
8 8 8 8 8 8 9 9 9 9 9 9 9 9 8 8
|
||||
13 13 8 8 8 8 9 9 9 9 9 9 9 9 13 13
|
||||
13 13 13 13 13 9 9 9 9 9 9 9 9 3 13 13
|
||||
13 13 13 13 13 13 9 9 9 9 9 9 9 13 13 13
|
||||
13 13 13 13 13 13 9 9 9 9 9 9 9 13 13 13
|
||||
13 13 13 13 13 17 17 17 17 9 9 12 12 12 13 13
|
||||
13 13 13 13 17 17 17 17 17 17 17 7 7 7 7 13
|
||||
13 13 13 17 17 17 17 17 17 17 17 7 7 7 7 7
|
||||
7 13 17 17 17 17 17 17 17 17 17 7 7 7 7 7
|
||||
7 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7
|
||||
2 2 2 17 17 17 17 17 17 17 17 7 7 7 7 7
|
||||
8 8 8 8 17 17 17 17 17 17 17 7 7 7 7 7
|
||||
8 8 8 8 8 8 17 17 17 17 17 7 7 7 7 8
|
||||
8 8 8 8 8 8 8 9 9 9 9 9 9 8 8 8
|
||||
8 8 8 8 8 8 8 9 9 9 9 9 9 9 8 8
|
||||
8 8 8 8 8 8 9 9 9 9 9 9 9 9 8 8
|
||||
8 8 8 8 8 8 9 9 9 9 9 9 9 9 8 8
|
||||
13 8 8 8 8 8 9 9 9 9 9 9 9 9 13 13
|
||||
13 13 13 13 13 9 9 9 9 9 9 9 9 9 13 13
|
||||
13 13 13 13 13 13 9 9 9 9 9 9 9 13 13 13
|
||||
13 13 13 13 13 13 20 9 9 9 9 9 12 12 13 13
|
||||
13 13 13 13 13 17 17 17 17 17 12 12 12 12 12 13
|
||||
13 13 13 13 17 17 17 17 17 17 12 12 12 12 12 12
|
||||
13 13 13 17 17 17 17 17 17 17 17 12 12 12 12 12
|
||||
12 13 17 17 17 17 17 17 17 17 17 12 12 12 12 12
|
||||
12 2 17 17 17 17 17 17 17 17 17 12 12 12 12 12
|
||||
12 8 17 17 17 17 17 17 17 17 17 12 12 12 12 12
|
||||
8 8 8 8 17 17 17 17 17 17 17 12 12 12 12 8
|
||||
8 8 8 8 8 8 17 17 17 17 17 9 12 12 8 8
|
||||
8 8 8 8 8 8 8 9 9 9 14 6 6 6 8 8
|
||||
8 8 8 8 8 8 8 9 9 9 9 14 6 6 8 8
|
||||
8 8 8 8 8 8 8 9 9 9 9 9 14 11 8 8
|
||||
8 8 8 8 8 8 9 9 9 9 9 9 9 11 11 8
|
||||
8 8 8 8 8 8 9 9 9 9 9 9 9 11 11 11
|
||||
13 13 13 13 8 20 20 9 9 9 9 9 9 11 11 13
|
||||
13 13 13 13 13 20 20 20 9 9 9 9 12 11 11 13
|
||||
13 13 13 13 13 20 20 20 20 9 9 12 12 12 12 13
|
||||
13 13 13 13 13 17 17 17 17 17 12 12 12 12 12 12
|
||||
13 13 13 13 17 17 17 17 17 17 12 12 12 12 12 12
|
||||
12 13 13 17 17 17 17 17 17 17 12 12 12 12 12 12
|
||||
12 12 17 17 17 17 17 17 17 17 12 12 12 12 12 12
|
||||
12 12 17 17 17 17 17 17 17 17 12 12 12 12 12 12
|
||||
12 8 17 17 17 17 17 17 17 17 17 12 12 12 12 12
|
||||
8 8 8 8 17 17 17 17 17 17 17 12 12 12 12 12
|
||||
8 8 8 8 8 8 17 17 17 17 6 6 6 6 12 8
|
||||
8 8 8 8 8 8 18 18 18 14 6 6 6 6 6 8
|
||||
8 8 8 8 8 8 18 18 14 14 14 14 6 6 6 8
|
||||
8 8 8 8 8 8 18 14 14 14 14 14 14 11 11 8
|
||||
8 8 8 8 8 8 20 20 14 14 14 14 14 11 11 11
|
||||
11 8 8 8 8 20 20 20 20 14 14 14 14 11 11 11
|
||||
11 13 13 8 20 20 20 20 20 20 14 14 11 11 11 11
|
||||
11 13 13 13 20 20 20 20 20 20 20 14 11 11 11 11
|
||||
11 13 13 13 20 20 20 20 20 20 20 12 12 12 11 11
|
||||
13 13 13 13 20 20 20 20 20 20 12 12 12 12 12 12
|
||||
12 13 13 13 17 17 17 17 17 12 12 12 12 12 12 12
|
||||
12 12 13 17 17 17 17 17 17 17 12 12 12 12 12 12
|
||||
12 12 17 17 17 17 17 17 17 17 12 12 12 12 12 12
|
||||
12 12 17 17 17 17 17 17 17 17 12 12 12 12 12 12
|
||||
12 12 17 17 17 17 17 17 17 17 12 12 12 12 12 12
|
||||
8 8 8 8 17 17 17 17 17 17 6 12 12 12 12 12
|
||||
8 8 8 8 8 18 18 18 18 6 6 6 6 6 6 8
|
||||
8 8 8 8 18 18 18 18 18 14 6 6 6 6 6 6
|
||||
8 8 8 8 18 18 18 18 14 14 14 6 6 6 6 11
|
||||
11 8 8 8 8 18 18 18 14 14 14 14 14 6 11 11
|
||||
11 8 8 8 8 20 20 14 14 14 14 14 14 11 11 11
|
||||
11 11 8 8 20 20 20 20 14 14 14 14 14 11 11 11
|
||||
11 11 11 20 20 20 20 20 20 14 14 14 11 11 11 11
|
||||
11 11 11 20 20 20 20 20 20 20 14 14 11 11 11 11
|
||||
11 11 11 20 20 20 20 20 20 20 20 12 12 11 11 11
|
||||
11 11 13 20 20 20 20 20 20 20 12 12 12 12 12 12
|
||||
12 12 13 20 20 20 20 20 20 12 12 12 12 12 12 12
|
||||
12 12 12 17 17 17 17 17 17 12 12 12 12 12 12 12
|
||||
12 12 17 17 17 17 17 17 17 12 12 12 12 12 12 12
|
||||
12 12 17 17 17 17 17 17 17 12 12 12 12 12 12 12
|
||||
12 12 17 17 17 17 17 17 17 17 12 12 12 12 12 12
|
||||
12 8 8 8 18 18 18 18 18 6 6 6 6 6 12 12
|
||||
8 8 8 8 18 18 18 18 18 6 6 6 6 6 6 6
|
||||
6 8 8 18 18 18 18 18 18 6 6 6 6 6 6 6
|
||||
11 8 8 18 18 18 18 18 18 14 14 6 6 6 6 6
|
||||
11 11 8 18 18 18 18 18 14 14 14 14 6 6 11 11
|
||||
11 11 11 18 18 18 18 14 14 14 14 14 14 11 11 11
|
||||
11 11 11 20 20 20 20 20 14 14 14 14 14 11 11 11
|
||||
11 11 11 20 20 20 20 20 20 14 14 14 11 11 11 11
|
||||
11 11 11 20 20 20 20 20 20 20 14 14 11 11 11 11
|
||||
11 11 11 20 20 20 20 20 20 20 5 12 11 11 11 11
|
||||
11 11 11 20 20 20 20 20 20 5 5 12 12 12 12 11
|
||||
12 11 11 20 20 20 20 20 5 5 12 12 12 12 12 12
|
||||
12 12 12 20 20 20 20 5 5 5 12 12 12 12 12 12
|
||||
12 12 12 17 17 17 17 17 5 12 12 12 12 12 12 12
|
||||
12 12 12 17 17 17 17 17 17 12 12 12 12 12 12 12
|
||||
12 19 19 18 18 18 18 18 18 6 6 12 12 12 12 12
|
||||
19 19 18 18 18 18 18 18 18 6 6 6 6 6 6 6
|
||||
6 19 18 18 18 18 18 18 18 6 6 6 6 6 6 6
|
||||
19 19 18 18 18 18 18 18 18 6 6 6 6 6 6 6
|
||||
11 11 18 18 18 18 18 18 18 14 6 6 6 6 6 6
|
||||
11 11 18 18 18 18 18 18 14 14 14 14 6 6 11 11
|
||||
11 11 11 18 18 18 18 18 14 14 14 14 14 11 11 11
|
||||
11 11 11 20 20 20 20 20 14 14 14 14 14 11 11 11
|
||||
11 11 11 20 20 20 20 20 20 14 14 14 11 11 11 11
|
||||
11 11 11 20 20 20 20 20 20 5 14 14 11 11 11 11
|
||||
11 11 11 20 20 20 20 20 5 5 5 5 11 11 11 11
|
||||
11 11 11 20 20 20 20 5 5 5 5 5 12 12 11 11
|
||||
11 11 11 20 20 20 5 5 5 5 5 12 12 12 12 12
|
||||
12 12 12 20 20 5 5 5 5 5 5 12 12 12 12 12
|
||||
12 12 19 2 5 5 5 5 5 5 12 12 12 12 12 12
|
||||
19 19 19 2 18 18 5 5 5 5 12 12 12 12 12 12
|
||||
19 19 19 18 18 18 18 18 18 6 6 6 6 6 19 19
|
||||
19 19 19 18 18 18 18 18 18 6 6 6 6 6 6 19
|
||||
19 19 18 18 18 18 18 18 18 6 6 6 6 6 6 6
|
||||
19 19 18 18 18 18 18 18 18 6 6 6 6 6 6 19
|
||||
19 19 18 18 18 18 18 18 18 16 6 6 6 6 6 6
|
||||
11 11 18 18 18 18 18 18 18 14 14 6 6 6 6 11
|
||||
11 11 11 18 18 18 18 18 14 14 14 14 14 11 11 11
|
||||
11 11 11 18 18 18 18 14 14 14 14 14 14 11 11 11
|
||||
11 11 11 20 20 20 20 20 14 14 14 14 11 11 11 11
|
||||
11 11 11 20 20 20 20 20 5 5 5 5 11 11 11 11
|
||||
11 11 11 20 20 20 20 5 5 5 5 5 11 11 11 11
|
||||
11 11 11 20 20 20 5 5 5 5 5 5 5 11 11 11
|
||||
11 11 11 20 20 5 5 5 5 5 5 5 12 12 12 11
|
||||
12 10 2 2 5 5 5 5 5 5 5 5 12 12 12 12
|
||||
19 19 2 2 2 5 5 5 5 5 5 12 12 12 12 19
|
||||
19 19 2 2 2 5 5 5 5 5 5 12 12 19 19 19
|
||||
19 19 19 2 18 18 18 18 18 6 6 6 6 19 19 19
|
||||
19 19 19 18 18 18 18 18 18 6 6 6 6 6 19 19
|
||||
19 19 19 18 18 18 18 18 18 6 6 6 6 6 6 19
|
||||
19 19 4 4 18 18 18 18 18 16 6 6 6 6 19 19
|
||||
19 19 4 4 18 18 18 18 18 16 16 6 6 6 6 19
|
||||
11 4 4 4 18 18 18 18 16 16 16 16 6 6 6 11
|
||||
11 11 4 4 1 18 18 18 16 16 16 16 16 11 11 11
|
||||
11 11 11 1 1 1 18 18 16 16 16 16 16 11 11 11
|
||||
11 11 11 1 20 20 20 5 5 14 14 14 11 11 11 11
|
||||
11 11 11 20 20 20 5 5 5 5 5 5 11 11 11 11
|
||||
11 11 11 20 20 5 5 5 5 5 5 5 5 11 11 11
|
||||
11 11 11 20 5 5 5 5 5 5 5 5 5 11 11 11
|
||||
10 10 10 2 5 5 5 5 5 5 5 5 5 10 10 10
|
||||
10 10 2 2 5 5 5 5 5 5 5 5 5 10 10 10
|
||||
19 19 2 2 2 5 5 5 5 5 5 5 19 19 19 19
|
||||
19 19 2 2 2 2 5 5 5 5 5 6 19 19 19 19
|
||||
19 19 2 2 2 2 18 18 18 6 6 6 19 19 19 19
|
||||
19 19 2 2 2 18 18 18 18 6 6 6 6 19 19 19
|
||||
19 19 19 4 18 18 18 18 18 6 6 6 6 6 19 19
|
||||
19 19 4 4 4 4 18 18 16 16 16 6 6 19 19 19
|
||||
19 19 4 4 4 4 1 18 16 16 16 16 6 6 19 19
|
||||
19 4 4 4 4 1 1 1 16 16 16 16 15 15 6 19
|
||||
11 4 4 4 1 1 1 1 16 16 16 16 15 15 11 11
|
||||
11 11 4 1 1 1 1 1 16 16 16 16 15 3 11 11
|
||||
11 11 11 1 1 1 1 5 16 16 16 3 3 3 11 11
|
||||
11 11 11 1 1 5 5 5 5 5 5 3 3 3 11 11
|
||||
10 10 10 20 5 5 5 5 5 5 5 5 3 3 10 10
|
||||
10 10 10 10 5 5 5 5 5 5 5 5 5 10 10 10
|
||||
10 10 10 2 5 5 5 5 5 5 5 5 10 10 10 10
|
||||
10 10 2 2 2 5 5 5 5 5 5 5 10 10 10 10
|
||||
19 2 2 2 2 2 5 5 5 5 5 5 7 19 19 19
|
||||
19 2 2 2 2 2 2 5 5 5 5 7 19 19 19 19
|
||||
19 19 2 2 2 2 2 18 18 6 6 19 19 19 19 19
|
||||
19 19 2 2 2 4 18 18 18 6 6 6 19 19 19 19
|
||||
19 19 2 4 4 4 18 18 18 16 6 6 6 19 19 19
|
||||
19 19 4 4 4 4 4 1 16 16 15 15 15 19 19 19
|
||||
19 4 4 4 4 4 1 1 16 16 15 15 15 15 19 19
|
||||
19 4 4 4 4 1 1 1 16 16 15 15 15 15 15 19
|
||||
4 4 4 4 1 1 1 1 16 16 15 15 15 15 15 3
|
||||
11 4 4 1 1 1 1 1 16 16 15 15 3 3 3 3
|
||||
11 11 1 1 1 1 1 1 16 3 3 3 3 3 3 3
|
||||
10 10 10 1 1 1 5 5 5 5 3 3 3 3 3 10
|
||||
10 10 10 10 5 5 5 5 5 5 5 3 3 3 10 10
|
||||
10 10 10 10 5 5 5 5 5 5 5 5 10 10 10 10
|
||||
10 10 10 2 2 5 5 5 5 5 5 5 10 10 10 10
|
||||
10 10 2 2 2 2 5 5 5 5 5 7 7 10 10 10
|
||||
10 2 2 2 2 2 2 5 5 5 7 7 7 7 10 10
|
||||
19 2 2 2 2 2 2 5 5 5 7 7 7 19 19 19
|
||||
19 2 2 2 2 2 2 2 5 7 7 7 19 19 19 19
|
||||
19 2 2 2 2 2 4 4 16 16 6 19 19 19 19 19
|
||||
19 19 2 2 4 4 4 4 16 16 15 15 19 19 19 19
|
||||
19 2 4 4 4 4 4 1 1 15 15 15 15 19 19 19
|
||||
19 4 4 4 4 4 1 1 1 15 15 15 15 15 19 19
|
||||
19 4 4 4 4 1 1 1 1 15 15 15 15 15 15 19
|
||||
4 4 4 4 1 1 1 1 1 15 15 15 15 15 3 3
|
||||
3 4 4 1 1 1 1 1 1 15 15 3 3 3 3 3
|
||||
10 10 1 1 1 1 1 1 3 3 3 3 3 3 3 3
|
||||
10 10 10 1 1 1 1 5 3 3 3 3 3 3 3 10
|
||||
10 10 10 10 1 5 5 5 5 3 3 3 3 3 10 10
|
||||
10 10 10 10 2 5 5 5 5 5 3 3 10 10 10 10
|
||||
10 10 10 2 2 2 5 5 5 5 5 7 10 10 10 10
|
||||
10 10 2 2 2 2 5 5 5 5 7 7 7 10 10 10
|
||||
10 2 2 2 2 2 2 5 5 7 7 7 7 7 10 10
|
||||
2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 19
|
||||
19 2 2 2 2 2 2 2 7 7 7 7 7 19 19 19
|
||||
19 2 2 2 2 2 4 4 4 15 15 7 19 19 19 19
|
||||
19 2 2 2 4 4 4 4 1 15 15 15 19 19 19 19
|
||||
19 2 2 4 4 4 4 1 1 15 15 15 15 19 19 19
|
||||
19 4 4 4 4 4 1 1 1 15 15 15 15 15 19 19
|
||||
19 4 4 4 4 1 1 1 1 15 15 15 15 15 15 19
|
||||
3 4 4 4 1 1 1 1 1 15 15 15 15 3 3 3
|
||||
13 13 4 1 1 1 1 1 1 15 3 3 3 3 3 3
|
||||
13 13 13 1 1 1 1 1 3 3 3 3 3 3 3 3
|
||||
10 13 13 13 1 1 1 1 3 3 3 3 3 3 3 10
|
||||
10 10 13 13 13 1 5 5 3 3 3 3 3 3 10 10
|
||||
10 10 10 13 13 13 5 5 5 3 3 3 10 10 10 10
|
||||
10 10 10 2 2 2 5 5 5 7 7 7 7 10 10 10
|
||||
10 10 2 2 2 2 2 5 5 7 7 7 7 7 10 10
|
||||
10 2 2 2 2 2 2 17 7 7 7 7 7 7 7 10
|
||||
2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 7
|
||||
2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 19
|
||||
2 2 2 2 2 2 2 4 4 15 7 7 7 19 19 19
|
||||
19 2 2 2 2 4 4 4 1 15 15 15 19 19 19 19
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0"?>
|
||||
<VTKFile type="RectilinearGrid" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompressor">
|
||||
<RectilinearGrid WholeExtent="0 16 0 16 0 16">
|
||||
<FieldData>
|
||||
<Array type="String" Name="comments" NumberOfTuples="2" format="binary">
|
||||
AQAAAACAAAAkAAAALAAAAA==eF7LzUwuyi8uKSpNLiktSi1WMDJgyMjPzU9PzcusSizJzM/jNGQAAASkDSY=
|
||||
</Array>
|
||||
</FieldData>
|
||||
<Piece Extent="0 16 0 16 0 16">
|
||||
<PointData>
|
||||
</PointData>
|
||||
<CellData>
|
||||
<DataArray type="Int64" Name="material" format="binary" RangeMin="0" RangeMax="19">
|
||||
AQAAAACAAAAAAAAADwYAAA==eF7t3LuSXUUMBVAM5mXM0///rwSMAlSlWpK6zx1TRSe7SLTkYLSHYM6Hb/55H1J+h8zvt2b+VaS8yo0nt9rjx5RTN568nN++5ee3rHy9n95STpWfkdX7qUh5U7/a49Sd+pG3/t0/p5R7y8/udI8/Up562iPuUXZz/oCUF5nvYM6trz3k3vLzHvK6e8irUs7X6sd93vrRP3KyV/VDdf+zlzP337QP1T/q/6mfX76D8iPl5syvusPaI+6ivMqX2+0D3fn8e0k8ubd99d6r/O4ect/bV98q892t/G7vdfdQ/3fvsHz1jFJ+tYfuv9ypP+0/uU/73T3k/df93IfhVr1fZbd/q9QdutW7U1d7aL5Snu6y5ivlyM97qPdvu+qXbe897W/3eC//9u8dunvZV9/J67rT+9v9vUPO1q/22PbN1u/2j7yn/eke8r42X/c+5y1fjlL3p7oHmttNeVVqrlLzlZqv1Hxlnpfv3tO+7v1p71V52n+ne2huN+U85evuZO+XIuVM3e0dfMrt+tU+mttNeepBzVfKq9xX+7p3cp72t/vcdk97QPOmKe+pPTRfqflKzVfmeXF35N7ydXdv994t/3QPze3ml7eUF3nav9Neqnp/u4e8ra895CjlVntobjfl5bzVu1s/7ovmdlNedquUs/Xlnu5T/fxrfjere/PrW35fpOZ2U3ev2kNzuyk/7/HpLTVXKa/KTynlPO1H6v6H+yWlPPlyq96d7hE/d0/51R66P/K2fSh3uoe8U7/aQ85tP1LzlZqv1Hyl5lcZP+ea30152a1SztP+dJ+qdyO3buSfRar3b/Vw5Vb5lC83563+zXdfbuVP91H/nPrd3ldOXfWxPO0h9ym/ujddd+vr3lV52v+a382pe3sPzVdqvlLzlZqv1Hyl5ufU3ZOXM/esUn7VeznVt9v+k7vt/+4eXbfb+5HT/pv61T63+lfetgflbveQm1Nudw85t/xqDzm3/aqH5UVue79yp7n1NXeauvOnvXPL/d//d2p+ldO7v+3frvuU3+1hebf8qnfkqYfl6vcAed3+l1flqXvaQ7q3Vd+92tcecm751R5ybvsf3zLui5xb/seUurfhVHvK27rdnLq3ffVc5G136p/2bmT+u3DdP/WPvFvuaf9Fvpf/3v/+/HMvp8pp79/y1XvyqpTb9bc9pPtX9d2rfe0h55Yfd/jVftVDkXK2vtyql+TKl3erD7fuqZ+/CyPn1K2+CxN+vjev8nX3tv1Tea/ytYecW361h5xb/u1//+9vKVd9LKdK9b7c7R7q3W0P3XK3vvpHvb91p77uoZytL/cpX96tPW65Ve+EE/9d/R2+5iun/Vf9PZycU/dpX33b/f1j2z/yTntI/nQPeVtfe+TvC8mN7Pav/t2n/nSPuAPVdw6nbneP6u5V3zvc+pG6tzmr92q/20Ov6n/dvZxyur4cpbzK19xuVo6+w6e53dR3/57qf/lP9W+k7m3Xn+7RvfdTf9p/8rq+eqDbN93s9k/X7+6h7+937//U7frx5E/36Lr5yc/fH5z+/qE39XX3u268rh/f35EfqRd3pnKr79/JrXzdu5xdv+qFW/3b/f5vlZrfTTlP9b8c9f/pHvLUO6d7xPdedHflTvfouts91H9ypr76eNu3ld/t39yDp3uoB3M/qG+q7/6fuvG6vvaYuvGmft5j68bb+rmPpm48+foevXpXT32vrO5y9XT35Mm91b+n7qnf7b9uD8u55at35OX+izx1u3vou2/ZVe/d8nX/5WmPrTv1852s/n9TXncP9YPur7zsyqv6QX0jX556Sb722Lrx5D7V//HkqY+3bryuoz6aPs1XVvdYTz2rVB/kPdQ38qZu7iX51R6aL7fbO1UPyem6Xb/bu1NXe6j3qz3kKOV1e1nOqa/+kRNZ3el8/7qu/G4/qGeUWzeeeke+PPWSfO2xdePJrfao+rfrxpNX9UH+3srUjSen60d2n+Yr4w5u99B8uTm1h/pWqR7SHt3en3rdXpr2brd/5WoP+dpDXs74uzt52kOOUo5S85War98HNL/Kqv/ldftX3q3+/xuyB5fk
|
||||
</DataArray>
|
||||
</CellData>
|
||||
<Coordinates>
|
||||
<DataArray type="Float64" Name="x" format="binary" RangeMin="0" RangeMax="1">
|
||||
AQAAAACAAACIAAAAOAAAAA==eF5jYEAGG+wh9AEofQJKX4DSV6D0DSh9B0o/gNKPoPQTKP0MSr+A0q+g9Bso/Q5Kf7AHAB2kEak=
|
||||
</DataArray>
|
||||
<DataArray type="Float64" Name="y" format="binary" RangeMin="0" RangeMax="1">
|
||||
AQAAAACAAACIAAAAOAAAAA==eF5jYEAGG+wh9AEofQJKX4DSV6D0DSh9B0o/gNKPoPQTKP0MSr+A0q+g9Bso/Q5Kf7AHAB2kEak=
|
||||
</DataArray>
|
||||
<DataArray type="Float64" Name="z" format="binary" RangeMin="0" RangeMax="1">
|
||||
AQAAAACAAACIAAAAOAAAAA==eF5jYEAGG+wh9AEofQJKX4DSV6D0DSh9B0o/gNKPoPQTKP0MSr+A0q+g9Bso/Q5Kf7AHAB2kEak=
|
||||
</DataArray>
|
||||
</Coordinates>
|
||||
</Piece>
|
||||
</RectilinearGrid>
|
||||
</VTKFile>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -1,126 +0,0 @@
|
|||
#-------------------#
|
||||
<homogenization>
|
||||
#-------------------#
|
||||
|
||||
[SX]
|
||||
mech none
|
||||
|
||||
#-------------------#
|
||||
<phase>
|
||||
#-------------------#
|
||||
[Aluminum_phenopowerlaw]
|
||||
elasticity hooke
|
||||
plasticity phenopowerlaw
|
||||
|
||||
(output) resistance_slip
|
||||
(output) orientation # quaternion
|
||||
(output) F # deformation gradient tensor
|
||||
(output) Fe # elastic deformation gradient tensor
|
||||
(output) Fp # plastic deformation gradient tensor
|
||||
(output) P # first Piola-Kichhoff stress tensor
|
||||
(output) Lp # plastic velocity gradient tensor
|
||||
|
||||
|
||||
lattice_structure fcc
|
||||
Nslip 12 # per family
|
||||
|
||||
c11 106.75e9
|
||||
c12 60.41e9
|
||||
c44 28.34e9
|
||||
|
||||
gdot0_slip 0.001
|
||||
n_slip 20
|
||||
tau0_slip 31e6 # per family
|
||||
tausat_slip 63e6 # per family
|
||||
a_slip 2.25
|
||||
h0_slipslip 75e6
|
||||
interaction_slipslip 1 1 1.4 1.4 1.4 1.4
|
||||
|
||||
#-------------------#
|
||||
<microstructure>
|
||||
#-------------------#
|
||||
[Grain01]
|
||||
(constituent) phase 1 texture 01 fraction 1.0
|
||||
[Grain02]
|
||||
(constituent) phase 1 texture 02 fraction 1.0
|
||||
[Grain03]
|
||||
(constituent) phase 1 texture 03 fraction 1.0
|
||||
[Grain04]
|
||||
(constituent) phase 1 texture 04 fraction 1.0
|
||||
[Grain05]
|
||||
(constituent) phase 1 texture 05 fraction 1.0
|
||||
[Grain06]
|
||||
(constituent) phase 1 texture 06 fraction 1.0
|
||||
[Grain07]
|
||||
(constituent) phase 1 texture 07 fraction 1.0
|
||||
[Grain08]
|
||||
(constituent) phase 1 texture 08 fraction 1.0
|
||||
[Grain09]
|
||||
(constituent) phase 1 texture 09 fraction 1.0
|
||||
[Grain10]
|
||||
(constituent) phase 1 texture 10 fraction 1.0
|
||||
[Grain11]
|
||||
(constituent) phase 1 texture 11 fraction 1.0
|
||||
[Grain12]
|
||||
(constituent) phase 1 texture 12 fraction 1.0
|
||||
[Grain13]
|
||||
(constituent) phase 1 texture 13 fraction 1.0
|
||||
[Grain14]
|
||||
(constituent) phase 1 texture 14 fraction 1.0
|
||||
[Grain15]
|
||||
(constituent) phase 1 texture 15 fraction 1.0
|
||||
[Grain16]
|
||||
(constituent) phase 1 texture 16 fraction 1.0
|
||||
[Grain17]
|
||||
(constituent) phase 1 texture 17 fraction 1.0
|
||||
[Grain18]
|
||||
(constituent) phase 1 texture 18 fraction 1.0
|
||||
[Grain19]
|
||||
(constituent) phase 1 texture 19 fraction 1.0
|
||||
[Grain20]
|
||||
(constituent) phase 1 texture 20 fraction 1.0
|
||||
|
||||
|
||||
#-------------------#
|
||||
<texture>
|
||||
#-------------------#
|
||||
[Grain01]
|
||||
(gauss) phi1 0.0 Phi 0.0 phi2 0.0
|
||||
[Grain02]
|
||||
(gauss) phi1 257.468172 Phi 53.250534 phi2 157.331503
|
||||
[Grain03]
|
||||
(gauss) phi1 216.994815 Phi 94.418518 phi2 251.147231
|
||||
[Grain04]
|
||||
(gauss) phi1 196.157946 Phi 55.870978 phi2 21.68117
|
||||
[Grain05]
|
||||
(gauss) phi1 152.515728 Phi 139.769395 phi2 240.036018
|
||||
[Grain06]
|
||||
(gauss) phi1 232.521881 Phi 73.749222 phi2 241.429633
|
||||
[Grain07]
|
||||
(gauss) phi1 157.531396 Phi 135.503513 phi2 75.737722
|
||||
[Grain08]
|
||||
(gauss) phi1 321.03828 Phi 27.209843 phi2 46.413467
|
||||
[Grain09]
|
||||
(gauss) phi1 346.918594 Phi 87.495569 phi2 113.554206
|
||||
[Grain10]
|
||||
(gauss) phi1 138.038947 Phi 99.827132 phi2 130.935878
|
||||
[Grain11]
|
||||
(gauss) phi1 285.021014 Phi 118.092004 phi2 205.270837
|
||||
[Grain12]
|
||||
(gauss) phi1 190.402171 Phi 56.738068 phi2 157.896545
|
||||
[Grain13]
|
||||
(gauss) phi1 204.496042 Phi 95.031265 phi2 355.814582
|
||||
[Grain14]
|
||||
(gauss) phi1 333.21479 Phi 82.133355 phi2 36.736132
|
||||
[Grain15]
|
||||
(gauss) phi1 25.572981 Phi 164.242648 phi2 75.195632
|
||||
[Grain16]
|
||||
(gauss) phi1 31.366548 Phi 76.392403 phi2 58.071426
|
||||
[Grain17]
|
||||
(gauss) phi1 7.278623 Phi 77.044663 phi2 235.118997
|
||||
[Grain18]
|
||||
(gauss) phi1 299.743144 Phi 76.475096 phi2 91.184977
|
||||
[Grain19]
|
||||
(gauss) phi1 280.13643 Phi 27.439718 phi2 167.871878
|
||||
[Grain20]
|
||||
(gauss) phi1 313.204373 Phi 68.676053 phi2 87.993213
|
|
@ -0,0 +1,126 @@
|
|||
---
|
||||
homogenization:
|
||||
SX:
|
||||
N_constituents: 1
|
||||
mech: {type: none}
|
||||
|
||||
material:
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [1.0, 0.0, 0.0, 0.0]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.7936696712125002, -0.28765777461664166, -0.3436487135089419, 0.4113964260949434]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.3986143167493579, -0.7014883552495493, 0.2154871765709027, 0.5500781677772945]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.28645844315788244, -0.022571491243423537, -0.467933059311115, -0.8357456192708106]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.33012772942625784, -0.6781865350268957, 0.6494525351030648, 0.09638521992649676]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.43596817439583935, -0.5982537129781701, 0.046599032277502436, 0.6707106499919265]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.169734823419553, -0.699615227367322, -0.6059581215838098, -0.33844257746495854]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.9698864809294915, 0.1729052643205874, -0.15948307917616958, 0.06315956884687175]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.46205660912967883, 0.3105054068891252, -0.617849551030653, 0.555294529545738]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.4512443497461787, -0.7636045534540555, -0.04739348426715133, -0.45939142396805815]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.2161856212656443, -0.6581450184826598, -0.5498086209601588, 0.4667112513346289]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.8753220715350803, -0.4561599367657419, -0.13298279533852678, -0.08969369719975541]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.11908260752431069, 0.18266024809834172, -0.7144822594012615, -0.664807992845101]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.751104669484278, 0.5585633382623958, -0.34579336397009175, 0.06538900566860861]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.08740438971703973, 0.8991264096610437, -0.4156704205935976, 0.10559485570696363]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.5584325870096193, 0.6016408353068798, -0.14280340445801173, 0.5529814994483859]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.4052725440888093, 0.25253073423599154, 0.5693263597910454, -0.669215876471182]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.7570164606888676, 0.15265448024694664, -0.5998021466848317, 0.20942796551297105]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.6987659297138081, -0.132172211261028, -0.19693254724422338, 0.6748883269678543]
|
||||
- homogenization: SX
|
||||
constituents:
|
||||
- phase: Aluminum
|
||||
fraction: 1.0
|
||||
O: [0.7729330445886478, 0.21682179052722322, -0.5207379472917645, 0.2905078484066341]
|
||||
|
||||
phase:
|
||||
Aluminum:
|
||||
elasticity: {C_11: 106.75e9, C_12: 60.41e9, C_44: 28.34e9, type: hooke}
|
||||
generic:
|
||||
output: [F, P, F_e, F_p, L_p, O]
|
||||
lattice: fcc
|
||||
plasticity:
|
||||
N_sl: [12]
|
||||
a_sl: 2.25
|
||||
atol_xi: 1.0
|
||||
dot_gamma_0_sl: 0.001
|
||||
h_0_sl_sl: 75e6
|
||||
h_sl_sl: [1, 1, 1.4, 1.4, 1.4, 1.4]
|
||||
n_sl: 20
|
||||
output: [xi_sl]
|
||||
type: phenopowerlaw
|
||||
xi_0_sl: [31e6]
|
||||
xi_inf_sl: [63e6]
|
|
@ -1,2 +0,0 @@
|
|||
itmin 4
|
||||
itmax 40
|
|
@ -0,0 +1,3 @@
|
|||
grid:
|
||||
itmin: 4
|
||||
itmax: 40
|
|
@ -1 +0,0 @@
|
|||
fdot 0 0 0 1e-3 0 0 0 0 0 stress * * * * * * * * * time 60 incs 120 freq 20
|
|
@ -0,0 +1,9 @@
|
|||
step:
|
||||
- mech:
|
||||
dot_F: [0, 0, 0,
|
||||
1e-3, 0, 0,
|
||||
0, 0, 0]
|
||||
discretization:
|
||||
t: 60
|
||||
N: 120
|
||||
f_out: 20
|
|
@ -1 +0,0 @@
|
|||
fdot 0 0 1.0e-3 0 0 0 0 0 0 stress * * * * * * * * * time 60 incs 120 freq 20
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
step:
|
||||
- mech:
|
||||
dot_F: [0, 0, 1e-3,
|
||||
0, 0, 0,
|
||||
0, 0, 0]
|
||||
discretization:
|
||||
t: 60
|
||||
N: 120
|
||||
f_out: 20
|
|
@ -1,2 +0,0 @@
|
|||
fdot 1.0e-3 0 0 0 * 0 0 0 * stress * * * * 0 * * * 0 time 10 incs 40 freq 4
|
||||
fdot 1.0e-3 0 0 0 * 0 0 0 * stress * * * * 0 * * * 0 time 60 incs 60
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
|
||||
step:
|
||||
- mech:
|
||||
dot_F: [1.0e-3, 0, 0,
|
||||
0, x, 0,
|
||||
0, 0, x]
|
||||
P: [x, x, x,
|
||||
x, 0, x,
|
||||
x, x, 0]
|
||||
discretization:
|
||||
t: 10
|
||||
N: 40
|
||||
f_out: 4
|
||||
- mech:
|
||||
dot_F: [1.0e-3, 0, 0,
|
||||
0, x, 0,
|
||||
0, 0, x]
|
||||
P: [x, x, x,
|
||||
x, 0, x,
|
||||
x, x, 0]
|
||||
discretization:
|
||||
t: 60
|
||||
N: 60
|
||||
f_out: 4
|
|
@ -49,4 +49,5 @@ echo "program: $program"
|
|||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
||||
|
|
|
@ -49,4 +49,5 @@ echo "program: $program"
|
|||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
||||
|
|
|
@ -49,4 +49,5 @@ echo "program: $program"
|
|||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
# =1, element storage out-of-core #
|
||||
# -dll run marc using shared library libmarc.so and exe_marc #
|
||||
# =1, used #
|
||||
# =2, do not free streaming input memory #
|
||||
# =2, do not free streaming input memory #
|
||||
# =3, run with marc input deck #
|
||||
# -trk run marc for post-tracking #
|
||||
# -gpuid run marc using GPGPU capability #
|
||||
|
@ -177,16 +177,16 @@ fi
|
|||
# MARC_MODE i8
|
||||
# it can also be set by the environmental variable MARC_INTEGER_SIZE
|
||||
# and by the command line option "-mo"
|
||||
#
|
||||
#
|
||||
mode=
|
||||
modeerror=
|
||||
modeoption=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
echo
|
||||
line=
|
||||
fi
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults`
|
||||
|
@ -203,7 +203,7 @@ fi
|
|||
if test -f $HOME/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
line=
|
||||
|
@ -226,7 +226,7 @@ if test -z "$mode" ; then
|
|||
mode=i8
|
||||
fi
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported."
|
||||
modeoption=error
|
||||
echo $modeerror
|
||||
|
@ -246,7 +246,7 @@ for arg in $* ; do
|
|||
if $setmode ; then
|
||||
mode=$arg
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for mode option; only i8 is supported."
|
||||
modeoption=error
|
||||
echo
|
||||
|
@ -269,7 +269,7 @@ for arg in $* ; do
|
|||
setmode=false
|
||||
fi
|
||||
if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
setmode=true
|
||||
|
@ -333,7 +333,7 @@ case "`echo '\c'`" in
|
|||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
#
|
||||
# Variables for the MARC environment
|
||||
#
|
||||
|
||||
|
@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH
|
|||
export LD_LIBRARY_PATH
|
||||
export LD_LIBRARY64_PATH
|
||||
export LD_LIBRARYN32_PATH
|
||||
|
||||
|
||||
atexit() {
|
||||
kill -15 $$
|
||||
#
|
||||
|
@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a
|
|||
# or in the user's home directory
|
||||
# format:
|
||||
# MARC_MPI <mpiversion>
|
||||
#
|
||||
#
|
||||
value=
|
||||
file=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
|
@ -523,7 +523,7 @@ if test -n "$value"; then
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
|
@ -543,7 +543,7 @@ if test -n "$value"; then
|
|||
fi
|
||||
fi
|
||||
fi
|
||||
#
|
||||
#
|
||||
#
|
||||
# allow scratch directory to be specified with environmental variable
|
||||
# MARCSCRATCH
|
||||
|
@ -613,7 +613,7 @@ do
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-r* | -R*)
|
||||
rid=`$BASENAME $value .t08`
|
||||
|
@ -624,7 +624,7 @@ do
|
|||
*)
|
||||
DIRRID=`pwd`/$DIRRID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-si* | -SI*)
|
||||
sid=$value
|
||||
|
@ -635,7 +635,7 @@ do
|
|||
*)
|
||||
DIRSID=`pwd`/$DIRSID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-pi* | -PI*)
|
||||
if test -f $value.t19
|
||||
|
@ -651,7 +651,7 @@ do
|
|||
*)
|
||||
DIRPID=`pwd`/$DIRPID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-bdf | -BDF)
|
||||
makebdf=1
|
||||
|
@ -665,7 +665,7 @@ do
|
|||
*)
|
||||
DIRDID=`pwd`/$DIRDID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-vf | -VF)
|
||||
vid=`$BASENAME $value .vfs`
|
||||
|
@ -676,7 +676,7 @@ do
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-u* | -U*)
|
||||
user=$value
|
||||
|
@ -847,7 +847,7 @@ do
|
|||
*)
|
||||
DIRSCR=`pwd`/$DIRSCR
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-ho* | -HO*)
|
||||
host=$value
|
||||
|
@ -898,7 +898,7 @@ fi
|
|||
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -934,7 +934,7 @@ fi
|
|||
ntprint=$nt
|
||||
nteprint=$nte
|
||||
# copy from -nprocd[s]
|
||||
if test $nprocdddm -gt 1
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
nteprint=$nprocdddm
|
||||
fi
|
||||
|
@ -943,7 +943,7 @@ if test $nte -ne 0
|
|||
then
|
||||
nteprint=$nte
|
||||
fi
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
if test $nteprint -lt $nprocdddm
|
||||
|
@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M
|
|||
# deprecate -nthread option at arugment of marc
|
||||
nt=0
|
||||
# Reset nprocdddmm, nsolver and threads if not given.
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdarg=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddmprint=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddm=
|
||||
fi
|
||||
fi
|
||||
|
||||
nsolverprint=$nsolver
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
nsolverprint=
|
||||
fi
|
||||
fi
|
||||
# end of threads setting.
|
||||
gpuoption=
|
||||
if test "$gpuids" = "" ; then
|
||||
|
@ -1030,7 +1030,7 @@ else
|
|||
MARCCUDALIBS=$MARCCUDALIBS2
|
||||
export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH
|
||||
fi
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
|
@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then
|
|||
fi
|
||||
|
||||
if test "$progdll"; then
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
rmdll=yes
|
||||
pathdll=yes
|
||||
progdll=${progdll}_$marcdll
|
||||
|
@ -1093,14 +1093,14 @@ while test forever; do
|
|||
if test $nprocdddm -gt 1 -a $icreated -eq 0; then
|
||||
if test ! -f $DIRJID/1$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/1$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test ! -f $DIRJID/$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1108,7 +1108,7 @@ fi
|
|||
if test $nprocd -gt 1; then
|
||||
if test "$host" ; then
|
||||
if test ! -f $host; then
|
||||
error="$error
|
||||
error="$error
|
||||
host name file $host not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible"
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)"
|
||||
fi
|
||||
fi
|
||||
|
@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible"
|
|||
then
|
||||
if test $nauto -gt 2
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for auto restart "
|
||||
fi
|
||||
fi
|
||||
|
@ -1299,7 +1299,7 @@ incorrect option for auto restart "
|
|||
then
|
||||
if test $ndcoup -gt 3
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for contact decoupling "
|
||||
fi
|
||||
fi
|
||||
|
@ -1307,7 +1307,7 @@ incorrect option for contact decoupling "
|
|||
then
|
||||
if test $ndytran -gt 1
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for Marc-Dytran Switch "
|
||||
fi
|
||||
fi
|
||||
|
@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch "
|
|||
then
|
||||
if test ! -x $MARC_BIN/$exefile
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE "
|
||||
fi
|
||||
fi
|
||||
|
@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
fi
|
||||
$ECHO "User subroutine name ($user)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
user=`pwd`/$user
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
|
@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
fi
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
then
|
||||
qid=$value
|
||||
fi
|
||||
case $qid in
|
||||
case $qid in
|
||||
s* | S* | l* | L* | v* | V* )
|
||||
$ECHO "Queue priority ($priority)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -2039,42 +2039,42 @@ esac
|
|||
|
||||
done
|
||||
#
|
||||
if test $nt -eq 0
|
||||
then
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntarg=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntprint=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
nt=
|
||||
fi
|
||||
|
||||
if test $nte -eq 0
|
||||
then
|
||||
if test $nte -eq 0
|
||||
then
|
||||
ntearg=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nteprint=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nte=
|
||||
fi
|
||||
|
||||
if test $nts -eq 0
|
||||
then
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsarg=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsprint=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
nts=
|
||||
fi
|
||||
#
|
||||
|
@ -2327,7 +2327,7 @@ fi
|
|||
execpath=$usernoext.marc
|
||||
usersub=1
|
||||
fi
|
||||
export execpath
|
||||
export execpath
|
||||
execname=`$BASENAME $execpath`
|
||||
|
||||
if test "$host"
|
||||
|
@ -2360,7 +2360,7 @@ fi
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# less than number of available user ports, 5
|
||||
# .gmpi directory must exist in user's home directory
|
||||
# and must have write permission from remote hosts
|
||||
|
@ -2474,9 +2474,9 @@ fi
|
|||
then
|
||||
# Intel MPI
|
||||
if test -f $jid.mfile
|
||||
then
|
||||
then
|
||||
/bin/rm $jid.mfile 2> /dev/null
|
||||
fi
|
||||
fi
|
||||
/bin/cp $host $jid.host
|
||||
grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile
|
||||
# end Intel MPI for DMP
|
||||
|
@ -2560,7 +2560,7 @@ fi
|
|||
else
|
||||
host=$jid.host
|
||||
host_filt=$host
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
then
|
||||
host_filt=$jid.mfile
|
||||
fi
|
||||
|
@ -2569,7 +2569,7 @@ fi
|
|||
# or distributed and set the variable "dirstatus" accordingly.
|
||||
# only perform the check if user subroutine is used
|
||||
# or a user subroutine executable is used
|
||||
|
||||
|
||||
numfield=1
|
||||
if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware
|
||||
then
|
||||
|
@ -2729,7 +2729,7 @@ fi
|
|||
fi
|
||||
# modify new host file if NFS mounted heterogeneous machine
|
||||
doit=
|
||||
if test $program = $prog.marc
|
||||
if test $program = $prog.marc
|
||||
then
|
||||
doit=yes
|
||||
fi
|
||||
|
@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \
|
|||
printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
||||
/bin/mv $jid.host{$$} $jid.host
|
||||
host=$jid.host
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
fi # if test $program = $prog.marc -o $user -o $obj
|
||||
|
||||
|
||||
else # if test $host
|
||||
# assume shared memory machine if no hostfile given and
|
||||
# MPITYPE is set to mpich or Myrinet
|
||||
# check for Myrinet that the total number of processes is
|
||||
# check for Myrinet that the total number of processes is
|
||||
# less than number of available user ports, 5
|
||||
if test $MPITYPE = "mpich" -o $MPITYPE = "scali"
|
||||
then
|
||||
numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'`
|
||||
echo `hostname` $numproc $execpath > $jid.host
|
||||
host=$jid.host
|
||||
elif test $MPITYPE = "myrinet"
|
||||
elif test $MPITYPE = "myrinet"
|
||||
then
|
||||
if test $nprocd -gt 5
|
||||
then
|
||||
|
@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
|||
fi # if test $host
|
||||
|
||||
fi # if test $nprocd -gt 1
|
||||
|
||||
|
||||
fi # if test $program = $exefile -o $program = $prog.marc
|
||||
|
||||
##############################################################################
|
||||
|
@ -2859,7 +2859,7 @@ else
|
|||
nsolverarg="$nsolverarg $nsolver"
|
||||
fi
|
||||
if test $nprocdddm -lt 2 -a $nsolver -eq 0
|
||||
then
|
||||
then
|
||||
nprocd=0
|
||||
fi
|
||||
if test $nprocd -gt 0
|
||||
|
@ -2870,7 +2870,7 @@ then
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB "
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -3267,6 +3267,7 @@ else
|
|||
fi
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3309,7 +3310,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
fi
|
||||
else
|
||||
if test $cpdll = yes; then
|
||||
|
@ -3318,10 +3319,10 @@ else
|
|||
fi
|
||||
if test $rmdll = yes
|
||||
then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
numdom=$nprocdddm
|
||||
|
@ -3389,15 +3390,15 @@ else
|
|||
#
|
||||
QUENAME=qsub
|
||||
SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid"
|
||||
if test "$priority"
|
||||
if test "$priority"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -p $priority"
|
||||
fi
|
||||
if test "$att"
|
||||
if test "$att"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -a $att"
|
||||
fi
|
||||
if test "$cpu"
|
||||
if test "$cpu"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -lt $cpu"
|
||||
fi
|
||||
|
@ -3579,7 +3580,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3599,6 +3600,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3647,7 +3649,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
# for network run, remove executable on remote machines
|
||||
# and executables with modified name
|
||||
if test $nprocd -gt 1
|
||||
|
@ -3696,7 +3698,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
if test $nprocdddm -gt 1
|
||||
|
@ -3913,7 +3915,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3933,6 +3935,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
# done if no job id given
|
||||
if test -z "$jid"
|
||||
then
|
||||
|
@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then
|
|||
RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc "
|
||||
fi
|
||||
|
||||
$RUN_JOB
|
||||
$RUN_JOB
|
||||
|
||||
if test $nprocd -gt 1
|
||||
then
|
||||
|
@ -4055,7 +4058,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
# =1, element storage out-of-core #
|
||||
# -dll run marc using shared library libmarc.so and exe_marc #
|
||||
# =1, used #
|
||||
# =2, do not free streaming input memory #
|
||||
# =2, do not free streaming input memory #
|
||||
# =3, run with marc input deck #
|
||||
# -trk run marc for post-tracking #
|
||||
# -gpuid run marc using GPGPU capability #
|
||||
|
@ -177,16 +177,16 @@ fi
|
|||
# MARC_MODE i8
|
||||
# it can also be set by the environmental variable MARC_INTEGER_SIZE
|
||||
# and by the command line option "-mo"
|
||||
#
|
||||
#
|
||||
mode=
|
||||
modeerror=
|
||||
modeoption=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
echo
|
||||
line=
|
||||
fi
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults`
|
||||
|
@ -203,7 +203,7 @@ fi
|
|||
if test -f $HOME/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
line=
|
||||
|
@ -226,7 +226,7 @@ if test -z "$mode" ; then
|
|||
mode=i8
|
||||
fi
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported."
|
||||
modeoption=error
|
||||
echo $modeerror
|
||||
|
@ -246,7 +246,7 @@ for arg in $* ; do
|
|||
if $setmode ; then
|
||||
mode=$arg
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for mode option; only i8 is supported."
|
||||
modeoption=error
|
||||
echo
|
||||
|
@ -269,7 +269,7 @@ for arg in $* ; do
|
|||
setmode=false
|
||||
fi
|
||||
if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
setmode=true
|
||||
|
@ -333,7 +333,7 @@ case "`echo '\c'`" in
|
|||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
#
|
||||
# Variables for the MARC environment
|
||||
#
|
||||
|
||||
|
@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH
|
|||
export LD_LIBRARY_PATH
|
||||
export LD_LIBRARY64_PATH
|
||||
export LD_LIBRARYN32_PATH
|
||||
|
||||
|
||||
atexit() {
|
||||
kill -15 $$
|
||||
#
|
||||
|
@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a
|
|||
# or in the user's home directory
|
||||
# format:
|
||||
# MARC_MPI <mpiversion>
|
||||
#
|
||||
#
|
||||
value=
|
||||
file=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
|
@ -523,7 +523,7 @@ if test -n "$value"; then
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
|
@ -543,7 +543,7 @@ if test -n "$value"; then
|
|||
fi
|
||||
fi
|
||||
fi
|
||||
#
|
||||
#
|
||||
#
|
||||
# allow scratch directory to be specified with environmental variable
|
||||
# MARCSCRATCH
|
||||
|
@ -613,7 +613,7 @@ do
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-r* | -R*)
|
||||
rid=`$BASENAME $value .t08`
|
||||
|
@ -624,7 +624,7 @@ do
|
|||
*)
|
||||
DIRRID=`pwd`/$DIRRID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-si* | -SI*)
|
||||
sid=$value
|
||||
|
@ -635,7 +635,7 @@ do
|
|||
*)
|
||||
DIRSID=`pwd`/$DIRSID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-pi* | -PI*)
|
||||
if test -f $value.t19
|
||||
|
@ -651,7 +651,7 @@ do
|
|||
*)
|
||||
DIRPID=`pwd`/$DIRPID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-bdf | -BDF)
|
||||
makebdf=1
|
||||
|
@ -665,7 +665,7 @@ do
|
|||
*)
|
||||
DIRDID=`pwd`/$DIRDID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-vf | -VF)
|
||||
vid=`$BASENAME $value .vfs`
|
||||
|
@ -676,7 +676,7 @@ do
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-u* | -U*)
|
||||
user=$value
|
||||
|
@ -847,7 +847,7 @@ do
|
|||
*)
|
||||
DIRSCR=`pwd`/$DIRSCR
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-ho* | -HO*)
|
||||
host=$value
|
||||
|
@ -898,7 +898,7 @@ fi
|
|||
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -934,7 +934,7 @@ fi
|
|||
ntprint=$nt
|
||||
nteprint=$nte
|
||||
# copy from -nprocd[s]
|
||||
if test $nprocdddm -gt 1
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
nteprint=$nprocdddm
|
||||
fi
|
||||
|
@ -943,7 +943,7 @@ if test $nte -ne 0
|
|||
then
|
||||
nteprint=$nte
|
||||
fi
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
if test $nteprint -lt $nprocdddm
|
||||
|
@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M
|
|||
# deprecate -nthread option at arugment of marc
|
||||
nt=0
|
||||
# Reset nprocdddmm, nsolver and threads if not given.
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdarg=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddmprint=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddm=
|
||||
fi
|
||||
fi
|
||||
|
||||
nsolverprint=$nsolver
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
nsolverprint=
|
||||
fi
|
||||
fi
|
||||
# end of threads setting.
|
||||
gpuoption=
|
||||
if test "$gpuids" = "" ; then
|
||||
|
@ -1030,7 +1030,7 @@ else
|
|||
MARCCUDALIBS=$MARCCUDALIBS2
|
||||
export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH
|
||||
fi
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
|
@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then
|
|||
fi
|
||||
|
||||
if test "$progdll"; then
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
rmdll=yes
|
||||
pathdll=yes
|
||||
progdll=${progdll}_$marcdll
|
||||
|
@ -1093,14 +1093,14 @@ while test forever; do
|
|||
if test $nprocdddm -gt 1 -a $icreated -eq 0; then
|
||||
if test ! -f $DIRJID/1$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/1$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test ! -f $DIRJID/$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1108,7 +1108,7 @@ fi
|
|||
if test $nprocd -gt 1; then
|
||||
if test "$host" ; then
|
||||
if test ! -f $host; then
|
||||
error="$error
|
||||
error="$error
|
||||
host name file $host not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible"
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)"
|
||||
fi
|
||||
fi
|
||||
|
@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible"
|
|||
then
|
||||
if test $nauto -gt 2
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for auto restart "
|
||||
fi
|
||||
fi
|
||||
|
@ -1299,7 +1299,7 @@ incorrect option for auto restart "
|
|||
then
|
||||
if test $ndcoup -gt 3
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for contact decoupling "
|
||||
fi
|
||||
fi
|
||||
|
@ -1307,7 +1307,7 @@ incorrect option for contact decoupling "
|
|||
then
|
||||
if test $ndytran -gt 1
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for Marc-Dytran Switch "
|
||||
fi
|
||||
fi
|
||||
|
@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch "
|
|||
then
|
||||
if test ! -x $MARC_BIN/$exefile
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE "
|
||||
fi
|
||||
fi
|
||||
|
@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
fi
|
||||
$ECHO "User subroutine name ($user)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
user=`pwd`/$user
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
|
@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
fi
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
then
|
||||
qid=$value
|
||||
fi
|
||||
case $qid in
|
||||
case $qid in
|
||||
s* | S* | l* | L* | v* | V* )
|
||||
$ECHO "Queue priority ($priority)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -2039,42 +2039,42 @@ esac
|
|||
|
||||
done
|
||||
#
|
||||
if test $nt -eq 0
|
||||
then
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntarg=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntprint=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
nt=
|
||||
fi
|
||||
|
||||
if test $nte -eq 0
|
||||
then
|
||||
if test $nte -eq 0
|
||||
then
|
||||
ntearg=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nteprint=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nte=
|
||||
fi
|
||||
|
||||
if test $nts -eq 0
|
||||
then
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsarg=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsprint=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
nts=
|
||||
fi
|
||||
#
|
||||
|
@ -2327,7 +2327,7 @@ fi
|
|||
execpath=$usernoext.marc
|
||||
usersub=1
|
||||
fi
|
||||
export execpath
|
||||
export execpath
|
||||
execname=`$BASENAME $execpath`
|
||||
|
||||
if test "$host"
|
||||
|
@ -2360,7 +2360,7 @@ fi
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# less than number of available user ports, 5
|
||||
# .gmpi directory must exist in user's home directory
|
||||
# and must have write permission from remote hosts
|
||||
|
@ -2474,9 +2474,9 @@ fi
|
|||
then
|
||||
# Intel MPI
|
||||
if test -f $jid.mfile
|
||||
then
|
||||
then
|
||||
/bin/rm $jid.mfile 2> /dev/null
|
||||
fi
|
||||
fi
|
||||
/bin/cp $host $jid.host
|
||||
grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile
|
||||
# end Intel MPI for DMP
|
||||
|
@ -2560,7 +2560,7 @@ fi
|
|||
else
|
||||
host=$jid.host
|
||||
host_filt=$host
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
then
|
||||
host_filt=$jid.mfile
|
||||
fi
|
||||
|
@ -2569,7 +2569,7 @@ fi
|
|||
# or distributed and set the variable "dirstatus" accordingly.
|
||||
# only perform the check if user subroutine is used
|
||||
# or a user subroutine executable is used
|
||||
|
||||
|
||||
numfield=1
|
||||
if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware
|
||||
then
|
||||
|
@ -2729,7 +2729,7 @@ fi
|
|||
fi
|
||||
# modify new host file if NFS mounted heterogeneous machine
|
||||
doit=
|
||||
if test $program = $prog.marc
|
||||
if test $program = $prog.marc
|
||||
then
|
||||
doit=yes
|
||||
fi
|
||||
|
@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \
|
|||
printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
||||
/bin/mv $jid.host{$$} $jid.host
|
||||
host=$jid.host
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
fi # if test $program = $prog.marc -o $user -o $obj
|
||||
|
||||
|
||||
else # if test $host
|
||||
# assume shared memory machine if no hostfile given and
|
||||
# MPITYPE is set to mpich or Myrinet
|
||||
# check for Myrinet that the total number of processes is
|
||||
# check for Myrinet that the total number of processes is
|
||||
# less than number of available user ports, 5
|
||||
if test $MPITYPE = "mpich" -o $MPITYPE = "scali"
|
||||
then
|
||||
numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'`
|
||||
echo `hostname` $numproc $execpath > $jid.host
|
||||
host=$jid.host
|
||||
elif test $MPITYPE = "myrinet"
|
||||
elif test $MPITYPE = "myrinet"
|
||||
then
|
||||
if test $nprocd -gt 5
|
||||
then
|
||||
|
@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
|||
fi # if test $host
|
||||
|
||||
fi # if test $nprocd -gt 1
|
||||
|
||||
|
||||
fi # if test $program = $exefile -o $program = $prog.marc
|
||||
|
||||
##############################################################################
|
||||
|
@ -2859,7 +2859,7 @@ else
|
|||
nsolverarg="$nsolverarg $nsolver"
|
||||
fi
|
||||
if test $nprocdddm -lt 2 -a $nsolver -eq 0
|
||||
then
|
||||
then
|
||||
nprocd=0
|
||||
fi
|
||||
if test $nprocd -gt 0
|
||||
|
@ -2870,7 +2870,7 @@ then
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB "
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -3267,6 +3267,7 @@ else
|
|||
fi
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3309,7 +3310,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
fi
|
||||
else
|
||||
if test $cpdll = yes; then
|
||||
|
@ -3318,10 +3319,10 @@ else
|
|||
fi
|
||||
if test $rmdll = yes
|
||||
then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
numdom=$nprocdddm
|
||||
|
@ -3389,15 +3390,15 @@ else
|
|||
#
|
||||
QUENAME=qsub
|
||||
SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid"
|
||||
if test "$priority"
|
||||
if test "$priority"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -p $priority"
|
||||
fi
|
||||
if test "$att"
|
||||
if test "$att"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -a $att"
|
||||
fi
|
||||
if test "$cpu"
|
||||
if test "$cpu"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -lt $cpu"
|
||||
fi
|
||||
|
@ -3579,7 +3580,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3599,6 +3600,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3647,7 +3649,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
# for network run, remove executable on remote machines
|
||||
# and executables with modified name
|
||||
if test $nprocd -gt 1
|
||||
|
@ -3696,7 +3698,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
if test $nprocdddm -gt 1
|
||||
|
@ -3913,7 +3915,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3933,6 +3935,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
# done if no job id given
|
||||
if test -z "$jid"
|
||||
then
|
||||
|
@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then
|
|||
RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc "
|
||||
fi
|
||||
|
||||
$RUN_JOB
|
||||
$RUN_JOB
|
||||
|
||||
if test $nprocd -gt 1
|
||||
then
|
||||
|
@ -4055,7 +4058,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
# =1, element storage out-of-core #
|
||||
# -dll run marc using shared library libmarc.so and exe_marc #
|
||||
# =1, used #
|
||||
# =2, do not free streaming input memory #
|
||||
# =2, do not free streaming input memory #
|
||||
# =3, run with marc input deck #
|
||||
# -trk run marc for post-tracking #
|
||||
# -gpuid run marc using GPGPU capability #
|
||||
|
@ -177,16 +177,16 @@ fi
|
|||
# MARC_MODE i8
|
||||
# it can also be set by the environmental variable MARC_INTEGER_SIZE
|
||||
# and by the command line option "-mo"
|
||||
#
|
||||
#
|
||||
mode=
|
||||
modeerror=
|
||||
modeoption=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
echo
|
||||
line=
|
||||
fi
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults`
|
||||
|
@ -203,7 +203,7 @@ fi
|
|||
if test -f $HOME/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
line=
|
||||
|
@ -226,7 +226,7 @@ if test -z "$mode" ; then
|
|||
mode=i8
|
||||
fi
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported."
|
||||
modeoption=error
|
||||
echo $modeerror
|
||||
|
@ -246,7 +246,7 @@ for arg in $* ; do
|
|||
if $setmode ; then
|
||||
mode=$arg
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for mode option; only i8 is supported."
|
||||
modeoption=error
|
||||
echo
|
||||
|
@ -269,7 +269,7 @@ for arg in $* ; do
|
|||
setmode=false
|
||||
fi
|
||||
if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
setmode=true
|
||||
|
@ -333,7 +333,7 @@ case "`echo '\c'`" in
|
|||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
#
|
||||
# Variables for the MARC environment
|
||||
#
|
||||
|
||||
|
@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH
|
|||
export LD_LIBRARY_PATH
|
||||
export LD_LIBRARY64_PATH
|
||||
export LD_LIBRARYN32_PATH
|
||||
|
||||
|
||||
atexit() {
|
||||
kill -15 $$
|
||||
#
|
||||
|
@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a
|
|||
# or in the user's home directory
|
||||
# format:
|
||||
# MARC_MPI <mpiversion>
|
||||
#
|
||||
#
|
||||
value=
|
||||
file=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
|
@ -523,7 +523,7 @@ if test -n "$value"; then
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
|
@ -543,7 +543,7 @@ if test -n "$value"; then
|
|||
fi
|
||||
fi
|
||||
fi
|
||||
#
|
||||
#
|
||||
#
|
||||
# allow scratch directory to be specified with environmental variable
|
||||
# MARCSCRATCH
|
||||
|
@ -613,7 +613,7 @@ do
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-r* | -R*)
|
||||
rid=`$BASENAME $value .t08`
|
||||
|
@ -624,7 +624,7 @@ do
|
|||
*)
|
||||
DIRRID=`pwd`/$DIRRID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-si* | -SI*)
|
||||
sid=$value
|
||||
|
@ -635,7 +635,7 @@ do
|
|||
*)
|
||||
DIRSID=`pwd`/$DIRSID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-pi* | -PI*)
|
||||
if test -f $value.t19
|
||||
|
@ -651,7 +651,7 @@ do
|
|||
*)
|
||||
DIRPID=`pwd`/$DIRPID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-bdf | -BDF)
|
||||
makebdf=1
|
||||
|
@ -665,7 +665,7 @@ do
|
|||
*)
|
||||
DIRDID=`pwd`/$DIRDID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-vf | -VF)
|
||||
vid=`$BASENAME $value .vfs`
|
||||
|
@ -676,7 +676,7 @@ do
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-u* | -U*)
|
||||
user=$value
|
||||
|
@ -847,7 +847,7 @@ do
|
|||
*)
|
||||
DIRSCR=`pwd`/$DIRSCR
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-ho* | -HO*)
|
||||
host=$value
|
||||
|
@ -898,7 +898,7 @@ fi
|
|||
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -934,7 +934,7 @@ fi
|
|||
ntprint=$nt
|
||||
nteprint=$nte
|
||||
# copy from -nprocd[s]
|
||||
if test $nprocdddm -gt 1
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
nteprint=$nprocdddm
|
||||
fi
|
||||
|
@ -943,7 +943,7 @@ if test $nte -ne 0
|
|||
then
|
||||
nteprint=$nte
|
||||
fi
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
if test $nteprint -lt $nprocdddm
|
||||
|
@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M
|
|||
# deprecate -nthread option at arugment of marc
|
||||
nt=0
|
||||
# Reset nprocdddmm, nsolver and threads if not given.
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdarg=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddmprint=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddm=
|
||||
fi
|
||||
fi
|
||||
|
||||
nsolverprint=$nsolver
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
nsolverprint=
|
||||
fi
|
||||
fi
|
||||
# end of threads setting.
|
||||
gpuoption=
|
||||
if test "$gpuids" = "" ; then
|
||||
|
@ -1030,7 +1030,7 @@ else
|
|||
MARCCUDALIBS=$MARCCUDALIBS2
|
||||
export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH
|
||||
fi
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
|
@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then
|
|||
fi
|
||||
|
||||
if test "$progdll"; then
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
rmdll=yes
|
||||
pathdll=yes
|
||||
progdll=${progdll}_$marcdll
|
||||
|
@ -1093,14 +1093,14 @@ while test forever; do
|
|||
if test $nprocdddm -gt 1 -a $icreated -eq 0; then
|
||||
if test ! -f $DIRJID/1$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/1$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test ! -f $DIRJID/$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1108,7 +1108,7 @@ fi
|
|||
if test $nprocd -gt 1; then
|
||||
if test "$host" ; then
|
||||
if test ! -f $host; then
|
||||
error="$error
|
||||
error="$error
|
||||
host name file $host not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible"
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)"
|
||||
fi
|
||||
fi
|
||||
|
@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible"
|
|||
then
|
||||
if test $nauto -gt 2
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for auto restart "
|
||||
fi
|
||||
fi
|
||||
|
@ -1299,7 +1299,7 @@ incorrect option for auto restart "
|
|||
then
|
||||
if test $ndcoup -gt 3
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for contact decoupling "
|
||||
fi
|
||||
fi
|
||||
|
@ -1307,7 +1307,7 @@ incorrect option for contact decoupling "
|
|||
then
|
||||
if test $ndytran -gt 1
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for Marc-Dytran Switch "
|
||||
fi
|
||||
fi
|
||||
|
@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch "
|
|||
then
|
||||
if test ! -x $MARC_BIN/$exefile
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE "
|
||||
fi
|
||||
fi
|
||||
|
@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
fi
|
||||
$ECHO "User subroutine name ($user)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
user=`pwd`/$user
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
|
@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
fi
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
then
|
||||
qid=$value
|
||||
fi
|
||||
case $qid in
|
||||
case $qid in
|
||||
s* | S* | l* | L* | v* | V* )
|
||||
$ECHO "Queue priority ($priority)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -2039,42 +2039,42 @@ esac
|
|||
|
||||
done
|
||||
#
|
||||
if test $nt -eq 0
|
||||
then
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntarg=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntprint=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
nt=
|
||||
fi
|
||||
|
||||
if test $nte -eq 0
|
||||
then
|
||||
if test $nte -eq 0
|
||||
then
|
||||
ntearg=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nteprint=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nte=
|
||||
fi
|
||||
|
||||
if test $nts -eq 0
|
||||
then
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsarg=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsprint=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
nts=
|
||||
fi
|
||||
#
|
||||
|
@ -2327,7 +2327,7 @@ fi
|
|||
execpath=$usernoext.marc
|
||||
usersub=1
|
||||
fi
|
||||
export execpath
|
||||
export execpath
|
||||
execname=`$BASENAME $execpath`
|
||||
|
||||
if test "$host"
|
||||
|
@ -2360,7 +2360,7 @@ fi
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# less than number of available user ports, 5
|
||||
# .gmpi directory must exist in user's home directory
|
||||
# and must have write permission from remote hosts
|
||||
|
@ -2474,9 +2474,9 @@ fi
|
|||
then
|
||||
# Intel MPI
|
||||
if test -f $jid.mfile
|
||||
then
|
||||
then
|
||||
/bin/rm $jid.mfile 2> /dev/null
|
||||
fi
|
||||
fi
|
||||
/bin/cp $host $jid.host
|
||||
grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile
|
||||
# end Intel MPI for DMP
|
||||
|
@ -2560,7 +2560,7 @@ fi
|
|||
else
|
||||
host=$jid.host
|
||||
host_filt=$host
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
then
|
||||
host_filt=$jid.mfile
|
||||
fi
|
||||
|
@ -2569,7 +2569,7 @@ fi
|
|||
# or distributed and set the variable "dirstatus" accordingly.
|
||||
# only perform the check if user subroutine is used
|
||||
# or a user subroutine executable is used
|
||||
|
||||
|
||||
numfield=1
|
||||
if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware
|
||||
then
|
||||
|
@ -2729,7 +2729,7 @@ fi
|
|||
fi
|
||||
# modify new host file if NFS mounted heterogeneous machine
|
||||
doit=
|
||||
if test $program = $prog.marc
|
||||
if test $program = $prog.marc
|
||||
then
|
||||
doit=yes
|
||||
fi
|
||||
|
@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \
|
|||
printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
||||
/bin/mv $jid.host{$$} $jid.host
|
||||
host=$jid.host
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
fi # if test $program = $prog.marc -o $user -o $obj
|
||||
|
||||
|
||||
else # if test $host
|
||||
# assume shared memory machine if no hostfile given and
|
||||
# MPITYPE is set to mpich or Myrinet
|
||||
# check for Myrinet that the total number of processes is
|
||||
# check for Myrinet that the total number of processes is
|
||||
# less than number of available user ports, 5
|
||||
if test $MPITYPE = "mpich" -o $MPITYPE = "scali"
|
||||
then
|
||||
numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'`
|
||||
echo `hostname` $numproc $execpath > $jid.host
|
||||
host=$jid.host
|
||||
elif test $MPITYPE = "myrinet"
|
||||
elif test $MPITYPE = "myrinet"
|
||||
then
|
||||
if test $nprocd -gt 5
|
||||
then
|
||||
|
@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
|||
fi # if test $host
|
||||
|
||||
fi # if test $nprocd -gt 1
|
||||
|
||||
|
||||
fi # if test $program = $exefile -o $program = $prog.marc
|
||||
|
||||
##############################################################################
|
||||
|
@ -2859,7 +2859,7 @@ else
|
|||
nsolverarg="$nsolverarg $nsolver"
|
||||
fi
|
||||
if test $nprocdddm -lt 2 -a $nsolver -eq 0
|
||||
then
|
||||
then
|
||||
nprocd=0
|
||||
fi
|
||||
if test $nprocd -gt 0
|
||||
|
@ -2870,7 +2870,7 @@ then
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB "
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -3267,6 +3267,7 @@ else
|
|||
fi
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3309,7 +3310,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
fi
|
||||
else
|
||||
if test $cpdll = yes; then
|
||||
|
@ -3318,10 +3319,10 @@ else
|
|||
fi
|
||||
if test $rmdll = yes
|
||||
then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
numdom=$nprocdddm
|
||||
|
@ -3389,15 +3390,15 @@ else
|
|||
#
|
||||
QUENAME=qsub
|
||||
SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid"
|
||||
if test "$priority"
|
||||
if test "$priority"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -p $priority"
|
||||
fi
|
||||
if test "$att"
|
||||
if test "$att"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -a $att"
|
||||
fi
|
||||
if test "$cpu"
|
||||
if test "$cpu"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -lt $cpu"
|
||||
fi
|
||||
|
@ -3579,7 +3580,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3599,6 +3600,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3647,7 +3649,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
# for network run, remove executable on remote machines
|
||||
# and executables with modified name
|
||||
if test $nprocd -gt 1
|
||||
|
@ -3696,7 +3698,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
if test $nprocdddm -gt 1
|
||||
|
@ -3913,7 +3915,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3933,6 +3935,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
# done if no job id given
|
||||
if test -z "$jid"
|
||||
then
|
||||
|
@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then
|
|||
RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc "
|
||||
fi
|
||||
|
||||
$RUN_JOB
|
||||
$RUN_JOB
|
||||
|
||||
if test $nprocd -gt 1
|
||||
then
|
||||
|
@ -4055,7 +4058,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# Normal exit status is 0.
|
||||
#
|
||||
|
||||
DIR=/nethome/f.roters/temp/msc/marc2018.1
|
||||
DIR=/tmp/msc/marc2018.1
|
||||
if test $MARCDIR1
|
||||
then
|
||||
DIR=$MARCDIR1
|
||||
|
|
|
@ -49,4 +49,5 @@ echo "program: $program"
|
|||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
||||
|
|
|
@ -49,4 +49,5 @@ echo "program: $program"
|
|||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
||||
|
|
|
@ -49,4 +49,5 @@ echo "program: $program"
|
|||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
# =1, element storage out-of-core #
|
||||
# -dll run marc using shared library libmarc.so and exe_marc #
|
||||
# =1, used #
|
||||
# =2, do not free streaming input memory #
|
||||
# =2, do not free streaming input memory #
|
||||
# =3, run with marc input deck #
|
||||
# -trk run marc for post-tracking #
|
||||
# -gpuid run marc using GPGPU capability #
|
||||
|
@ -177,16 +177,16 @@ fi
|
|||
# MARC_MODE i8
|
||||
# it can also be set by the environmental variable MARC_INTEGER_SIZE
|
||||
# and by the command line option "-mo"
|
||||
#
|
||||
#
|
||||
mode=
|
||||
modeerror=
|
||||
modeoption=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
echo
|
||||
line=
|
||||
fi
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults`
|
||||
|
@ -203,7 +203,7 @@ fi
|
|||
if test -f $HOME/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
line=
|
||||
|
@ -226,7 +226,7 @@ if test -z "$mode" ; then
|
|||
mode=i8
|
||||
fi
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported."
|
||||
modeoption=error
|
||||
echo $modeerror
|
||||
|
@ -246,7 +246,7 @@ for arg in $* ; do
|
|||
if $setmode ; then
|
||||
mode=$arg
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for mode option; only i8 is supported."
|
||||
modeoption=error
|
||||
echo
|
||||
|
@ -269,7 +269,7 @@ for arg in $* ; do
|
|||
setmode=false
|
||||
fi
|
||||
if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
setmode=true
|
||||
|
@ -333,7 +333,7 @@ case "`echo '\c'`" in
|
|||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
#
|
||||
# Variables for the MARC environment
|
||||
#
|
||||
|
||||
|
@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH
|
|||
export LD_LIBRARY_PATH
|
||||
export LD_LIBRARY64_PATH
|
||||
export LD_LIBRARYN32_PATH
|
||||
|
||||
|
||||
atexit() {
|
||||
kill -15 $$
|
||||
#
|
||||
|
@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a
|
|||
# or in the user's home directory
|
||||
# format:
|
||||
# MARC_MPI <mpiversion>
|
||||
#
|
||||
#
|
||||
value=
|
||||
file=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
|
@ -523,7 +523,7 @@ if test -n "$value"; then
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
|
@ -543,7 +543,7 @@ if test -n "$value"; then
|
|||
fi
|
||||
fi
|
||||
fi
|
||||
#
|
||||
#
|
||||
#
|
||||
# allow scratch directory to be specified with environmental variable
|
||||
# MARCSCRATCH
|
||||
|
@ -613,7 +613,7 @@ do
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-r* | -R*)
|
||||
rid=`$BASENAME $value .t08`
|
||||
|
@ -624,7 +624,7 @@ do
|
|||
*)
|
||||
DIRRID=`pwd`/$DIRRID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-si* | -SI*)
|
||||
sid=$value
|
||||
|
@ -635,7 +635,7 @@ do
|
|||
*)
|
||||
DIRSID=`pwd`/$DIRSID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-pi* | -PI*)
|
||||
if test -f $value.t19
|
||||
|
@ -651,7 +651,7 @@ do
|
|||
*)
|
||||
DIRPID=`pwd`/$DIRPID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-bdf | -BDF)
|
||||
makebdf=1
|
||||
|
@ -665,7 +665,7 @@ do
|
|||
*)
|
||||
DIRDID=`pwd`/$DIRDID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-vf | -VF)
|
||||
vid=`$BASENAME $value .vfs`
|
||||
|
@ -676,7 +676,7 @@ do
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-u* | -U*)
|
||||
user=$value
|
||||
|
@ -847,7 +847,7 @@ do
|
|||
*)
|
||||
DIRSCR=`pwd`/$DIRSCR
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-ho* | -HO*)
|
||||
host=$value
|
||||
|
@ -898,7 +898,7 @@ fi
|
|||
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -934,7 +934,7 @@ fi
|
|||
ntprint=$nt
|
||||
nteprint=$nte
|
||||
# copy from -nprocd[s]
|
||||
if test $nprocdddm -gt 1
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
nteprint=$nprocdddm
|
||||
fi
|
||||
|
@ -943,7 +943,7 @@ if test $nte -ne 0
|
|||
then
|
||||
nteprint=$nte
|
||||
fi
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
if test $nteprint -lt $nprocdddm
|
||||
|
@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M
|
|||
# deprecate -nthread option at arugment of marc
|
||||
nt=0
|
||||
# Reset nprocdddmm, nsolver and threads if not given.
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdarg=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddmprint=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddm=
|
||||
fi
|
||||
fi
|
||||
|
||||
nsolverprint=$nsolver
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
nsolverprint=
|
||||
fi
|
||||
fi
|
||||
# end of threads setting.
|
||||
gpuoption=
|
||||
if test "$gpuids" = "" ; then
|
||||
|
@ -1030,7 +1030,7 @@ else
|
|||
MARCCUDALIBS=$MARCCUDALIBS2
|
||||
export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH
|
||||
fi
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
|
@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then
|
|||
fi
|
||||
|
||||
if test "$progdll"; then
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
rmdll=yes
|
||||
pathdll=yes
|
||||
progdll=${progdll}_$marcdll
|
||||
|
@ -1093,14 +1093,14 @@ while test forever; do
|
|||
if test $nprocdddm -gt 1 -a $icreated -eq 0; then
|
||||
if test ! -f $DIRJID/1$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/1$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test ! -f $DIRJID/$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1108,7 +1108,7 @@ fi
|
|||
if test $nprocd -gt 1; then
|
||||
if test "$host" ; then
|
||||
if test ! -f $host; then
|
||||
error="$error
|
||||
error="$error
|
||||
host name file $host not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible"
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)"
|
||||
fi
|
||||
fi
|
||||
|
@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible"
|
|||
then
|
||||
if test $nauto -gt 2
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for auto restart "
|
||||
fi
|
||||
fi
|
||||
|
@ -1299,7 +1299,7 @@ incorrect option for auto restart "
|
|||
then
|
||||
if test $ndcoup -gt 3
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for contact decoupling "
|
||||
fi
|
||||
fi
|
||||
|
@ -1307,7 +1307,7 @@ incorrect option for contact decoupling "
|
|||
then
|
||||
if test $ndytran -gt 1
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for Marc-Dytran Switch "
|
||||
fi
|
||||
fi
|
||||
|
@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch "
|
|||
then
|
||||
if test ! -x $MARC_BIN/$exefile
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE "
|
||||
fi
|
||||
fi
|
||||
|
@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
fi
|
||||
$ECHO "User subroutine name ($user)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
user=`pwd`/$user
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
|
@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
fi
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
then
|
||||
qid=$value
|
||||
fi
|
||||
case $qid in
|
||||
case $qid in
|
||||
s* | S* | l* | L* | v* | V* )
|
||||
$ECHO "Queue priority ($priority)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -2039,42 +2039,42 @@ esac
|
|||
|
||||
done
|
||||
#
|
||||
if test $nt -eq 0
|
||||
then
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntarg=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntprint=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
nt=
|
||||
fi
|
||||
|
||||
if test $nte -eq 0
|
||||
then
|
||||
if test $nte -eq 0
|
||||
then
|
||||
ntearg=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nteprint=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nte=
|
||||
fi
|
||||
|
||||
if test $nts -eq 0
|
||||
then
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsarg=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsprint=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
nts=
|
||||
fi
|
||||
#
|
||||
|
@ -2327,7 +2327,7 @@ fi
|
|||
execpath=$usernoext.marc
|
||||
usersub=1
|
||||
fi
|
||||
export execpath
|
||||
export execpath
|
||||
execname=`$BASENAME $execpath`
|
||||
|
||||
if test "$host"
|
||||
|
@ -2360,7 +2360,7 @@ fi
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# less than number of available user ports, 5
|
||||
# .gmpi directory must exist in user's home directory
|
||||
# and must have write permission from remote hosts
|
||||
|
@ -2474,9 +2474,9 @@ fi
|
|||
then
|
||||
# Intel MPI
|
||||
if test -f $jid.mfile
|
||||
then
|
||||
then
|
||||
/bin/rm $jid.mfile 2> /dev/null
|
||||
fi
|
||||
fi
|
||||
/bin/cp $host $jid.host
|
||||
grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile
|
||||
# end Intel MPI for DMP
|
||||
|
@ -2560,7 +2560,7 @@ fi
|
|||
else
|
||||
host=$jid.host
|
||||
host_filt=$host
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
then
|
||||
host_filt=$jid.mfile
|
||||
fi
|
||||
|
@ -2569,7 +2569,7 @@ fi
|
|||
# or distributed and set the variable "dirstatus" accordingly.
|
||||
# only perform the check if user subroutine is used
|
||||
# or a user subroutine executable is used
|
||||
|
||||
|
||||
numfield=1
|
||||
if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware
|
||||
then
|
||||
|
@ -2729,7 +2729,7 @@ fi
|
|||
fi
|
||||
# modify new host file if NFS mounted heterogeneous machine
|
||||
doit=
|
||||
if test $program = $prog.marc
|
||||
if test $program = $prog.marc
|
||||
then
|
||||
doit=yes
|
||||
fi
|
||||
|
@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \
|
|||
printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
||||
/bin/mv $jid.host{$$} $jid.host
|
||||
host=$jid.host
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
fi # if test $program = $prog.marc -o $user -o $obj
|
||||
|
||||
|
||||
else # if test $host
|
||||
# assume shared memory machine if no hostfile given and
|
||||
# MPITYPE is set to mpich or Myrinet
|
||||
# check for Myrinet that the total number of processes is
|
||||
# check for Myrinet that the total number of processes is
|
||||
# less than number of available user ports, 5
|
||||
if test $MPITYPE = "mpich" -o $MPITYPE = "scali"
|
||||
then
|
||||
numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'`
|
||||
echo `hostname` $numproc $execpath > $jid.host
|
||||
host=$jid.host
|
||||
elif test $MPITYPE = "myrinet"
|
||||
elif test $MPITYPE = "myrinet"
|
||||
then
|
||||
if test $nprocd -gt 5
|
||||
then
|
||||
|
@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
|||
fi # if test $host
|
||||
|
||||
fi # if test $nprocd -gt 1
|
||||
|
||||
|
||||
fi # if test $program = $exefile -o $program = $prog.marc
|
||||
|
||||
##############################################################################
|
||||
|
@ -2859,7 +2859,7 @@ else
|
|||
nsolverarg="$nsolverarg $nsolver"
|
||||
fi
|
||||
if test $nprocdddm -lt 2 -a $nsolver -eq 0
|
||||
then
|
||||
then
|
||||
nprocd=0
|
||||
fi
|
||||
if test $nprocd -gt 0
|
||||
|
@ -2870,7 +2870,7 @@ then
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB "
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -3267,6 +3267,7 @@ else
|
|||
fi
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3309,7 +3310,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
fi
|
||||
else
|
||||
if test $cpdll = yes; then
|
||||
|
@ -3318,10 +3319,10 @@ else
|
|||
fi
|
||||
if test $rmdll = yes
|
||||
then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
numdom=$nprocdddm
|
||||
|
@ -3389,15 +3390,15 @@ else
|
|||
#
|
||||
QUENAME=qsub
|
||||
SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid"
|
||||
if test "$priority"
|
||||
if test "$priority"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -p $priority"
|
||||
fi
|
||||
if test "$att"
|
||||
if test "$att"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -a $att"
|
||||
fi
|
||||
if test "$cpu"
|
||||
if test "$cpu"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -lt $cpu"
|
||||
fi
|
||||
|
@ -3579,7 +3580,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3599,6 +3600,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3647,7 +3649,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
# for network run, remove executable on remote machines
|
||||
# and executables with modified name
|
||||
if test $nprocd -gt 1
|
||||
|
@ -3696,7 +3698,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
if test $nprocdddm -gt 1
|
||||
|
@ -3913,7 +3915,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3933,6 +3935,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
# done if no job id given
|
||||
if test -z "$jid"
|
||||
then
|
||||
|
@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then
|
|||
RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc "
|
||||
fi
|
||||
|
||||
$RUN_JOB
|
||||
$RUN_JOB
|
||||
|
||||
if test $nprocd -gt 1
|
||||
then
|
||||
|
@ -4055,7 +4058,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
# =1, element storage out-of-core #
|
||||
# -dll run marc using shared library libmarc.so and exe_marc #
|
||||
# =1, used #
|
||||
# =2, do not free streaming input memory #
|
||||
# =2, do not free streaming input memory #
|
||||
# =3, run with marc input deck #
|
||||
# -trk run marc for post-tracking #
|
||||
# -gpuid run marc using GPGPU capability #
|
||||
|
@ -177,16 +177,16 @@ fi
|
|||
# MARC_MODE i8
|
||||
# it can also be set by the environmental variable MARC_INTEGER_SIZE
|
||||
# and by the command line option "-mo"
|
||||
#
|
||||
#
|
||||
mode=
|
||||
modeerror=
|
||||
modeoption=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
echo
|
||||
line=
|
||||
fi
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults`
|
||||
|
@ -203,7 +203,7 @@ fi
|
|||
if test -f $HOME/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
line=
|
||||
|
@ -226,7 +226,7 @@ if test -z "$mode" ; then
|
|||
mode=i8
|
||||
fi
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported."
|
||||
modeoption=error
|
||||
echo $modeerror
|
||||
|
@ -246,7 +246,7 @@ for arg in $* ; do
|
|||
if $setmode ; then
|
||||
mode=$arg
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for mode option; only i8 is supported."
|
||||
modeoption=error
|
||||
echo
|
||||
|
@ -269,7 +269,7 @@ for arg in $* ; do
|
|||
setmode=false
|
||||
fi
|
||||
if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
setmode=true
|
||||
|
@ -333,7 +333,7 @@ case "`echo '\c'`" in
|
|||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
#
|
||||
# Variables for the MARC environment
|
||||
#
|
||||
|
||||
|
@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH
|
|||
export LD_LIBRARY_PATH
|
||||
export LD_LIBRARY64_PATH
|
||||
export LD_LIBRARYN32_PATH
|
||||
|
||||
|
||||
atexit() {
|
||||
kill -15 $$
|
||||
#
|
||||
|
@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a
|
|||
# or in the user's home directory
|
||||
# format:
|
||||
# MARC_MPI <mpiversion>
|
||||
#
|
||||
#
|
||||
value=
|
||||
file=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
|
@ -523,7 +523,7 @@ if test -n "$value"; then
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
|
@ -543,7 +543,7 @@ if test -n "$value"; then
|
|||
fi
|
||||
fi
|
||||
fi
|
||||
#
|
||||
#
|
||||
#
|
||||
# allow scratch directory to be specified with environmental variable
|
||||
# MARCSCRATCH
|
||||
|
@ -613,7 +613,7 @@ do
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-r* | -R*)
|
||||
rid=`$BASENAME $value .t08`
|
||||
|
@ -624,7 +624,7 @@ do
|
|||
*)
|
||||
DIRRID=`pwd`/$DIRRID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-si* | -SI*)
|
||||
sid=$value
|
||||
|
@ -635,7 +635,7 @@ do
|
|||
*)
|
||||
DIRSID=`pwd`/$DIRSID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-pi* | -PI*)
|
||||
if test -f $value.t19
|
||||
|
@ -651,7 +651,7 @@ do
|
|||
*)
|
||||
DIRPID=`pwd`/$DIRPID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-bdf | -BDF)
|
||||
makebdf=1
|
||||
|
@ -665,7 +665,7 @@ do
|
|||
*)
|
||||
DIRDID=`pwd`/$DIRDID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-vf | -VF)
|
||||
vid=`$BASENAME $value .vfs`
|
||||
|
@ -676,7 +676,7 @@ do
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-u* | -U*)
|
||||
user=$value
|
||||
|
@ -847,7 +847,7 @@ do
|
|||
*)
|
||||
DIRSCR=`pwd`/$DIRSCR
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-ho* | -HO*)
|
||||
host=$value
|
||||
|
@ -898,7 +898,7 @@ fi
|
|||
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -934,7 +934,7 @@ fi
|
|||
ntprint=$nt
|
||||
nteprint=$nte
|
||||
# copy from -nprocd[s]
|
||||
if test $nprocdddm -gt 1
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
nteprint=$nprocdddm
|
||||
fi
|
||||
|
@ -943,7 +943,7 @@ if test $nte -ne 0
|
|||
then
|
||||
nteprint=$nte
|
||||
fi
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
if test $nteprint -lt $nprocdddm
|
||||
|
@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M
|
|||
# deprecate -nthread option at arugment of marc
|
||||
nt=0
|
||||
# Reset nprocdddmm, nsolver and threads if not given.
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdarg=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddmprint=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddm=
|
||||
fi
|
||||
fi
|
||||
|
||||
nsolverprint=$nsolver
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
nsolverprint=
|
||||
fi
|
||||
fi
|
||||
# end of threads setting.
|
||||
gpuoption=
|
||||
if test "$gpuids" = "" ; then
|
||||
|
@ -1030,7 +1030,7 @@ else
|
|||
MARCCUDALIBS=$MARCCUDALIBS2
|
||||
export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH
|
||||
fi
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
|
@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then
|
|||
fi
|
||||
|
||||
if test "$progdll"; then
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
rmdll=yes
|
||||
pathdll=yes
|
||||
progdll=${progdll}_$marcdll
|
||||
|
@ -1093,14 +1093,14 @@ while test forever; do
|
|||
if test $nprocdddm -gt 1 -a $icreated -eq 0; then
|
||||
if test ! -f $DIRJID/1$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/1$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test ! -f $DIRJID/$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1108,7 +1108,7 @@ fi
|
|||
if test $nprocd -gt 1; then
|
||||
if test "$host" ; then
|
||||
if test ! -f $host; then
|
||||
error="$error
|
||||
error="$error
|
||||
host name file $host not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible"
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)"
|
||||
fi
|
||||
fi
|
||||
|
@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible"
|
|||
then
|
||||
if test $nauto -gt 2
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for auto restart "
|
||||
fi
|
||||
fi
|
||||
|
@ -1299,7 +1299,7 @@ incorrect option for auto restart "
|
|||
then
|
||||
if test $ndcoup -gt 3
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for contact decoupling "
|
||||
fi
|
||||
fi
|
||||
|
@ -1307,7 +1307,7 @@ incorrect option for contact decoupling "
|
|||
then
|
||||
if test $ndytran -gt 1
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for Marc-Dytran Switch "
|
||||
fi
|
||||
fi
|
||||
|
@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch "
|
|||
then
|
||||
if test ! -x $MARC_BIN/$exefile
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE "
|
||||
fi
|
||||
fi
|
||||
|
@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
fi
|
||||
$ECHO "User subroutine name ($user)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
user=`pwd`/$user
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
|
@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
fi
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
then
|
||||
qid=$value
|
||||
fi
|
||||
case $qid in
|
||||
case $qid in
|
||||
s* | S* | l* | L* | v* | V* )
|
||||
$ECHO "Queue priority ($priority)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -2039,42 +2039,42 @@ esac
|
|||
|
||||
done
|
||||
#
|
||||
if test $nt -eq 0
|
||||
then
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntarg=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntprint=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
nt=
|
||||
fi
|
||||
|
||||
if test $nte -eq 0
|
||||
then
|
||||
if test $nte -eq 0
|
||||
then
|
||||
ntearg=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nteprint=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nte=
|
||||
fi
|
||||
|
||||
if test $nts -eq 0
|
||||
then
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsarg=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsprint=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
nts=
|
||||
fi
|
||||
#
|
||||
|
@ -2327,7 +2327,7 @@ fi
|
|||
execpath=$usernoext.marc
|
||||
usersub=1
|
||||
fi
|
||||
export execpath
|
||||
export execpath
|
||||
execname=`$BASENAME $execpath`
|
||||
|
||||
if test "$host"
|
||||
|
@ -2360,7 +2360,7 @@ fi
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# less than number of available user ports, 5
|
||||
# .gmpi directory must exist in user's home directory
|
||||
# and must have write permission from remote hosts
|
||||
|
@ -2474,9 +2474,9 @@ fi
|
|||
then
|
||||
# Intel MPI
|
||||
if test -f $jid.mfile
|
||||
then
|
||||
then
|
||||
/bin/rm $jid.mfile 2> /dev/null
|
||||
fi
|
||||
fi
|
||||
/bin/cp $host $jid.host
|
||||
grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile
|
||||
# end Intel MPI for DMP
|
||||
|
@ -2560,7 +2560,7 @@ fi
|
|||
else
|
||||
host=$jid.host
|
||||
host_filt=$host
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
then
|
||||
host_filt=$jid.mfile
|
||||
fi
|
||||
|
@ -2569,7 +2569,7 @@ fi
|
|||
# or distributed and set the variable "dirstatus" accordingly.
|
||||
# only perform the check if user subroutine is used
|
||||
# or a user subroutine executable is used
|
||||
|
||||
|
||||
numfield=1
|
||||
if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware
|
||||
then
|
||||
|
@ -2729,7 +2729,7 @@ fi
|
|||
fi
|
||||
# modify new host file if NFS mounted heterogeneous machine
|
||||
doit=
|
||||
if test $program = $prog.marc
|
||||
if test $program = $prog.marc
|
||||
then
|
||||
doit=yes
|
||||
fi
|
||||
|
@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \
|
|||
printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
||||
/bin/mv $jid.host{$$} $jid.host
|
||||
host=$jid.host
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
fi # if test $program = $prog.marc -o $user -o $obj
|
||||
|
||||
|
||||
else # if test $host
|
||||
# assume shared memory machine if no hostfile given and
|
||||
# MPITYPE is set to mpich or Myrinet
|
||||
# check for Myrinet that the total number of processes is
|
||||
# check for Myrinet that the total number of processes is
|
||||
# less than number of available user ports, 5
|
||||
if test $MPITYPE = "mpich" -o $MPITYPE = "scali"
|
||||
then
|
||||
numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'`
|
||||
echo `hostname` $numproc $execpath > $jid.host
|
||||
host=$jid.host
|
||||
elif test $MPITYPE = "myrinet"
|
||||
elif test $MPITYPE = "myrinet"
|
||||
then
|
||||
if test $nprocd -gt 5
|
||||
then
|
||||
|
@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
|||
fi # if test $host
|
||||
|
||||
fi # if test $nprocd -gt 1
|
||||
|
||||
|
||||
fi # if test $program = $exefile -o $program = $prog.marc
|
||||
|
||||
##############################################################################
|
||||
|
@ -2859,7 +2859,7 @@ else
|
|||
nsolverarg="$nsolverarg $nsolver"
|
||||
fi
|
||||
if test $nprocdddm -lt 2 -a $nsolver -eq 0
|
||||
then
|
||||
then
|
||||
nprocd=0
|
||||
fi
|
||||
if test $nprocd -gt 0
|
||||
|
@ -2870,7 +2870,7 @@ then
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB "
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -3267,6 +3267,7 @@ else
|
|||
fi
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3309,7 +3310,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
fi
|
||||
else
|
||||
if test $cpdll = yes; then
|
||||
|
@ -3318,10 +3319,10 @@ else
|
|||
fi
|
||||
if test $rmdll = yes
|
||||
then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
numdom=$nprocdddm
|
||||
|
@ -3389,15 +3390,15 @@ else
|
|||
#
|
||||
QUENAME=qsub
|
||||
SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid"
|
||||
if test "$priority"
|
||||
if test "$priority"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -p $priority"
|
||||
fi
|
||||
if test "$att"
|
||||
if test "$att"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -a $att"
|
||||
fi
|
||||
if test "$cpu"
|
||||
if test "$cpu"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -lt $cpu"
|
||||
fi
|
||||
|
@ -3579,7 +3580,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3599,6 +3600,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3647,7 +3649,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
# for network run, remove executable on remote machines
|
||||
# and executables with modified name
|
||||
if test $nprocd -gt 1
|
||||
|
@ -3696,7 +3698,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
if test $nprocdddm -gt 1
|
||||
|
@ -3913,7 +3915,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3933,6 +3935,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
# done if no job id given
|
||||
if test -z "$jid"
|
||||
then
|
||||
|
@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then
|
|||
RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc "
|
||||
fi
|
||||
|
||||
$RUN_JOB
|
||||
$RUN_JOB
|
||||
|
||||
if test $nprocd -gt 1
|
||||
then
|
||||
|
@ -4055,7 +4058,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
# =1, element storage out-of-core #
|
||||
# -dll run marc using shared library libmarc.so and exe_marc #
|
||||
# =1, used #
|
||||
# =2, do not free streaming input memory #
|
||||
# =2, do not free streaming input memory #
|
||||
# =3, run with marc input deck #
|
||||
# -trk run marc for post-tracking #
|
||||
# -gpuid run marc using GPGPU capability #
|
||||
|
@ -177,16 +177,16 @@ fi
|
|||
# MARC_MODE i8
|
||||
# it can also be set by the environmental variable MARC_INTEGER_SIZE
|
||||
# and by the command line option "-mo"
|
||||
#
|
||||
#
|
||||
mode=
|
||||
modeerror=
|
||||
modeoption=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
echo
|
||||
line=
|
||||
fi
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults`
|
||||
|
@ -203,7 +203,7 @@ fi
|
|||
if test -f $HOME/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
line=
|
||||
|
@ -226,7 +226,7 @@ if test -z "$mode" ; then
|
|||
mode=i8
|
||||
fi
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported."
|
||||
modeoption=error
|
||||
echo $modeerror
|
||||
|
@ -246,7 +246,7 @@ for arg in $* ; do
|
|||
if $setmode ; then
|
||||
mode=$arg
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for mode option; only i8 is supported."
|
||||
modeoption=error
|
||||
echo
|
||||
|
@ -269,7 +269,7 @@ for arg in $* ; do
|
|||
setmode=false
|
||||
fi
|
||||
if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
setmode=true
|
||||
|
@ -333,7 +333,7 @@ case "`echo '\c'`" in
|
|||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
#
|
||||
# Variables for the MARC environment
|
||||
#
|
||||
|
||||
|
@ -388,7 +388,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH
|
|||
export LD_LIBRARY_PATH
|
||||
export LD_LIBRARY64_PATH
|
||||
export LD_LIBRARYN32_PATH
|
||||
|
||||
|
||||
atexit() {
|
||||
kill -15 $$
|
||||
#
|
||||
|
@ -498,7 +498,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a
|
|||
# or in the user's home directory
|
||||
# format:
|
||||
# MARC_MPI <mpiversion>
|
||||
#
|
||||
#
|
||||
value=
|
||||
file=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
|
@ -523,7 +523,7 @@ if test -n "$value"; then
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
|
@ -543,7 +543,7 @@ if test -n "$value"; then
|
|||
fi
|
||||
fi
|
||||
fi
|
||||
#
|
||||
#
|
||||
#
|
||||
# allow scratch directory to be specified with environmental variable
|
||||
# MARCSCRATCH
|
||||
|
@ -613,7 +613,7 @@ do
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-r* | -R*)
|
||||
rid=`$BASENAME $value .t08`
|
||||
|
@ -624,7 +624,7 @@ do
|
|||
*)
|
||||
DIRRID=`pwd`/$DIRRID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-si* | -SI*)
|
||||
sid=$value
|
||||
|
@ -635,7 +635,7 @@ do
|
|||
*)
|
||||
DIRSID=`pwd`/$DIRSID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-pi* | -PI*)
|
||||
if test -f $value.t19
|
||||
|
@ -651,7 +651,7 @@ do
|
|||
*)
|
||||
DIRPID=`pwd`/$DIRPID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-bdf | -BDF)
|
||||
makebdf=1
|
||||
|
@ -665,7 +665,7 @@ do
|
|||
*)
|
||||
DIRDID=`pwd`/$DIRDID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-vf | -VF)
|
||||
vid=`$BASENAME $value .vfs`
|
||||
|
@ -676,7 +676,7 @@ do
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-u* | -U*)
|
||||
user=$value
|
||||
|
@ -847,7 +847,7 @@ do
|
|||
*)
|
||||
DIRSCR=`pwd`/$DIRSCR
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-ho* | -HO*)
|
||||
host=$value
|
||||
|
@ -898,7 +898,7 @@ fi
|
|||
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -934,7 +934,7 @@ fi
|
|||
ntprint=$nt
|
||||
nteprint=$nte
|
||||
# copy from -nprocd[s]
|
||||
if test $nprocdddm -gt 1
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
nteprint=$nprocdddm
|
||||
fi
|
||||
|
@ -943,7 +943,7 @@ if test $nte -ne 0
|
|||
then
|
||||
nteprint=$nte
|
||||
fi
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
if test $nteprint -lt $nprocdddm
|
||||
|
@ -998,24 +998,24 @@ export OMP_STACKSIZE=7M
|
|||
# deprecate -nthread option at arugment of marc
|
||||
nt=0
|
||||
# Reset nprocdddmm, nsolver and threads if not given.
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdarg=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddmprint=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddm=
|
||||
fi
|
||||
fi
|
||||
|
||||
nsolverprint=$nsolver
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
nsolverprint=
|
||||
fi
|
||||
fi
|
||||
# end of threads setting.
|
||||
gpuoption=
|
||||
if test "$gpuids" = "" ; then
|
||||
|
@ -1030,7 +1030,7 @@ else
|
|||
MARCCUDALIBS=$MARCCUDALIBS2
|
||||
export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH
|
||||
fi
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
|
@ -1059,7 +1059,7 @@ if test "$dllrun" -gt 0; then
|
|||
fi
|
||||
|
||||
if test "$progdll"; then
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
rmdll=yes
|
||||
pathdll=yes
|
||||
progdll=${progdll}_$marcdll
|
||||
|
@ -1093,14 +1093,14 @@ while test forever; do
|
|||
if test $nprocdddm -gt 1 -a $icreated -eq 0; then
|
||||
if test ! -f $DIRJID/1$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/1$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test ! -f $DIRJID/$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1108,7 +1108,7 @@ fi
|
|||
if test $nprocd -gt 1; then
|
||||
if test "$host" ; then
|
||||
if test ! -f $host; then
|
||||
error="$error
|
||||
error="$error
|
||||
host name file $host not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1222,11 +1222,11 @@ view factor file $DIRVID/$vid.vfs not accessible"
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)"
|
||||
fi
|
||||
fi
|
||||
|
@ -1291,7 +1291,7 @@ defaults file $DIRDID/$did$dotdat not accessible"
|
|||
then
|
||||
if test $nauto -gt 2
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for auto restart "
|
||||
fi
|
||||
fi
|
||||
|
@ -1299,7 +1299,7 @@ incorrect option for auto restart "
|
|||
then
|
||||
if test $ndcoup -gt 3
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for contact decoupling "
|
||||
fi
|
||||
fi
|
||||
|
@ -1307,7 +1307,7 @@ incorrect option for contact decoupling "
|
|||
then
|
||||
if test $ndytran -gt 1
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for Marc-Dytran Switch "
|
||||
fi
|
||||
fi
|
||||
|
@ -1315,7 +1315,7 @@ incorrect option for Marc-Dytran Switch "
|
|||
then
|
||||
if test ! -x $MARC_BIN/$exefile
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE "
|
||||
fi
|
||||
fi
|
||||
|
@ -1642,7 +1642,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
fi
|
||||
$ECHO "User subroutine name ($user)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -1660,7 +1660,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
user=`pwd`/$user
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
|
@ -1783,7 +1783,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -1825,7 +1825,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
fi
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -1975,7 +1975,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
then
|
||||
qid=$value
|
||||
fi
|
||||
case $qid in
|
||||
case $qid in
|
||||
s* | S* | l* | L* | v* | V* )
|
||||
$ECHO "Queue priority ($priority)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -2039,42 +2039,42 @@ esac
|
|||
|
||||
done
|
||||
#
|
||||
if test $nt -eq 0
|
||||
then
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntarg=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntprint=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
nt=
|
||||
fi
|
||||
|
||||
if test $nte -eq 0
|
||||
then
|
||||
if test $nte -eq 0
|
||||
then
|
||||
ntearg=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nteprint=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nte=
|
||||
fi
|
||||
|
||||
if test $nts -eq 0
|
||||
then
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsarg=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsprint=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
nts=
|
||||
fi
|
||||
#
|
||||
|
@ -2327,7 +2327,7 @@ fi
|
|||
execpath=$usernoext.marc
|
||||
usersub=1
|
||||
fi
|
||||
export execpath
|
||||
export execpath
|
||||
execname=`$BASENAME $execpath`
|
||||
|
||||
if test "$host"
|
||||
|
@ -2360,7 +2360,7 @@ fi
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# less than number of available user ports, 5
|
||||
# .gmpi directory must exist in user's home directory
|
||||
# and must have write permission from remote hosts
|
||||
|
@ -2474,9 +2474,9 @@ fi
|
|||
then
|
||||
# Intel MPI
|
||||
if test -f $jid.mfile
|
||||
then
|
||||
then
|
||||
/bin/rm $jid.mfile 2> /dev/null
|
||||
fi
|
||||
fi
|
||||
/bin/cp $host $jid.host
|
||||
grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile
|
||||
# end Intel MPI for DMP
|
||||
|
@ -2560,7 +2560,7 @@ fi
|
|||
else
|
||||
host=$jid.host
|
||||
host_filt=$host
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
then
|
||||
host_filt=$jid.mfile
|
||||
fi
|
||||
|
@ -2569,7 +2569,7 @@ fi
|
|||
# or distributed and set the variable "dirstatus" accordingly.
|
||||
# only perform the check if user subroutine is used
|
||||
# or a user subroutine executable is used
|
||||
|
||||
|
||||
numfield=1
|
||||
if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware
|
||||
then
|
||||
|
@ -2729,7 +2729,7 @@ fi
|
|||
fi
|
||||
# modify new host file if NFS mounted heterogeneous machine
|
||||
doit=
|
||||
if test $program = $prog.marc
|
||||
if test $program = $prog.marc
|
||||
then
|
||||
doit=yes
|
||||
fi
|
||||
|
@ -2753,23 +2753,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \
|
|||
printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
||||
/bin/mv $jid.host{$$} $jid.host
|
||||
host=$jid.host
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
fi # if test $program = $prog.marc -o $user -o $obj
|
||||
|
||||
|
||||
else # if test $host
|
||||
# assume shared memory machine if no hostfile given and
|
||||
# MPITYPE is set to mpich or Myrinet
|
||||
# check for Myrinet that the total number of processes is
|
||||
# check for Myrinet that the total number of processes is
|
||||
# less than number of available user ports, 5
|
||||
if test $MPITYPE = "mpich" -o $MPITYPE = "scali"
|
||||
then
|
||||
numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'`
|
||||
echo `hostname` $numproc $execpath > $jid.host
|
||||
host=$jid.host
|
||||
elif test $MPITYPE = "myrinet"
|
||||
elif test $MPITYPE = "myrinet"
|
||||
then
|
||||
if test $nprocd -gt 5
|
||||
then
|
||||
|
@ -2809,7 +2809,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
|||
fi # if test $host
|
||||
|
||||
fi # if test $nprocd -gt 1
|
||||
|
||||
|
||||
fi # if test $program = $exefile -o $program = $prog.marc
|
||||
|
||||
##############################################################################
|
||||
|
@ -2859,7 +2859,7 @@ else
|
|||
nsolverarg="$nsolverarg $nsolver"
|
||||
fi
|
||||
if test $nprocdddm -lt 2 -a $nsolver -eq 0
|
||||
then
|
||||
then
|
||||
nprocd=0
|
||||
fi
|
||||
if test $nprocd -gt 0
|
||||
|
@ -2870,7 +2870,7 @@ then
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -2975,7 +2975,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB "
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -3267,6 +3267,7 @@ else
|
|||
fi
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3309,7 +3310,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
fi
|
||||
else
|
||||
if test $cpdll = yes; then
|
||||
|
@ -3318,10 +3319,10 @@ else
|
|||
fi
|
||||
if test $rmdll = yes
|
||||
then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
numdom=$nprocdddm
|
||||
|
@ -3389,15 +3390,15 @@ else
|
|||
#
|
||||
QUENAME=qsub
|
||||
SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid"
|
||||
if test "$priority"
|
||||
if test "$priority"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -p $priority"
|
||||
fi
|
||||
if test "$att"
|
||||
if test "$att"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -a $att"
|
||||
fi
|
||||
if test "$cpu"
|
||||
if test "$cpu"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -lt $cpu"
|
||||
fi
|
||||
|
@ -3579,7 +3580,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3599,6 +3600,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3647,7 +3649,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
# for network run, remove executable on remote machines
|
||||
# and executables with modified name
|
||||
if test $nprocd -gt 1
|
||||
|
@ -3696,7 +3698,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
if test $nprocdddm -gt 1
|
||||
|
@ -3913,7 +3915,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3933,6 +3935,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
# done if no job id given
|
||||
if test -z "$jid"
|
||||
then
|
||||
|
@ -3972,7 +3975,7 @@ if test $ddm_arc -gt 0; then
|
|||
RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc "
|
||||
fi
|
||||
|
||||
$RUN_JOB
|
||||
$RUN_JOB
|
||||
|
||||
if test $nprocd -gt 1
|
||||
then
|
||||
|
@ -4055,7 +4058,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# Normal exit status is 0.
|
||||
#
|
||||
|
||||
DIR=/nethome/storage/raid3/f.roters/Software/MSC/Marc2018-RH7.1/marc2018
|
||||
DIR=/tmp/msc/marc2018
|
||||
if test $MARCDIR1
|
||||
then
|
||||
DIR=$MARCDIR1
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
#!/bin/ksh
|
||||
# 1st arg: $DIR
|
||||
# 2nd arg: $DIRJOB
|
||||
# 3rd arg: $user
|
||||
# 4th arg: $program
|
||||
DIR=$1
|
||||
user=$3
|
||||
program=$4
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90`
|
||||
|
||||
# add BLAS options for linking
|
||||
BLAS="%BLAS%"
|
||||
|
||||
. $DIR/tools/include
|
||||
DIRJOB=$2
|
||||
cd $DIRJOB
|
||||
echo "Compiling and linking user subroutine $user on host `hostname`"
|
||||
echo "program: $program"
|
||||
$DFORTHIGHMP $user || \
|
||||
{
|
||||
echo "$0: compile failed for $user"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $program 2>/dev/null
|
||||
userobj=$usernoext.o
|
||||
|
||||
|
||||
$LOAD ${program} $DIR/lib/main.o\
|
||||
$DIR/lib/blkdta.o $DIR/lib/comm?.o \
|
||||
${userobj-} \
|
||||
$DIR/lib/srclib.a \
|
||||
$MNFLIBS \
|
||||
$MDUSER \
|
||||
../lib/mdsrc.a \
|
||||
../lib/mcvfit.a \
|
||||
$STUBS \
|
||||
${SOLVERLIBS} \
|
||||
$TKLIBS \
|
||||
$MRCLIBS \
|
||||
$METISLIBS \
|
||||
$BLAS \
|
||||
$SYSLIBS || \
|
||||
{
|
||||
echo "$0: link failed for $usernoext.o on host `hostname`"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
|
@ -0,0 +1,53 @@
|
|||
#!/bin/ksh
|
||||
# 1st arg: $DIR
|
||||
# 2nd arg: $DIRJOB
|
||||
# 3rd arg: $user
|
||||
# 4th arg: $program
|
||||
DIR=$1
|
||||
user=$3
|
||||
program=$4
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90`
|
||||
|
||||
# add BLAS options for linking
|
||||
BLAS="%BLAS%"
|
||||
|
||||
. $DIR/tools/include
|
||||
DIRJOB=$2
|
||||
cd $DIRJOB
|
||||
echo "Compiling and linking user subroutine $user on host `hostname`"
|
||||
echo "program: $program"
|
||||
$DFORTRANLOWMP $user || \
|
||||
{
|
||||
echo "$0: compile failed for $user"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $program 2>/dev/null
|
||||
userobj=$usernoext.o
|
||||
|
||||
|
||||
$LOAD ${program} $DIR/lib/main.o\
|
||||
$DIR/lib/blkdta.o $DIR/lib/comm?.o \
|
||||
${userobj-} \
|
||||
$DIR/lib/srclib.a \
|
||||
$MNFLIBS \
|
||||
$MDUSER \
|
||||
../lib/mdsrc.a \
|
||||
../lib/mcvfit.a \
|
||||
$STUBS \
|
||||
${SOLVERLIBS} \
|
||||
$TKLIBS \
|
||||
$MRCLIBS \
|
||||
$METISLIBS \
|
||||
$BLAS \
|
||||
$SYSLIBS || \
|
||||
{
|
||||
echo "$0: link failed for $usernoext.o on host `hostname`"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
|
@ -0,0 +1,53 @@
|
|||
#!/bin/ksh
|
||||
# 1st arg: $DIR
|
||||
# 2nd arg: $DIRJOB
|
||||
# 3rd arg: $user
|
||||
# 4th arg: $program
|
||||
DIR=$1
|
||||
user=$3
|
||||
program=$4
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90`
|
||||
|
||||
# add BLAS options for linking
|
||||
BLAS="%BLAS%"
|
||||
|
||||
. $DIR/tools/include
|
||||
DIRJOB=$2
|
||||
cd $DIRJOB
|
||||
echo "Compiling and linking user subroutine $user on host `hostname`"
|
||||
echo "program: $program"
|
||||
$DFORTRANMP $user || \
|
||||
{
|
||||
echo "$0: compile failed for $user"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $program 2>/dev/null
|
||||
userobj=$usernoext.o
|
||||
|
||||
|
||||
$LOAD ${program} $DIR/lib/main.o\
|
||||
$DIR/lib/blkdta.o $DIR/lib/comm?.o \
|
||||
${userobj-} \
|
||||
$DIR/lib/srclib.a \
|
||||
$MNFLIBS \
|
||||
$MDUSER \
|
||||
../lib/mdsrc.a \
|
||||
../lib/mcvfit.a \
|
||||
$STUBS \
|
||||
${SOLVERLIBS} \
|
||||
$TKLIBS \
|
||||
$MRCLIBS \
|
||||
$METISLIBS \
|
||||
$BLAS \
|
||||
$SYSLIBS || \
|
||||
{
|
||||
echo "$0: link failed for $usernoext.o on host `hostname`"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
|
@ -0,0 +1,41 @@
|
|||
#!/bin/ksh
|
||||
# 1st arg: $DIR
|
||||
# 2nd arg: $DIRJOB
|
||||
# 3rd arg: $user
|
||||
# 4th arg: $program
|
||||
DIR=$1
|
||||
user=$3
|
||||
program=$4
|
||||
. $DIR/tools/include
|
||||
DIRJOB=$2
|
||||
cd $DIRJOB
|
||||
echo "Compiling and linking user subroutine $user.f on host `hostname`"
|
||||
echo "program: $program"
|
||||
$FORTRAN $user.f || \
|
||||
{
|
||||
echo "$0: compile failed for $user.f"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $program 2>/dev/null
|
||||
userobj=$user.o
|
||||
|
||||
|
||||
$LOAD ${program} $DIR/lib/main.o\
|
||||
$DIR/lib/blkdta.o $DIR/lib/comm?.o \
|
||||
${userobj-} \
|
||||
$DIR/lib/srclib.a \
|
||||
$MNFLIBS \
|
||||
$MDUSER \
|
||||
../lib/mdsrc.a \
|
||||
../lib/mcvfit.a \
|
||||
$STUBS \
|
||||
${SOLVERLIBS} \
|
||||
$TKLIBS \
|
||||
$MRCLIBS \
|
||||
$METISLIBS \
|
||||
$SYSLIBS || \
|
||||
{
|
||||
echo "$0: link failed for $user.o on host `hostname`"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
|
@ -0,0 +1,818 @@
|
|||
#
|
||||
# General definitions for the Marc 2019 FP1 version
|
||||
#
|
||||
# EM64T
|
||||
#
|
||||
# Linux RedHat 7.1, 7.3 / SuSE 11 SP4, 12 SP1
|
||||
#
|
||||
# 64 bit MPI version
|
||||
#
|
||||
# Intel(R) Fortran Intel(R) 64 Compiler XE for applications
|
||||
# running on Intel(R) 64, Version 17.0.5.239 Build 20170817
|
||||
#
|
||||
# Intel(R) C Intel(R) 64 Compiler XE for applications
|
||||
# running on Intel(R) 64, Version 17.0.5.239 Build 20170817
|
||||
#
|
||||
# To check the O/S level, type:
|
||||
# uname -a
|
||||
#
|
||||
# Distributed parallel MPI libraries:
|
||||
# 1) HP MPI 2.3
|
||||
# To check the mpi version, type:
|
||||
# mpirun -version
|
||||
# 2) Intel MPI 2017.1
|
||||
# To check the mpi version, type:
|
||||
# mpiexec.hydra -version
|
||||
#
|
||||
# To check the Compiler level, type using the compiler
|
||||
# installation path:
|
||||
# ifort -V
|
||||
# icc -V
|
||||
#
|
||||
# REMARKS : This file contains the definitions of variables used during
|
||||
# compilation loading and use of the MARC programmes . The
|
||||
# current machine type is identified by means of the variable
|
||||
# MACHINE , defined below.
|
||||
#
|
||||
#
|
||||
# MPI_ROOT: root directory in which mpi shared libraries, etc. are located
|
||||
# DIRJOB : directory in which spawned jobs should look for Marc input
|
||||
# MPI_ARCH: system architecture
|
||||
# MPI_EPATH: path where executable resides
|
||||
#
|
||||
REVISION="VERSION, BUILD"
|
||||
HOSTNAME=`hostname`
|
||||
|
||||
# find available memory in Mbyte on the machine
|
||||
# can be set explicitly
|
||||
MEMLIMIT=`free -m | awk '/Mem:/ {print $2}'`
|
||||
|
||||
# set _OEM_NASTRAN to 1 for MD Nastran build
|
||||
# override _OEM_NASTRAN setting with MARC_MD_NASTRAN environment variable
|
||||
_OEM_NASTRAN="${MARC_MD_NASTRAN:-0}"
|
||||
|
||||
# uncomment the following line for an autoforge build
|
||||
#AUTOFORGE=1
|
||||
AUTOFORGE=0
|
||||
export AUTOFORGE
|
||||
|
||||
# integer size
|
||||
if test "$MARC_INTEGER_SIZE" = "" ; then
|
||||
INTEGER_PATH=
|
||||
else
|
||||
INTEGER_PATH=/$MARC_INTEGER_SIZE
|
||||
fi
|
||||
|
||||
FCOMP=ifort
|
||||
INTELPATH="/opt/intel/compilers_and_libraries_2017/linux"
|
||||
|
||||
# find the root directory of the compiler installation:
|
||||
# - if ifort is found in $PATH, then the root directory is derived
|
||||
# from the path to ifort
|
||||
# - if ifort is not found in $PATH, the root directory is assumed
|
||||
# to be $INTELPATH and the directory in which ifort is found is
|
||||
# added to $PATH
|
||||
FCOMPPATH=`which "$FCOMP" 2>/dev/null`
|
||||
if test -n "$FCOMPPATH"; then
|
||||
# derive the root directory from $FCOMPPATH
|
||||
FCOMPROOT="${FCOMPPATH%/bin/intel64/$FCOMP}"
|
||||
if test "$FCOMPROOT" = "$FCOMPPATH"; then
|
||||
FCOMPROOT="${FCOMPPATH%/bin/$FCOMP}"
|
||||
fi
|
||||
if test "$FCOMPROOT" = "$FCOMPPATH"; then
|
||||
FCOMPROOT=
|
||||
fi
|
||||
elif test -d "$INTELPATH"; then
|
||||
# check for compiler in $INTELPATH
|
||||
if test -d "$INTELPATH/bin/intel64" -a \
|
||||
-x "$INTELPATH/bin/intel64/$FCOMP" ; then
|
||||
FCOMPROOT="$INTELPATH"
|
||||
PATH="$INTELPATH/bin/intel64:$PATH"
|
||||
elif test -d "$INTELPATH/bin" -a \
|
||||
-x "$INTELPATH/bin/$FCOMP"; then
|
||||
FCOMPROOT="$INTELPATH"
|
||||
PATH="$INTELPATH/bin:$PATH"
|
||||
else
|
||||
FCOMPROOT=
|
||||
fi
|
||||
else
|
||||
FCOMPROOT=
|
||||
fi
|
||||
|
||||
# DAMASK uses the HDF5 compiler wrapper around the Intel compiler
|
||||
H5FC="$(h5fc -shlib -show)"
|
||||
HDF5_LIB=${H5FC//ifort/}
|
||||
FCOMP="$H5FC -DDAMASK_HDF5"
|
||||
|
||||
# AEM
|
||||
if test "$MARCDLLOUTDIR" = ""; then
|
||||
DLLOUTDIR="$MARC_LIB"
|
||||
else
|
||||
DLLOUTDIR="$MARCDLLOUTDIR"
|
||||
fi
|
||||
|
||||
# settings for MKL
|
||||
if test "$IMKLDIR" = ""; then
|
||||
MARC_MKL="$FCOMPROOT/mkl/lib/intel64"
|
||||
else
|
||||
MARC_MKL=$IMKLDIR/lib/intel64
|
||||
fi
|
||||
|
||||
#
|
||||
# settings for Metis
|
||||
#
|
||||
METIS="-I$METIS_SOURCE/include"
|
||||
METISLIBS="$METISLIB_DIR/libmarcddm.a $METISLIB_DIR/libmarcmetis.a "
|
||||
|
||||
#
|
||||
# settings for MPI
|
||||
#
|
||||
# RCP and RSH are used for parallel network runs
|
||||
# replace with similar commands like rsh if needed
|
||||
RCP=/usr/bin/scp
|
||||
RSH=/usr/bin/ssh
|
||||
#
|
||||
|
||||
|
||||
MPI_DEFAULT=intelmpi
|
||||
MPI_OTHER=hpmpi
|
||||
|
||||
MPITYPE=$MPI_DEFAULT
|
||||
|
||||
if test $AUTOFORGE
|
||||
then
|
||||
if test $AUTOFORGE = 1
|
||||
then
|
||||
MPITYPE=none
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# overrule MPITYPE setting with environmental variable MARC_MPITYPE
|
||||
if test $MARC_MPITYPE
|
||||
then
|
||||
MPITYPE=$MARC_MPITYPE
|
||||
fi
|
||||
|
||||
# always set MPITYPE to none for MD Nastran
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
MPITYPE=none
|
||||
fi
|
||||
|
||||
# Edit following lines to build with GPGPU version of BCS Solver for
|
||||
# NVIDIA platforms
|
||||
#BCSGPUSOLVER=NONE
|
||||
BCSGPUSOLVER=BCSGPU
|
||||
|
||||
# Edit following lines to set the openssl library
|
||||
if test "$OPENSSL" != "NONE"
|
||||
then
|
||||
OPENSSL_LIB="$MARC_LIB/libcrypto.a"
|
||||
fi
|
||||
OPENSSL_INCLUDE=-I"$MARC_OPENSSL/include/"
|
||||
|
||||
MARCHDF_HDF=HDF
|
||||
#MARCHDF_HDF=NONE
|
||||
if test "$MARCHDF_HDF" = "HDF"; then
|
||||
HDF_INCLUDE="-I$MARC_HDF/include"
|
||||
HDF_LIBS="$MARC_LIB/libhdf5_fortran.so.100 $MARC_LIB/libhdf5.so.101"
|
||||
fi
|
||||
|
||||
# activate contact component build if flagged
|
||||
AEM_DLL=0
|
||||
if test "$AEM_BUILD" = "ON" ; then
|
||||
AEM_DLL=1
|
||||
LINK_MARC_DLL="-shared -fPIC"
|
||||
EXT_DLL="so"
|
||||
MPITYPE=none
|
||||
MPI_OTHER=
|
||||
BCSGPUSOLVER=NONE
|
||||
MUMPSSOLVER=NONE
|
||||
CASISOLVER=NONE
|
||||
fi
|
||||
|
||||
SOLVERFLAGS=
|
||||
if test "$BCSGPUSOLVER" = BCSGPU
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA"
|
||||
BCS_DIR=bcsgpusolver
|
||||
else
|
||||
BCS_DIR=bcssolver
|
||||
fi
|
||||
#
|
||||
# settings for MPI
|
||||
#
|
||||
DDM=
|
||||
if test $MPITYPE != none
|
||||
then
|
||||
if test $MPITYPE = hpmpi
|
||||
then
|
||||
FCOMPMPI=mpif90
|
||||
export MPI_ROOT=$MARC_HPMPI
|
||||
export MPI_REMSH=$RSH
|
||||
export MPI_F77=$FCOMP
|
||||
ARCHITECTURE=linux_amd64
|
||||
DDM="-I$MPI_ROOT/include/64 -DDDM -DHPMPI"
|
||||
MPI_CLEAN=
|
||||
export MPI_EPATH=$MARC_BIN
|
||||
export LD_LIBRARY_PATH=$MPI_ROOT/lib/$ARCHITECTURE:$MARC_LIB:$MARC_LIB_SHARED:$LD_LIBRARY_PATH
|
||||
export MPIHPSPECIAL="-e MPI_FLAGS=E,T,y1"
|
||||
# Below line is moved in run_marc file
|
||||
# export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e BINDIR=$MARC_BIN"
|
||||
if test -n "$MSC_LICENSE_FILE"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e MSC_LICENSE_FILE=$MSC_LICENSE_FILE"
|
||||
fi
|
||||
if test -n "$LM_LICENSE_FILE"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e LM_LICENSE_FILE=$LM_LICENSE_FILE"
|
||||
fi
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e MPI_LIC_CHECKER=$MPI_ROOT/bin/licensing/amd64_s8/lichk.x"
|
||||
RUN_JOB2="$MPI_ROOT/bin/mpirun ${MPIRUNOPTIONS} -prot -f "
|
||||
RUN_JOB1="$MPI_ROOT/bin/mpirun ${MPIRUNOPTIONS} -prot -w $MPIHPSPECIAL -np "
|
||||
RUN_JOB0=
|
||||
fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
INTELMPI_VERSION=HYDRA
|
||||
FCOMPMPI=mpiifort
|
||||
MPI_ROOT=$MARC_INTELMPI
|
||||
DDM="-I${MPI_ROOT}/include -DDDM"
|
||||
PATH=$MPI_ROOT/bin:$PATH
|
||||
export PATH
|
||||
LD_LIBRARY_PATH=$MPI_ROOT/lib:$LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH
|
||||
if test $INTELMPI_VERSION = HYDRA
|
||||
then
|
||||
RUN_JOB1="${MPI_ROOT}/bin/mpiexec.hydra -genvall -n "
|
||||
RUN_JOB2="${MPI_ROOT}/bin/mpiexec.hydra -genvall"
|
||||
else
|
||||
RUN_JOB1="${MPI_ROOT}/bin/mpiexec -n "
|
||||
RUN_JOB2="${MPI_ROOT}/bin/mpiexec -configfile "
|
||||
fi
|
||||
RUN_JOB0=
|
||||
MPI_CLEAN=
|
||||
MPI_EPATH=$MARC_BIN
|
||||
MPIR_HOME=$MPI_ROOT
|
||||
MPICH_F77=$FCOMP
|
||||
MPICH_F77LINKER=$FCOMP
|
||||
export MPI_ROOT MPI_EPATH MPIR_HOME MPICH_F77 MPICH_F77LINKER
|
||||
I_MPI_PIN_DOMAIN=node
|
||||
export I_MPI_PIN_DOMAIN
|
||||
fi
|
||||
else
|
||||
MPI_ROOT=$MARC_DUMMYMPI
|
||||
export MPI_ROOT=$MARC_DUMMYMPI
|
||||
DDM="-I$MPI_ROOT/include"
|
||||
fi
|
||||
|
||||
#
|
||||
# variables for the "maintain" script
|
||||
#
|
||||
|
||||
MACHINENAME=LINUX
|
||||
MACHINE64BIT=yes
|
||||
MACHINE=Linux_EM64T
|
||||
DEV=/dev/tape
|
||||
GETLOG="whoami"
|
||||
CLEAR="clear"
|
||||
MY_UNAME=`uname -a`
|
||||
|
||||
# Edit following 2 lines to build with VKI Solver
|
||||
#VKISOLVER=VKI
|
||||
VKISOLVER=NONE
|
||||
|
||||
# Edit following 2 lines to build with CASI Solver
|
||||
CASISOLVER=CASI
|
||||
if test "$MARC_CASISOLVER" = "NONE" ; then
|
||||
CASISOLVER=NONE
|
||||
fi
|
||||
#CASISOLVER=NONE
|
||||
|
||||
# Edit following 2 lines to build with MF2 Solver
|
||||
MF2SOLVER=NONE
|
||||
#MF2SOLVER=SERIAL
|
||||
#MF2SOLVER=MF2PARALLEL
|
||||
|
||||
# Edit following lines to build with Intel(c) Multithreaded solver (PARDISO)
|
||||
#INTELSOLVER=NONE
|
||||
INTELSOLVER=PARDISO
|
||||
|
||||
# Edit following lines to build with MUMPS
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
#MUMPSSOLVER=NONE
|
||||
MUMPSSOLVER=MUMPS
|
||||
else
|
||||
#MUMPSSOLVER=NONE
|
||||
MUMPSSOLVER=MUMPS
|
||||
fi
|
||||
|
||||
# Edit following 2 lines to build MARC dynamic shared library
|
||||
MARC_DLL=MARC_DLL
|
||||
MARC_DLL=NONE
|
||||
|
||||
# always set VKISOLVER, CASISOLVER, BCSGPUSOLVER, and MARC_DLL to NONE for MD Nastran
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
VKISOLVER=NONE
|
||||
CASISOLVER=NONE
|
||||
MF2SOLVER=NONE
|
||||
INTELSOLVER=NONE
|
||||
MUMPSSOLVER=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
MARC_DLL=NONE
|
||||
fi
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
VKISOLVER=NONE
|
||||
CASISOLVER=NONE
|
||||
MF2SOLVER=NONE
|
||||
INTELSOLVER=NONE
|
||||
MUMPSSOLVER=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
fi
|
||||
|
||||
#
|
||||
# define Fortran and C compile syntax
|
||||
#
|
||||
if test "$VKISOLVER" = VKI
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DVKI"
|
||||
fi
|
||||
|
||||
if test "$CASISOLVER" = CASI
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DCASI"
|
||||
fi
|
||||
|
||||
if test "$MF2SOLVER" = MF2PARALLEL
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMF2PARALLEL"
|
||||
fi
|
||||
if test "$MF2SOLVER" = MF2SERIAL
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMF2SERIAL"
|
||||
fi
|
||||
|
||||
if test "$INTELSOLVER" = PARDISO
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DPARDISO"
|
||||
fi
|
||||
|
||||
if test "$MUMPSSOLVER" = MUMPS
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMUMPS"
|
||||
fi
|
||||
|
||||
|
||||
if test "$MARC_DLL" = MARC_DLL
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMARC_DLL"
|
||||
fi
|
||||
|
||||
LINK_OPT=
|
||||
DEBUG_OPT=
|
||||
C_DEBUG_OPT=
|
||||
|
||||
#Uncomment following line to build Marc in debuggable mode
|
||||
MARCDEBUG=
|
||||
#MARCDEBUG="ON"
|
||||
|
||||
if test "$MARCDEBUG" = "ON"
|
||||
then
|
||||
LINK_OPT="-debug -traceback"
|
||||
DEBUG_OPT="-debug -traceback"
|
||||
C_DEBUG_OPT="-debug -traceback"
|
||||
fi
|
||||
|
||||
|
||||
MARCCHECK=
|
||||
#MARCCHECK="ON"
|
||||
if test "$MARCCHECK" = "ON"
|
||||
then
|
||||
DEBUG_OPT="$DEBUG_OPT -fpe0 -fp-stack-check -check all -ftrapuv "
|
||||
C_DEBUG_OPT="$C_DEBUG_OPT -fp-stack-check -check-uninit -Wformat -ftrapuv "
|
||||
fi
|
||||
|
||||
MARCCODECOV=
|
||||
#MARCCODECOV="ON"
|
||||
|
||||
MARCCODEPROF=
|
||||
#MARCCODEPROF="ON"
|
||||
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
I8FFLAGS=
|
||||
I8DEFINES=
|
||||
I8CDEFINES=
|
||||
else
|
||||
I8FFLAGS="-i8 -integer-size 64"
|
||||
I8DEFINES="-DI64 -DINT=8"
|
||||
I8CDEFINES="-U_DOUBLE -D_SINGLE"
|
||||
fi
|
||||
|
||||
MTHREAD=OPENMP
|
||||
if test "$MARC_OPENMP" = "NONE" ; then
|
||||
MTHREAD=NONE
|
||||
fi
|
||||
#MTHREAD=NONE
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
MTHREAD=NONE
|
||||
fi
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
MTHREAD=NONE
|
||||
CASISOLVER=NONE
|
||||
VKISOLVER=NONE
|
||||
MF2SOLVER=NONE
|
||||
INTELSOLVER=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
OPENSSL_LIB=
|
||||
MARC_DLL=NONE
|
||||
METISLIBS=
|
||||
fi
|
||||
|
||||
OMP_COMPAT=NO
|
||||
OMP_COMPAT=YES
|
||||
if test "$MTHREAD" = "NONE"
|
||||
then
|
||||
OMP_COMPAT=NO
|
||||
fi
|
||||
|
||||
CDEFINES=
|
||||
FDEFINES=
|
||||
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
CDEFINES="$CDEFINES -D_OEM_NASTRAN"
|
||||
FDEFINES="$FDEFINES -D_OEM_NASTRAN"
|
||||
fi
|
||||
|
||||
FDEFINES="$FDEFINES -D_IMPLICITNONE"
|
||||
|
||||
if test "$_OEM_NASTRAN" -eq 0
|
||||
then
|
||||
FDEFINES="$FDEFINES -DMKL -DOPENMP"
|
||||
fi
|
||||
|
||||
if test "$OMP_COMPAT" = "YES"
|
||||
then
|
||||
FDEFINES="$FDEFINES -DOMP_COMPAT"
|
||||
fi
|
||||
|
||||
# -D_MSCMARC
|
||||
FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT $MARC_SIMUFACT"
|
||||
CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES"
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
FDEFINES="$FDEFINES -D_AEMNL -DAAA"
|
||||
CDEFINES="$CDEFINES -D_AEMNL -DAAA"
|
||||
fi
|
||||
|
||||
CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource $METIS -I$LAPI_IMPORTS/common/include"
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
CINCL="$CINCL -I../../include"
|
||||
fi
|
||||
|
||||
CC_OPT=
|
||||
if test "$MTHREAD" = "OPENMP"
|
||||
then
|
||||
CC_OPT=" $CC_OPT -qopenmp"
|
||||
fi
|
||||
|
||||
CC="icc -c $CC_OPT -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCLOW="icc -c $CC_OPT -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCHIGH="icc -c $CC_OPT -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
|
||||
if test "$MARCDEBUG" = "ON"
|
||||
then
|
||||
CC="icc -c $CC_OPT -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCLOW="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCHIGH="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
fi
|
||||
|
||||
LOAD_CC="icc $CC_OPT -O1 -DLinux -DLINUX -DLinux_intel"
|
||||
CCT="$CC"
|
||||
CCTLOW="$CCLOW"
|
||||
CCTHIGH="$CCHIGH"
|
||||
|
||||
#PROFILE="-Mprof=func"
|
||||
#PROFILE="-Mprof=lines"
|
||||
#PROFILE="-Mprof=func,mpi"
|
||||
PROFILE=
|
||||
#PROFILE="-init=snan,arrays -CB -traceback -fpe0 -fp-stack-check -check all -check uninit -ftrapuv"
|
||||
if test "$MARCCODECOV" = "ON"
|
||||
then
|
||||
PROFILE="-prof-gen=srcpos"
|
||||
fi
|
||||
if test "$MARCCODEPROF" = "ON"
|
||||
then
|
||||
PROFILE=" $PROFILE -pg"
|
||||
fi
|
||||
|
||||
FORT_OPT="-c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr -mp1 -WB -fp-model source"
|
||||
if test "$MTHREAD" = "OPENMP"
|
||||
then
|
||||
FORT_OPT=" $FORT_OPT -qopenmp"
|
||||
if test "$OMP_COMPAT" = "YES"
|
||||
then
|
||||
FORT_OPT=" $FORT_OPT -qopenmp-threadprivate=compat"
|
||||
fi
|
||||
else
|
||||
# FORT_OPT=" $FORT_OPT -auto "
|
||||
FORT_OPT=" $FORT_OPT -save -zero"
|
||||
fi
|
||||
if test "$MARCHDF_HDF" = "HDF"; then
|
||||
FORT_OPT="$FORT_OPT -DMARCHDF=$MARCHDF_HDF"
|
||||
fi
|
||||
|
||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||
# for compiling free form f90 files. high opt, integer(4)
|
||||
FORTF90="$FCOMP -c -O3"
|
||||
|
||||
# determine DAMASK version
|
||||
if test -n "$DAMASK_USER"; then
|
||||
DAMASKROOT=`dirname $DAMASK_USER`/..
|
||||
read DAMASKVERSION < $DAMASKROOT/VERSION
|
||||
DAMASKVERSION="'"$DAMASKVERSION"'"
|
||||
else
|
||||
DAMASKVERSION="'N/A'"
|
||||
fi
|
||||
|
||||
|
||||
# DAMASK compiler calls: additional flags are in line 2 OpenMP flags in line 3
|
||||
DFORTLOWMP="$FCOMP -c -O0 -qno-offload -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2019 -DDAMASKVERSION=$DAMASKVERSION \
|
||||
-qopenmp -qopenmp-threadprivate=compat\
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
DFORTRANMP="$FCOMP -c -O1 -qno-offload -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2019 -DDAMASKVERSION=$DAMASKVERSION \
|
||||
-qopenmp -qopenmp-threadprivate=compat\
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
DFORTHIGHMP="$FCOMP -c -O3 -qno-offload -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2019 -DDAMASKVERSION=$DAMASKVERSION \
|
||||
-qopenmp -qopenmp-threadprivate=compat\
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
|
||||
if test "$MARCDEBUG" = "ON"
|
||||
then
|
||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||
fi
|
||||
|
||||
|
||||
FORTLOWT="$FORTLOW"
|
||||
FORTRANT="$FORTRAN"
|
||||
FORTHIGHT="$FORTHIGH"
|
||||
|
||||
FORTRANMNF="$FCOMP -c $FDEFINES "
|
||||
CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE"
|
||||
|
||||
if test $MPITYPE != none
|
||||
then
|
||||
if test $MPITYPE = hpmpi
|
||||
then
|
||||
LOAD="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o "
|
||||
LOADT="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o "
|
||||
fi
|
||||
# Uncomment the following lines to turn on the tracer and commnet out the next 5 lines
|
||||
# if test $MPITYPE = intelmpi
|
||||
# then
|
||||
# INCLUDEMPI="-I$MPI_ROOT/include -I$VT_ROOT/include"
|
||||
# LOAD="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
||||
# LOADT="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
||||
# fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
LOAD="ifort $PROFILE $LINK_OPT -o "
|
||||
LOADT="ifort $PROFILE $LINK_OPT -o "
|
||||
fi
|
||||
else
|
||||
LOAD="$FCOMP $LINK_OPT -o "
|
||||
LOADT="$FCOMP $LINK_OPT -o "
|
||||
fi
|
||||
|
||||
if test "$MARC_DLL" = MARC_DLL
|
||||
then
|
||||
FORTLOW="$FORTLOW -fpp -fPIC"
|
||||
FORTRAN="$FORTRAN -fpp -fPIC"
|
||||
FORTHIGH="$FORTHIGH -fpp -fPIC"
|
||||
FORTRANMNF="$FORTRANMNF -fpp -fPIC"
|
||||
CC="$CC -fPIC"
|
||||
CCMNF="$CCMNF -fPIC"
|
||||
LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread"
|
||||
LINK_MARC_DLL="-shared -fPIC"
|
||||
LOAD_DLL=$LOAD
|
||||
LOADT_DLL=$LOADT
|
||||
EXT_DLL="so"
|
||||
fi
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
FORTLOW="$FORTLOW -fpp -fPIC"
|
||||
FORTRAN="$FORTRAN -fpp -fPIC"
|
||||
FORTHIGH="$FORTHIGH -fpp -fPIC"
|
||||
FORTRANMNF="$FORTRANMNF -fpp -fPIC"
|
||||
CC="$CC -fPIC"
|
||||
CCMNF="$CCMNF -fPIC"
|
||||
LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide"
|
||||
LINK_MARC_DLL="-shared -fPIC"
|
||||
LOAD_DLL=$LOAD
|
||||
LOADT_DLL=$LOADT
|
||||
EXT_DLL="so"
|
||||
fi
|
||||
|
||||
|
||||
XLIBS="-L/usr/X11/lib -lX11 "
|
||||
|
||||
#
|
||||
# define archive and ranlib syntax
|
||||
#
|
||||
|
||||
ARC="ar rvl"
|
||||
ARD="ar dvl"
|
||||
ARX="ar xl"
|
||||
RAN=""
|
||||
|
||||
#
|
||||
# choose which libraries you want to use ( e.g. blas )
|
||||
#
|
||||
|
||||
if test "$VKISOLVER" = VKI
|
||||
then
|
||||
VKISOLVERLIBS="$MARC_LIB/vkisolver.a"
|
||||
else
|
||||
VKISOLVERLIBS=
|
||||
fi
|
||||
|
||||
if test "$CASISOLVER" = CASI
|
||||
then
|
||||
CASISOLVERLIBS="$CASILIB_DIR/libmarccasi.a $CASILIB_DIR/libcasi.a"
|
||||
else
|
||||
CASISOLVERLIBS=
|
||||
fi
|
||||
|
||||
MF2SOLVERLIBS=
|
||||
if test "$MF2SOLVER" = MF2PARALLEL
|
||||
then
|
||||
MF2SOLVERLIBS="$MARC_LIB/mf2parallel/libseq.a \
|
||||
$MARC_LIB/mf2parallel/libsym.a \
|
||||
$MARC_LIB/mf2parallel/libmet.a \
|
||||
$MARC_LIB/mf2parallel/libmf2.a \
|
||||
$MARC_LIB/mf2parallel/libgauss.a \
|
||||
$MARC_LIB/mf2parallel/libmf2.a \
|
||||
$MARC_LIB/mf2parallel/libgauss.a \
|
||||
$MARC_LIB/mf2parallel/libnum.a \
|
||||
$MARC_LIB/mf2parallel/libutl.a \
|
||||
$MARC_LIB/mf2parallel/libr8.a \
|
||||
$MARC_LIB/mf2parallel/libz.a "
|
||||
fi
|
||||
|
||||
if test "$MUMPSSOLVER" = MUMPS
|
||||
then
|
||||
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a"
|
||||
if test $MPITYPE = none
|
||||
then
|
||||
MUMPSSOLVERLIBS2=
|
||||
echo hello > /dev/null
|
||||
fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a"
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a "
|
||||
else
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a "
|
||||
fi
|
||||
fi
|
||||
if test $MPITYPE = hpmpi
|
||||
then
|
||||
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_hpmpi.a"
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a"
|
||||
else
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
MUMPSSOLVERLIBS=
|
||||
MUMPSSOLVERLIBS2=
|
||||
fi
|
||||
|
||||
if test "$BCSGPUSOLVER" = BCSGPU
|
||||
then
|
||||
BCSSOLVERLIBS="${BCSLIB_DIR}/bcsgpulib.a "
|
||||
MARCCUDALIBS1="-L${BCSLIB_DIR}/cuda_dummy -lmarccuda "
|
||||
MARCCUDALIBS2="-L${BCSLIB_DIR}/cuda -lmarccuda "
|
||||
MARCCUDALIBS=$MARCCUDALIBS1
|
||||
else
|
||||
BCSSOLVERLIBS="${MARC_LIB}/bcslib.a "
|
||||
fi
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
BCSSOLVERLIBS=
|
||||
fi
|
||||
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
MKLLIB="$MARC_MKL/libmkl_scalapack_lp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_lp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MARC_MKL/libmkl_blacs_intelmpi_lp64.a $MUMPSSOLVERLIBS2 -Wl,--end-group"
|
||||
else
|
||||
MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_ilp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a $MUMPSSOLVERLIBS2 -Wl,--end-group"
|
||||
fi
|
||||
|
||||
SECLIBS="-L$MARC_LIB -llapi"
|
||||
|
||||
SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS} \
|
||||
$MKLLIB -L$MARC_MKL -liomp5 \
|
||||
$MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/kdtree2.a $HDF5_LIB"
|
||||
|
||||
SOLVERLIBS_DLL=${SOLVERLIBS}
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
SOLVERLIBS_DLL="$MKLLIB -L$MARC_MKL -liomp5 $MARC_LIB/blas_src.a"
|
||||
fi
|
||||
MRCLIBS="$MARC_LIB/clib.a ${CASISOLVERLIBS}"
|
||||
MRCLIBSPAR="$MARC_LIB/clib.a"
|
||||
STUBS="$MARC_LIB/stubs.a "
|
||||
MNFLIBS="$MARC_LIB/libmnf.a"
|
||||
MDUSER="$MARC_LIB/md_user.a"
|
||||
if test "X$MARC_SIMUFACT" != "X"
|
||||
then
|
||||
SFLIB="-L$SFMATDIR -lMBA_Grain"
|
||||
else
|
||||
SFLIB=" "
|
||||
fi
|
||||
OPENMP="-qopenmp"
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
LOAD_DLL=$LOAD
|
||||
OPENMP=
|
||||
LIBMNF=
|
||||
OPENSSL=NONE
|
||||
fi
|
||||
|
||||
SYSLIBS=" $OPENMP -lpthread -cxxlib"
|
||||
|
||||
# Uncomment the following lines to turn on the trace and comment out the next 4 lines
|
||||
# if test $MPITYPE = intelmpi
|
||||
# then
|
||||
# SYSLIBS="-L${VT_ROOT}/lib -lVT -ldwarf -lelf -lm -lpthread \
|
||||
# -L${MPI_ROOT}/lib64 -lmpi -lmpiif -lmpigi -lrt"
|
||||
# fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
SYSLIBS="-L${MPI_ROOT}/lib -lmpi_mt -lmpifort -lrt $OPENMP -threads -lpthread -cxxlib"
|
||||
fi
|
||||
|
||||
|
||||
SYSLIBSPAR=" "
|
||||
|
||||
MARC_DLL_CODES="runmarc.f"
|
||||
|
||||
|
||||
BLAS_SRC="dzero.f icopy.f izero.f"
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
BLAS_SRC="$BLAS_SRC dsctr.f zsctr.f dzasum.f daxpyi.f zaxpyi.f dgthr.f zgthr.f"
|
||||
else
|
||||
BLAS_SRC="ALL"
|
||||
fi
|
||||
fi
|
||||
|
||||
LOW_OPT_CODES="are163.f contro.f ndext.f omarc.f omarca.f omarcb.f omarcc.f \
|
||||
omars.f fixbc.f triang.f bet049.f norst3.f eldata.f \
|
||||
elec*.f elct*.f fmeig.f oada00.f ogeig.f updtrbe2.f cycrota.f \
|
||||
cordef.f ogpk.f ogtan.f eldam.f formrbe3.f \
|
||||
inertie.f em_sso072.f cn_fol3d_qpatch6.f cosim_begin.f"
|
||||
if test "$MARC_INTEGER_SIZE" = "i8" ; then
|
||||
LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f"
|
||||
fi
|
||||
|
||||
HIGH_OPT_CODES="dpsmsa1.f dpsmsa2.f dpsmsa3.f dpsmsa4.f dpsmsa5.f dpsmsa6.f \
|
||||
dpsmsa7.f dpsmsa8.f dpsmsa9.f dpsmsa10.f dpsmsa11.f dpsmsa12.f \
|
||||
dpsmsa13.f dpsmsa14.f dpsmsa15.f dpsmsa16.f dpsmsah.f tpsmsah.f cn_qsort4_11.f \
|
||||
prei11.f prei12.f prei31.f prei32.f prei41.f prei42.f prei61.f prei62.f \
|
||||
prei1n.f prei2n.f cgfullnts1.f cgfullnts2.f cg1n.f cg2n.f cg3n.f \
|
||||
cg4n.f cg5n.f cg6n.f cgnn.f sortab.f sortab1.f triann1.f preinv_nts.f "
|
||||
|
||||
|
||||
|
||||
MAXNUM=1000000
|
|
@ -0,0 +1,788 @@
|
|||
#
|
||||
# General definitions for the Marc 2019 FP1 version
|
||||
#
|
||||
# EM64T
|
||||
#
|
||||
# Linux RedHat 7.1, 7.3 / SuSE 11 SP4, 12 SP1
|
||||
#
|
||||
# 64 bit MPI version
|
||||
#
|
||||
# Intel(R) Fortran Intel(R) 64 Compiler XE for applications
|
||||
# running on Intel(R) 64, Version 17.0.5.239 Build 20170817
|
||||
#
|
||||
# Intel(R) C Intel(R) 64 Compiler XE for applications
|
||||
# running on Intel(R) 64, Version 17.0.5.239 Build 20170817
|
||||
#
|
||||
# To check the O/S level, type:
|
||||
# uname -a
|
||||
#
|
||||
# Distributed parallel MPI libraries:
|
||||
# 1) HP MPI 2.3
|
||||
# To check the mpi version, type:
|
||||
# mpirun -version
|
||||
# 2) Intel MPI 2017.1
|
||||
# To check the mpi version, type:
|
||||
# mpiexec.hydra -version
|
||||
#
|
||||
# To check the Compiler level, type using the compiler
|
||||
# installation path:
|
||||
# ifort -V
|
||||
# icc -V
|
||||
#
|
||||
# REMARKS : This file contains the definitions of variables used during
|
||||
# compilation loading and use of the MARC programmes . The
|
||||
# current machine type is identified by means of the variable
|
||||
# MACHINE , defined below.
|
||||
#
|
||||
#
|
||||
# MPI_ROOT: root directory in which mpi shared libraries, etc. are located
|
||||
# DIRJOB : directory in which spawned jobs should look for Marc input
|
||||
# MPI_ARCH: system architecture
|
||||
# MPI_EPATH: path where executable resides
|
||||
#
|
||||
REVISION="VERSION, BUILD"
|
||||
HOSTNAME=`hostname`
|
||||
|
||||
# find available memory in Mbyte on the machine
|
||||
# can be set explicitly
|
||||
MEMLIMIT=`free -m | awk '/Mem:/ {print $2}'`
|
||||
|
||||
# set _OEM_NASTRAN to 1 for MD Nastran build
|
||||
# override _OEM_NASTRAN setting with MARC_MD_NASTRAN environment variable
|
||||
_OEM_NASTRAN="${MARC_MD_NASTRAN:-0}"
|
||||
|
||||
# uncomment the following line for an autoforge build
|
||||
#AUTOFORGE=1
|
||||
AUTOFORGE=0
|
||||
export AUTOFORGE
|
||||
|
||||
# integer size
|
||||
if test "$MARC_INTEGER_SIZE" = "" ; then
|
||||
INTEGER_PATH=
|
||||
else
|
||||
INTEGER_PATH=/$MARC_INTEGER_SIZE
|
||||
fi
|
||||
|
||||
FCOMP=ifort
|
||||
INTELPATH="/opt/intel/compilers_and_libraries_2017/linux"
|
||||
|
||||
# find the root directory of the compiler installation:
|
||||
# - if ifort is found in $PATH, then the root directory is derived
|
||||
# from the path to ifort
|
||||
# - if ifort is not found in $PATH, the root directory is assumed
|
||||
# to be $INTELPATH and the directory in which ifort is found is
|
||||
# added to $PATH
|
||||
FCOMPPATH=`which "$FCOMP" 2>/dev/null`
|
||||
if test -n "$FCOMPPATH"; then
|
||||
# derive the root directory from $FCOMPPATH
|
||||
FCOMPROOT="${FCOMPPATH%/bin/intel64/$FCOMP}"
|
||||
if test "$FCOMPROOT" = "$FCOMPPATH"; then
|
||||
FCOMPROOT="${FCOMPPATH%/bin/$FCOMP}"
|
||||
fi
|
||||
if test "$FCOMPROOT" = "$FCOMPPATH"; then
|
||||
FCOMPROOT=
|
||||
fi
|
||||
elif test -d "$INTELPATH"; then
|
||||
# check for compiler in $INTELPATH
|
||||
if test -d "$INTELPATH/bin/intel64" -a \
|
||||
-x "$INTELPATH/bin/intel64/$FCOMP" ; then
|
||||
FCOMPROOT="$INTELPATH"
|
||||
PATH="$INTELPATH/bin/intel64:$PATH"
|
||||
elif test -d "$INTELPATH/bin" -a \
|
||||
-x "$INTELPATH/bin/$FCOMP"; then
|
||||
FCOMPROOT="$INTELPATH"
|
||||
PATH="$INTELPATH/bin:$PATH"
|
||||
else
|
||||
FCOMPROOT=
|
||||
fi
|
||||
else
|
||||
FCOMPROOT=
|
||||
fi
|
||||
|
||||
# AEM
|
||||
if test "$MARCDLLOUTDIR" = ""; then
|
||||
DLLOUTDIR="$MARC_LIB"
|
||||
else
|
||||
DLLOUTDIR="$MARCDLLOUTDIR"
|
||||
fi
|
||||
|
||||
# settings for MKL
|
||||
if test "$IMKLDIR" = ""; then
|
||||
MARC_MKL="$FCOMPROOT/mkl/lib/intel64"
|
||||
else
|
||||
MARC_MKL=$IMKLDIR/lib/intel64
|
||||
fi
|
||||
|
||||
#
|
||||
# settings for Metis
|
||||
#
|
||||
METIS="-I$METIS_SOURCE/include"
|
||||
METISLIBS="$METISLIB_DIR/libmarcddm.a $METISLIB_DIR/libmarcmetis.a "
|
||||
|
||||
#
|
||||
# settings for MPI
|
||||
#
|
||||
# RCP and RSH are used for parallel network runs
|
||||
# replace with similar commands like rsh if needed
|
||||
RCP=/usr/bin/scp
|
||||
RSH=/usr/bin/ssh
|
||||
#
|
||||
|
||||
|
||||
MPI_DEFAULT=intelmpi
|
||||
MPI_OTHER=hpmpi
|
||||
|
||||
MPITYPE=$MPI_DEFAULT
|
||||
|
||||
if test $AUTOFORGE
|
||||
then
|
||||
if test $AUTOFORGE = 1
|
||||
then
|
||||
MPITYPE=none
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# overrule MPITYPE setting with environmental variable MARC_MPITYPE
|
||||
if test $MARC_MPITYPE
|
||||
then
|
||||
MPITYPE=$MARC_MPITYPE
|
||||
fi
|
||||
|
||||
# always set MPITYPE to none for MD Nastran
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
MPITYPE=none
|
||||
fi
|
||||
|
||||
# Edit following lines to build with GPGPU version of BCS Solver for
|
||||
# NVIDIA platforms
|
||||
#BCSGPUSOLVER=NONE
|
||||
BCSGPUSOLVER=BCSGPU
|
||||
|
||||
# Edit following lines to set the openssl library
|
||||
if test "$OPENSSL" != "NONE"
|
||||
then
|
||||
OPENSSL_LIB="$MARC_LIB/libcrypto.a"
|
||||
fi
|
||||
OPENSSL_INCLUDE=-I"$MARC_OPENSSL/include/"
|
||||
|
||||
MARCHDF_HDF=HDF
|
||||
#MARCHDF_HDF=NONE
|
||||
if test "$MARCHDF_HDF" = "HDF"; then
|
||||
HDF_INCLUDE="-I$MARC_HDF/include"
|
||||
HDF_LIBS="$MARC_LIB/libhdf5_fortran.so.100 $MARC_LIB/libhdf5.so.101"
|
||||
fi
|
||||
|
||||
# activate contact component build if flagged
|
||||
AEM_DLL=0
|
||||
if test "$AEM_BUILD" = "ON" ; then
|
||||
AEM_DLL=1
|
||||
LINK_MARC_DLL="-shared -fPIC"
|
||||
EXT_DLL="so"
|
||||
MPITYPE=none
|
||||
MPI_OTHER=
|
||||
BCSGPUSOLVER=NONE
|
||||
MUMPSSOLVER=NONE
|
||||
CASISOLVER=NONE
|
||||
fi
|
||||
|
||||
SOLVERFLAGS=
|
||||
if test "$BCSGPUSOLVER" = BCSGPU
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA"
|
||||
BCS_DIR=bcsgpusolver
|
||||
else
|
||||
BCS_DIR=bcssolver
|
||||
fi
|
||||
#
|
||||
# settings for MPI
|
||||
#
|
||||
DDM=
|
||||
if test $MPITYPE != none
|
||||
then
|
||||
if test $MPITYPE = hpmpi
|
||||
then
|
||||
FCOMPMPI=mpif90
|
||||
export MPI_ROOT=$MARC_HPMPI
|
||||
export MPI_REMSH=$RSH
|
||||
export MPI_F77=$FCOMP
|
||||
ARCHITECTURE=linux_amd64
|
||||
DDM="-I$MPI_ROOT/include/64 -DDDM -DHPMPI"
|
||||
MPI_CLEAN=
|
||||
export MPI_EPATH=$MARC_BIN
|
||||
export LD_LIBRARY_PATH=$MPI_ROOT/lib/$ARCHITECTURE:$MARC_LIB:$MARC_LIB_SHARED:$LD_LIBRARY_PATH
|
||||
export MPIHPSPECIAL="-e MPI_FLAGS=E,T,y1"
|
||||
# Below line is moved in run_marc file
|
||||
# export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e BINDIR=$MARC_BIN"
|
||||
if test -n "$MSC_LICENSE_FILE"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e MSC_LICENSE_FILE=$MSC_LICENSE_FILE"
|
||||
fi
|
||||
if test -n "$LM_LICENSE_FILE"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e LM_LICENSE_FILE=$LM_LICENSE_FILE"
|
||||
fi
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e MPI_LIC_CHECKER=$MPI_ROOT/bin/licensing/amd64_s8/lichk.x"
|
||||
RUN_JOB2="$MPI_ROOT/bin/mpirun ${MPIRUNOPTIONS} -prot -f "
|
||||
RUN_JOB1="$MPI_ROOT/bin/mpirun ${MPIRUNOPTIONS} -prot -w $MPIHPSPECIAL -np "
|
||||
RUN_JOB0=
|
||||
fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
INTELMPI_VERSION=HYDRA
|
||||
FCOMPMPI=mpiifort
|
||||
MPI_ROOT=$MARC_INTELMPI
|
||||
DDM="-I${MPI_ROOT}/include -DDDM"
|
||||
PATH=$MPI_ROOT/bin:$PATH
|
||||
export PATH
|
||||
LD_LIBRARY_PATH=$MPI_ROOT/lib:$LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH
|
||||
if test $INTELMPI_VERSION = HYDRA
|
||||
then
|
||||
RUN_JOB1="${MPI_ROOT}/bin/mpiexec.hydra -genvall -n "
|
||||
RUN_JOB2="${MPI_ROOT}/bin/mpiexec.hydra -genvall"
|
||||
else
|
||||
RUN_JOB1="${MPI_ROOT}/bin/mpiexec -n "
|
||||
RUN_JOB2="${MPI_ROOT}/bin/mpiexec -configfile "
|
||||
fi
|
||||
RUN_JOB0=
|
||||
MPI_CLEAN=
|
||||
MPI_EPATH=$MARC_BIN
|
||||
MPIR_HOME=$MPI_ROOT
|
||||
MPICH_F77=$FCOMP
|
||||
MPICH_F77LINKER=$FCOMP
|
||||
export MPI_ROOT MPI_EPATH MPIR_HOME MPICH_F77 MPICH_F77LINKER
|
||||
I_MPI_PIN_DOMAIN=node
|
||||
export I_MPI_PIN_DOMAIN
|
||||
fi
|
||||
else
|
||||
MPI_ROOT=$MARC_DUMMYMPI
|
||||
export MPI_ROOT=$MARC_DUMMYMPI
|
||||
DDM="-I$MPI_ROOT/include"
|
||||
fi
|
||||
|
||||
#
|
||||
# variables for the "maintain" script
|
||||
#
|
||||
|
||||
MACHINENAME=LINUX
|
||||
MACHINE64BIT=yes
|
||||
MACHINE=Linux_EM64T
|
||||
DEV=/dev/tape
|
||||
GETLOG="whoami"
|
||||
CLEAR="clear"
|
||||
MY_UNAME=`uname -a`
|
||||
|
||||
# Edit following 2 lines to build with VKI Solver
|
||||
#VKISOLVER=VKI
|
||||
VKISOLVER=NONE
|
||||
|
||||
# Edit following 2 lines to build with CASI Solver
|
||||
CASISOLVER=CASI
|
||||
if test "$MARC_CASISOLVER" = "NONE" ; then
|
||||
CASISOLVER=NONE
|
||||
fi
|
||||
#CASISOLVER=NONE
|
||||
|
||||
# Edit following 2 lines to build with MF2 Solver
|
||||
MF2SOLVER=NONE
|
||||
#MF2SOLVER=SERIAL
|
||||
#MF2SOLVER=MF2PARALLEL
|
||||
|
||||
# Edit following lines to build with Intel(c) Multithreaded solver (PARDISO)
|
||||
#INTELSOLVER=NONE
|
||||
INTELSOLVER=PARDISO
|
||||
|
||||
# Edit following lines to build with MUMPS
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
#MUMPSSOLVER=NONE
|
||||
MUMPSSOLVER=MUMPS
|
||||
else
|
||||
#MUMPSSOLVER=NONE
|
||||
MUMPSSOLVER=MUMPS
|
||||
fi
|
||||
|
||||
# Edit following 2 lines to build MARC dynamic shared library
|
||||
MARC_DLL=MARC_DLL
|
||||
MARC_DLL=NONE
|
||||
|
||||
# always set VKISOLVER, CASISOLVER, BCSGPUSOLVER, and MARC_DLL to NONE for MD Nastran
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
VKISOLVER=NONE
|
||||
CASISOLVER=NONE
|
||||
MF2SOLVER=NONE
|
||||
INTELSOLVER=NONE
|
||||
MUMPSSOLVER=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
MARC_DLL=NONE
|
||||
fi
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
VKISOLVER=NONE
|
||||
CASISOLVER=NONE
|
||||
MF2SOLVER=NONE
|
||||
INTELSOLVER=NONE
|
||||
MUMPSSOLVER=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
fi
|
||||
|
||||
#
|
||||
# define Fortran and C compile syntax
|
||||
#
|
||||
if test "$VKISOLVER" = VKI
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DVKI"
|
||||
fi
|
||||
|
||||
if test "$CASISOLVER" = CASI
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DCASI"
|
||||
fi
|
||||
|
||||
if test "$MF2SOLVER" = MF2PARALLEL
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMF2PARALLEL"
|
||||
fi
|
||||
if test "$MF2SOLVER" = MF2SERIAL
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMF2SERIAL"
|
||||
fi
|
||||
|
||||
if test "$INTELSOLVER" = PARDISO
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DPARDISO"
|
||||
fi
|
||||
|
||||
if test "$MUMPSSOLVER" = MUMPS
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMUMPS"
|
||||
fi
|
||||
|
||||
|
||||
if test "$MARC_DLL" = MARC_DLL
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMARC_DLL"
|
||||
fi
|
||||
|
||||
LINK_OPT=
|
||||
DEBUG_OPT=
|
||||
C_DEBUG_OPT=
|
||||
|
||||
#Uncomment following line to build Marc in debuggable mode
|
||||
MARCDEBUG=
|
||||
#MARCDEBUG="ON"
|
||||
|
||||
if test "$MARCDEBUG" = "ON"
|
||||
then
|
||||
LINK_OPT="-debug -traceback"
|
||||
DEBUG_OPT="-debug -traceback"
|
||||
C_DEBUG_OPT="-debug -traceback"
|
||||
fi
|
||||
|
||||
|
||||
MARCCHECK=
|
||||
#MARCCHECK="ON"
|
||||
if test "$MARCCHECK" = "ON"
|
||||
then
|
||||
DEBUG_OPT="$DEBUG_OPT -fpe0 -fp-stack-check -check all -ftrapuv "
|
||||
C_DEBUG_OPT="$C_DEBUG_OPT -fp-stack-check -check-uninit -Wformat -ftrapuv "
|
||||
fi
|
||||
|
||||
MARCCODECOV=
|
||||
#MARCCODECOV="ON"
|
||||
|
||||
MARCCODEPROF=
|
||||
#MARCCODEPROF="ON"
|
||||
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
I8FFLAGS=
|
||||
I8DEFINES=
|
||||
I8CDEFINES=
|
||||
else
|
||||
I8FFLAGS="-i8"
|
||||
I8DEFINES="-DI64"
|
||||
I8CDEFINES="-U_DOUBLE -D_SINGLE"
|
||||
fi
|
||||
|
||||
MTHREAD=OPENMP
|
||||
if test "$MARC_OPENMP" = "NONE" ; then
|
||||
MTHREAD=NONE
|
||||
fi
|
||||
#MTHREAD=NONE
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
MTHREAD=NONE
|
||||
fi
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
MTHREAD=NONE
|
||||
CASISOLVER=NONE
|
||||
VKISOLVER=NONE
|
||||
MF2SOLVER=NONE
|
||||
INTELSOLVER=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
OPENSSL_LIB=
|
||||
MARC_DLL=NONE
|
||||
METISLIBS=
|
||||
fi
|
||||
|
||||
OMP_COMPAT=NO
|
||||
OMP_COMPAT=YES
|
||||
if test "$MTHREAD" = "NONE"
|
||||
then
|
||||
OMP_COMPAT=NO
|
||||
fi
|
||||
|
||||
CDEFINES=
|
||||
FDEFINES=
|
||||
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
CDEFINES="$CDEFINES -D_OEM_NASTRAN"
|
||||
FDEFINES="$FDEFINES -D_OEM_NASTRAN"
|
||||
fi
|
||||
|
||||
FDEFINES="$FDEFINES -D_IMPLICITNONE"
|
||||
|
||||
if test "$_OEM_NASTRAN" -eq 0
|
||||
then
|
||||
FDEFINES="$FDEFINES -DMKL -DOPENMP"
|
||||
fi
|
||||
|
||||
if test "$OMP_COMPAT" = "YES"
|
||||
then
|
||||
FDEFINES="$FDEFINES -DOMP_COMPAT"
|
||||
fi
|
||||
|
||||
# -D_MSCMARC
|
||||
FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT $MARC_SIMUFACT"
|
||||
CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES"
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
FDEFINES="$FDEFINES -D_AEMNL -DAAA"
|
||||
CDEFINES="$CDEFINES -D_AEMNL -DAAA"
|
||||
fi
|
||||
|
||||
CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource $METIS -I$LAPI_IMPORTS/common/include"
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
CINCL="$CINCL -I../../include"
|
||||
fi
|
||||
|
||||
CC_OPT=
|
||||
if test "$MTHREAD" = "OPENMP"
|
||||
then
|
||||
CC_OPT=" $CC_OPT -qopenmp"
|
||||
fi
|
||||
|
||||
CC="icc -c $CC_OPT -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCLOW="icc -c $CC_OPT -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCHIGH="icc -c $CC_OPT -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
|
||||
if test "$MARCDEBUG" = "ON"
|
||||
then
|
||||
CC="icc -c $CC_OPT -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCLOW="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCHIGH="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
fi
|
||||
|
||||
LOAD_CC="icc $CC_OPT -O1 -DLinux -DLINUX -DLinux_intel"
|
||||
CCT="$CC"
|
||||
CCTLOW="$CCLOW"
|
||||
CCTHIGH="$CCHIGH"
|
||||
|
||||
#PROFILE="-Mprof=func"
|
||||
#PROFILE="-Mprof=lines"
|
||||
#PROFILE="-Mprof=func,mpi"
|
||||
PROFILE=
|
||||
#PROFILE="-init=snan,arrays -CB -traceback -fpe0 -fp-stack-check -check all -check uninit -ftrapuv"
|
||||
if test "$MARCCODECOV" = "ON"
|
||||
then
|
||||
PROFILE="-prof-gen=srcpos"
|
||||
fi
|
||||
if test "$MARCCODEPROF" = "ON"
|
||||
then
|
||||
PROFILE=" $PROFILE -pg"
|
||||
fi
|
||||
|
||||
FORT_OPT="-c -assume byterecl -safe_cray_ptr -mp1 -WB -fp-model source"
|
||||
if test "$MTHREAD" = "OPENMP"
|
||||
then
|
||||
FORT_OPT=" $FORT_OPT -qopenmp"
|
||||
if test "$OMP_COMPAT" = "YES"
|
||||
then
|
||||
FORT_OPT=" $FORT_OPT -qopenmp-threadprivate=compat"
|
||||
fi
|
||||
else
|
||||
# FORT_OPT=" $FORT_OPT -auto "
|
||||
FORT_OPT=" $FORT_OPT -save -zero"
|
||||
fi
|
||||
if test "$MARCHDF_HDF" = "HDF"; then
|
||||
FORT_OPT="$FORT_OPT -DMARCHDF_HDF=$MARCHDF_HDF $HDF_INCLUDE"
|
||||
fi
|
||||
|
||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||
# for compiling free form f90 files. high opt, integer(4)
|
||||
FORTF90="$FCOMP -c -O3"
|
||||
|
||||
if test "$MARCDEBUG" = "ON"
|
||||
then
|
||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||
fi
|
||||
|
||||
FORTLOWT="$FORTLOW"
|
||||
FORTRANT="$FORTRAN"
|
||||
FORTHIGHT="$FORTHIGH"
|
||||
|
||||
FORTRANMNF="$FCOMP -c $FDEFINES "
|
||||
CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE"
|
||||
|
||||
if test $MPITYPE != none
|
||||
then
|
||||
if test $MPITYPE = hpmpi
|
||||
then
|
||||
LOAD="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o "
|
||||
LOADT="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o "
|
||||
fi
|
||||
# Uncomment the following lines to turn on the tracer and commnet out the next 5 lines
|
||||
# if test $MPITYPE = intelmpi
|
||||
# then
|
||||
# INCLUDEMPI="-I$MPI_ROOT/include -I$VT_ROOT/include"
|
||||
# LOAD="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
||||
# LOADT="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
||||
# fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
LOAD="ifort $PROFILE $LINK_OPT -o "
|
||||
LOADT="ifort $PROFILE $LINK_OPT -o "
|
||||
fi
|
||||
else
|
||||
LOAD="$FCOMP $LINK_OPT -o "
|
||||
LOADT="$FCOMP $LINK_OPT -o "
|
||||
fi
|
||||
|
||||
if test "$MARC_DLL" = MARC_DLL
|
||||
then
|
||||
FORTLOW="$FORTLOW -fpp -fPIC"
|
||||
FORTRAN="$FORTRAN -fpp -fPIC"
|
||||
FORTHIGH="$FORTHIGH -fpp -fPIC"
|
||||
FORTRANMNF="$FORTRANMNF -fpp -fPIC"
|
||||
CC="$CC -fPIC"
|
||||
CCMNF="$CCMNF -fPIC"
|
||||
LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread"
|
||||
LINK_MARC_DLL="-shared -fPIC"
|
||||
LOAD_DLL=$LOAD
|
||||
LOADT_DLL=$LOADT
|
||||
EXT_DLL="so"
|
||||
fi
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
FORTLOW="$FORTLOW -fpp -fPIC"
|
||||
FORTRAN="$FORTRAN -fpp -fPIC"
|
||||
FORTHIGH="$FORTHIGH -fpp -fPIC"
|
||||
FORTRANMNF="$FORTRANMNF -fpp -fPIC"
|
||||
CC="$CC -fPIC"
|
||||
CCMNF="$CCMNF -fPIC"
|
||||
LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide"
|
||||
LINK_MARC_DLL="-shared -fPIC"
|
||||
LOAD_DLL=$LOAD
|
||||
LOADT_DLL=$LOADT
|
||||
EXT_DLL="so"
|
||||
fi
|
||||
|
||||
|
||||
XLIBS="-L/usr/X11/lib -lX11 "
|
||||
|
||||
#
|
||||
# define archive and ranlib syntax
|
||||
#
|
||||
|
||||
ARC="ar rvl"
|
||||
ARD="ar dvl"
|
||||
ARX="ar xl"
|
||||
RAN=""
|
||||
|
||||
#
|
||||
# choose which libraries you want to use ( e.g. blas )
|
||||
#
|
||||
|
||||
if test "$VKISOLVER" = VKI
|
||||
then
|
||||
VKISOLVERLIBS="$MARC_LIB/vkisolver.a"
|
||||
else
|
||||
VKISOLVERLIBS=
|
||||
fi
|
||||
|
||||
if test "$CASISOLVER" = CASI
|
||||
then
|
||||
CASISOLVERLIBS="$CASILIB_DIR/libmarccasi.a $CASILIB_DIR/libcasi.a"
|
||||
else
|
||||
CASISOLVERLIBS=
|
||||
fi
|
||||
|
||||
MF2SOLVERLIBS=
|
||||
if test "$MF2SOLVER" = MF2PARALLEL
|
||||
then
|
||||
MF2SOLVERLIBS="$MARC_LIB/mf2parallel/libseq.a \
|
||||
$MARC_LIB/mf2parallel/libsym.a \
|
||||
$MARC_LIB/mf2parallel/libmet.a \
|
||||
$MARC_LIB/mf2parallel/libmf2.a \
|
||||
$MARC_LIB/mf2parallel/libgauss.a \
|
||||
$MARC_LIB/mf2parallel/libmf2.a \
|
||||
$MARC_LIB/mf2parallel/libgauss.a \
|
||||
$MARC_LIB/mf2parallel/libnum.a \
|
||||
$MARC_LIB/mf2parallel/libutl.a \
|
||||
$MARC_LIB/mf2parallel/libr8.a \
|
||||
$MARC_LIB/mf2parallel/libz.a "
|
||||
fi
|
||||
|
||||
if test "$MUMPSSOLVER" = MUMPS
|
||||
then
|
||||
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a"
|
||||
if test $MPITYPE = none
|
||||
then
|
||||
MUMPSSOLVERLIBS2=
|
||||
echo hello > /dev/null
|
||||
fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a"
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a "
|
||||
else
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a "
|
||||
fi
|
||||
fi
|
||||
if test $MPITYPE = hpmpi
|
||||
then
|
||||
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_hpmpi.a"
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a"
|
||||
else
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
MUMPSSOLVERLIBS=
|
||||
MUMPSSOLVERLIBS2=
|
||||
fi
|
||||
|
||||
if test "$BCSGPUSOLVER" = BCSGPU
|
||||
then
|
||||
BCSSOLVERLIBS="${BCSLIB_DIR}/bcsgpulib.a "
|
||||
MARCCUDALIBS1="-L${BCSLIB_DIR}/cuda_dummy -lmarccuda "
|
||||
MARCCUDALIBS2="-L${BCSLIB_DIR}/cuda -lmarccuda "
|
||||
MARCCUDALIBS=$MARCCUDALIBS1
|
||||
else
|
||||
BCSSOLVERLIBS="${MARC_LIB}/bcslib.a "
|
||||
fi
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
BCSSOLVERLIBS=
|
||||
fi
|
||||
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
MKLLIB="$MARC_MKL/libmkl_scalapack_lp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_lp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MUMPSSOLVERLIBS2 -Wl,--end-group"
|
||||
else
|
||||
MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_ilp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MUMPSSOLVERLIBS2 -Wl,--end-group"
|
||||
fi
|
||||
|
||||
SECLIBS="-L$MARC_LIB -llapi"
|
||||
|
||||
SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS} \
|
||||
$MKLLIB -L$MARC_MKL -liomp5 \
|
||||
$MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/kdtree2.a $HDF_LIBS"
|
||||
|
||||
SOLVERLIBS_DLL=${SOLVERLIBS}
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
SOLVERLIBS_DLL="$MKLLIB -L$MARC_MKL -liomp5 $MARC_LIB/blas_src.a"
|
||||
fi
|
||||
MRCLIBS="$MARC_LIB/clib.a ${CASISOLVERLIBS}"
|
||||
MRCLIBSPAR="$MARC_LIB/clib.a"
|
||||
STUBS="$MARC_LIB/stubs.a "
|
||||
MNFLIBS="$MARC_LIB/libmnf.a"
|
||||
MDUSER="$MARC_LIB/md_user.a"
|
||||
if test "X$MARC_SIMUFACT" != "X"
|
||||
then
|
||||
SFLIB="-L$SFMATDIR -lMBA_Grain"
|
||||
else
|
||||
SFLIB=" "
|
||||
fi
|
||||
OPENMP="-qopenmp"
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
LOAD_DLL=$LOAD
|
||||
OPENMP=
|
||||
LIBMNF=
|
||||
OPENSSL=NONE
|
||||
fi
|
||||
|
||||
SYSLIBS=" $OPENMP -lpthread -shared-intel -cxxlib"
|
||||
|
||||
# Uncomment the following lines to turn on the trace and comment out the next 4 lines
|
||||
# if test $MPITYPE = intelmpi
|
||||
# then
|
||||
# SYSLIBS="-L${VT_ROOT}/lib -lVT -ldwarf -lelf -lm -lpthread \
|
||||
# -L${MPI_ROOT}/lib64 -lmpi -lmpiif -lmpigi -lrt"
|
||||
# fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
SYSLIBS="-L${MPI_ROOT}/lib -lmpi_mt -lmpifort -lrt $OPENMP -threads -lpthread -shared-intel -cxxlib"
|
||||
fi
|
||||
|
||||
|
||||
SYSLIBSPAR=" "
|
||||
|
||||
MARC_DLL_CODES="runmarc.f"
|
||||
|
||||
|
||||
BLAS_SRC="dzero.f icopy.f izero.f"
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
BLAS_SRC="$BLAS_SRC dsctr.f zsctr.f dzasum.f daxpyi.f zaxpyi.f dgthr.f zgthr.f"
|
||||
else
|
||||
BLAS_SRC="ALL"
|
||||
fi
|
||||
fi
|
||||
|
||||
LOW_OPT_CODES="are163.f contro.f ndext.f omarc.f omarca.f omarcb.f omarcc.f \
|
||||
omars.f fixbc.f triang.f bet049.f norst3.f eldata.f \
|
||||
elec*.f elct*.f fmeig.f oada00.f ogeig.f updtrbe2.f cycrota.f \
|
||||
cordef.f ogpk.f ogtan.f eldam.f formrbe3.f \
|
||||
inertie.f em_sso072.f cn_fol3d_qpatch6.f cosim_begin.f"
|
||||
if test "$MARC_INTEGER_SIZE" = "i8" ; then
|
||||
LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f"
|
||||
fi
|
||||
|
||||
HIGH_OPT_CODES="dpsmsa1.f dpsmsa2.f dpsmsa3.f dpsmsa4.f dpsmsa5.f dpsmsa6.f \
|
||||
dpsmsa7.f dpsmsa8.f dpsmsa9.f dpsmsa10.f dpsmsa11.f dpsmsa12.f \
|
||||
dpsmsa13.f dpsmsa14.f dpsmsa15.f dpsmsa16.f dpsmsah.f tpsmsah.f cn_qsort4_11.f \
|
||||
prei11.f prei12.f prei31.f prei32.f prei41.f prei42.f prei61.f prei62.f \
|
||||
prei1n.f prei2n.f cgfullnts1.f cgfullnts2.f cg1n.f cg2n.f cg3n.f \
|
||||
cg4n.f cg5n.f cg6n.f cgnn.f sortab.f sortab1.f triann1.f preinv_nts.f "
|
||||
|
||||
|
||||
|
||||
MAXNUM=1000000
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
# This script opens a window running an editor.
|
||||
# The command to invoke the editor is specified during DAMASK installation
|
||||
|
||||
%EDITOR% $*
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/sh
|
||||
# This script opens a window running an editor. The default window is an
|
||||
# xterm, and the default editor is vi. These may be customized.
|
||||
|
||||
dir=
|
||||
for d in /usr/bin /usr/bin/X11; do
|
||||
if test -x "$d/xterm"; then
|
||||
dir="$d"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if test -z "$dir"; then
|
||||
echo "$0: Could not find xterm"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
"$dir/xterm" -T "vi $*" -n "vi $*" -e vi $*
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$1" = "" ]; then
|
||||
echo "usage: $0 job_name"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo STOP > $1.cnt
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$1" = "" ]; then
|
||||
echo "usage: $0 job_name"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo STOP > $1.cnt
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$1" = "" ]; then
|
||||
echo "usage: $0 job_name"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo STOP > $1.cnt
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$1" = "" ]; then
|
||||
echo "usage: $0 job_name"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo STOP > $1.cnt
|
|
@ -0,0 +1,189 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# The exit status of this script is read by Mentat.
|
||||
# Normal exit status is 0.
|
||||
#
|
||||
|
||||
DIR=/tmp/msc/marc2019.1
|
||||
if test $MARCDIR1
|
||||
then
|
||||
DIR=$MARCDIR1
|
||||
fi
|
||||
|
||||
if test -z "$DIR"; then
|
||||
REALCOM="`ls -l $0 |awk '{ print $NF; }'`"
|
||||
DIRSCRIPT=`dirname $REALCOM`
|
||||
case $DIRSCRIPT in
|
||||
\/*)
|
||||
;;
|
||||
*)
|
||||
DIRSCRIPT=`pwd`/$DIRSCRIPT
|
||||
;;
|
||||
esac
|
||||
. $DIRSCRIPT/getarch
|
||||
|
||||
DIR="$MENTAT_MARCDIR"
|
||||
fi
|
||||
|
||||
SRCEXT=.f
|
||||
SRCEXTC=.F
|
||||
RSTEXT=.t08
|
||||
PSTEXT=.t19
|
||||
PSTEXTB=.t16
|
||||
VWFCEXT=.vfs
|
||||
|
||||
slv=$1
|
||||
version=$2
|
||||
ndom_fea_solver=$3
|
||||
ndom_preprocessor=$4
|
||||
hostfile=$5
|
||||
compat=$6
|
||||
job=$7
|
||||
srcfile=$8
|
||||
srcmeth=$9
|
||||
shift 9 # cannot use $10, $11, ...
|
||||
restart=$1
|
||||
postfile=$2
|
||||
viewfactorsfile=$3
|
||||
copy_datfile="-ci $4"
|
||||
copy_postfile="-cr $5"
|
||||
scr_dir=$6
|
||||
dcoup=$7
|
||||
assem_recov_nthread=$8
|
||||
nthread=$9
|
||||
shift 9 # cannot use $10, $11, ...
|
||||
nsolver=$1
|
||||
mode=$2
|
||||
gpu=$3
|
||||
|
||||
if [ "$slv" != "" -a "$slv" != "marc" -a "$slv" != "datfit" ]; then
|
||||
slv="-iam sfm"
|
||||
fi
|
||||
if [ "$slv" == "marc" ]; then
|
||||
slv=""
|
||||
fi
|
||||
if [ "$slv" == "datfit" ]; then
|
||||
slv="-iam datfit"
|
||||
fi
|
||||
|
||||
if [ "$ndom_fea_solver" != "" -a "$ndom_fea_solver" != "1" ]; then
|
||||
nprocds="-nprocds $ndom_fea_solver"
|
||||
else
|
||||
nprocd=""
|
||||
if [ "$ndom_preprocessor" != "" -a "$ndom_preprocessor" != "1" ]; then
|
||||
nprocd="-nprocd $ndom_preprocessor"
|
||||
else
|
||||
nprocd=""
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$srcfile" != "" -a "$srcfile" != "-" ]; then
|
||||
srcfile=`echo $srcfile | sed "s/$SRCEXT$//" | sed "s/$SRCEXTC$//"`
|
||||
case "$srcmeth" in
|
||||
-)
|
||||
srcfile="-u $srcfile"
|
||||
;;
|
||||
compsave)
|
||||
srcfile="-u $srcfile -save y"
|
||||
;;
|
||||
runsaved)
|
||||
srcfile="-prog $srcfile"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
srcfile=""
|
||||
fi
|
||||
|
||||
if [ "$restart" != "" -a "$restart" != "-" ]; then
|
||||
restart=`echo $restart | sed "s/$RSTEXT$//"`
|
||||
restart="-r $restart"
|
||||
else
|
||||
restart=""
|
||||
fi
|
||||
|
||||
if [ "$postfile" != "" -a "$postfile" != "-" ]; then
|
||||
postfile=`echo $postfile | sed "s/$PSTEXT$//"`
|
||||
postfile=`echo $postfile | sed "s/$PSTEXTB$//"`
|
||||
postfile="-pid $postfile"
|
||||
else
|
||||
postfile=""
|
||||
fi
|
||||
|
||||
if [ "$viewfactorsfile" != "" -a "$viewfactorsfile" != "-" ]; then
|
||||
viewfactorsfile=`echo $viewfactorsfile | sed "s/$VWFCEXT$//"`
|
||||
viewfactorsfile="-vf $viewfactorsfile"
|
||||
else
|
||||
viewfactorsfile=""
|
||||
fi
|
||||
|
||||
if [ "$hostfile" != "" -a "$hostfile" != "-" ]; then
|
||||
hostfile="-ho $hostfile"
|
||||
else
|
||||
hostfile=""
|
||||
fi
|
||||
|
||||
if [ "$compat" != "" -a "$compat" != "-" ]; then
|
||||
compat="-co $compat"
|
||||
else
|
||||
compat=""
|
||||
fi
|
||||
|
||||
if [ "$scr_dir" != "" -a "$scr_dir" != "-" ]; then
|
||||
scr_dir="-sd $scr_dir"
|
||||
else
|
||||
scr_dir=""
|
||||
fi
|
||||
|
||||
if [ "$dcoup" != "" -a "$dcoup" != "0" ]; then
|
||||
dcoup="-dcoup $dcoup"
|
||||
else
|
||||
dcoup=""
|
||||
fi
|
||||
|
||||
if [ "$assem_recov_nthread" != "" -a "$assem_recov_nthread" != "1" ]; then
|
||||
assem_recov_nthread="-nthread_elem $assem_recov_nthread"
|
||||
else
|
||||
assem_recov_nthread=""
|
||||
fi
|
||||
|
||||
if [ "$nthread" != "" -a "$nthread" != "0" -a "$nthread" != "1" ]; then
|
||||
nthread="-nthread $nthread"
|
||||
else
|
||||
nthread=""
|
||||
fi
|
||||
|
||||
if [ "$nsolver" != "" -a "$nsolver" != "0" ]; then
|
||||
nsolver="-nsolver $nsolver"
|
||||
else
|
||||
nsolver=""
|
||||
fi
|
||||
|
||||
case "$mode" in
|
||||
4) mode="-mo i4" ;;
|
||||
8) mode="-mo i8" ;;
|
||||
*) mode= ;;
|
||||
esac
|
||||
|
||||
if [ "$gpu" != "" -a "$gpu" != "-" ]; then
|
||||
gpu="-gpu $gpu"
|
||||
else
|
||||
gpu=""
|
||||
fi
|
||||
|
||||
rm -f $job.cnt
|
||||
rm -f $job.sts
|
||||
rm -f $job.out
|
||||
rm -f $job.log
|
||||
|
||||
# To prevent a mismatch with the python version used by the solver
|
||||
# do *not* prepend $MENTAT_INSTALL_DIR/python/bin to environment variable PATH
|
||||
# unset environment variables PYTHONHOME and PYTHONPATH
|
||||
unset PYTHONHOME
|
||||
unset PYTHONPATH
|
||||
|
||||
"${DIR}/tools/run_marc" $slv -j $job -v n -b y $nprocds $nprocd \
|
||||
$srcfile $restart $postfile $viewfactorsfile $hostfile \
|
||||
$compat $copy_datfile $copy_postfile $scr_dir $dcoup \
|
||||
$assem_recov_nthread $nthread $nsolver $mode $gpu > /dev/null 2>&1
|
||||
sleep 1
|
||||
exit 0
|
|
@ -0,0 +1,191 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# The exit status of this script is read by Mentat.
|
||||
# Normal exit status is 0.
|
||||
#
|
||||
|
||||
DIR=%INSTALLDIR%/marc%VERSION%
|
||||
|
||||
if test $MARCDIR1
|
||||
then
|
||||
DIR=$MARCDIR1
|
||||
fi
|
||||
|
||||
if test -z "$DIR"; then
|
||||
REALCOM="`ls -l $0 |awk '{ print $NF; }'`"
|
||||
DIRSCRIPT=`dirname $REALCOM`
|
||||
case $DIRSCRIPT in
|
||||
\/*)
|
||||
;;
|
||||
*)
|
||||
DIRSCRIPT=`pwd`/$DIRSCRIPT
|
||||
;;
|
||||
esac
|
||||
. $DIRSCRIPT/getarch
|
||||
|
||||
DIR="$MENTAT_MARCDIR"
|
||||
fi
|
||||
|
||||
SRCEXT=.f
|
||||
SRCEXTC=.F
|
||||
RSTEXT=.t08
|
||||
PSTEXT=.t19
|
||||
PSTEXTB=.t16
|
||||
VWFCEXT=.vfs
|
||||
|
||||
slv=$1
|
||||
version=$2
|
||||
ndom_fea_solver=$3
|
||||
ndom_preprocessor=$4
|
||||
hostfile=$5
|
||||
compat=$6
|
||||
job=$7
|
||||
srcfile=$8
|
||||
srcmeth=$9
|
||||
shift 9 # cannot use $10, $11, ...
|
||||
restart=$1
|
||||
postfile=$2
|
||||
viewfactorsfile=$3
|
||||
copy_datfile="-ci $4"
|
||||
copy_postfile="-cr $5"
|
||||
scr_dir=$6
|
||||
dcoup=$7
|
||||
assem_recov_nthread=$8
|
||||
nthread=$9
|
||||
shift 9 # cannot use $10, $11, ...
|
||||
nsolver=$1
|
||||
mode=$2
|
||||
gpu=$3
|
||||
|
||||
if [ "$slv" != "" -a "$slv" != "marc" -a "$slv" != "datfit" ]; then
|
||||
slv="-iam sfm"
|
||||
fi
|
||||
if [ "$slv" = "marc" ]; then
|
||||
slv=""
|
||||
fi
|
||||
if [ "$slv" = "datfit" ]; then
|
||||
slv="-iam datfit"
|
||||
fi
|
||||
|
||||
if [ "$ndom_fea_solver" != "" -a "$ndom_fea_solver" != "1" ]; then
|
||||
nprocds="-nprocds $ndom_fea_solver"
|
||||
else
|
||||
nprocd=""
|
||||
if [ "$ndom_preprocessor" != "" -a "$ndom_preprocessor" != "1" ]; then
|
||||
nprocd="-nprocd $ndom_preprocessor"
|
||||
else
|
||||
nprocd=""
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$srcfile" != "" -a "$srcfile" != "-" ]; then
|
||||
srcfile=`echo $srcfile | sed "s/$SRCEXT$//" | sed "s/$SRCEXTC$//"`
|
||||
case "$srcmeth" in
|
||||
-)
|
||||
srcfile="-u $srcfile"
|
||||
;;
|
||||
compsave)
|
||||
srcfile="-u $srcfile -save y"
|
||||
;;
|
||||
runsaved)
|
||||
srcfile=${srcfile%.*}".marc"
|
||||
srcfile="-prog $srcfile"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
srcfile=""
|
||||
fi
|
||||
|
||||
if [ "$restart" != "" -a "$restart" != "-" ]; then
|
||||
restart=`echo $restart | sed "s/$RSTEXT$//"`
|
||||
restart="-r $restart"
|
||||
else
|
||||
restart=""
|
||||
fi
|
||||
|
||||
if [ "$postfile" != "" -a "$postfile" != "-" ]; then
|
||||
postfile=`echo $postfile | sed "s/$PSTEXT$//"`
|
||||
postfile=`echo $postfile | sed "s/$PSTEXTB$//"`
|
||||
postfile="-pid $postfile"
|
||||
else
|
||||
postfile=""
|
||||
fi
|
||||
|
||||
if [ "$viewfactorsfile" != "" -a "$viewfactorsfile" != "-" ]; then
|
||||
viewfactorsfile=`echo $viewfactorsfile | sed "s/$VWFCEXT$//"`
|
||||
viewfactorsfile="-vf $viewfactorsfile"
|
||||
else
|
||||
viewfactorsfile=""
|
||||
fi
|
||||
|
||||
if [ "$hostfile" != "" -a "$hostfile" != "-" ]; then
|
||||
hostfile="-ho $hostfile"
|
||||
else
|
||||
hostfile=""
|
||||
fi
|
||||
|
||||
if [ "$compat" != "" -a "$compat" != "-" ]; then
|
||||
compat="-co $compat"
|
||||
else
|
||||
compat=""
|
||||
fi
|
||||
|
||||
if [ "$scr_dir" != "" -a "$scr_dir" != "-" ]; then
|
||||
scr_dir="-sd $scr_dir"
|
||||
else
|
||||
scr_dir=""
|
||||
fi
|
||||
|
||||
if [ "$dcoup" != "" -a "$dcoup" != "0" ]; then
|
||||
dcoup="-dcoup $dcoup"
|
||||
else
|
||||
dcoup=""
|
||||
fi
|
||||
|
||||
if [ "$assem_recov_nthread" != "" -a "$assem_recov_nthread" != "1" ]; then
|
||||
assem_recov_nthread="-nthread_elem $assem_recov_nthread"
|
||||
else
|
||||
assem_recov_nthread=""
|
||||
fi
|
||||
|
||||
if [ "$nthread" != "" -a "$nthread" != "0" -a "$nthread" != "1" ]; then
|
||||
nthread="-nthread $nthread"
|
||||
else
|
||||
nthread=""
|
||||
fi
|
||||
|
||||
if [ "$nsolver" != "" -a "$nsolver" != "0" ]; then
|
||||
nsolver="-nsolver $nsolver"
|
||||
else
|
||||
nsolver=""
|
||||
fi
|
||||
|
||||
case "$mode" in
|
||||
4) mode="-mo i4" ;;
|
||||
8) mode="-mo i8" ;;
|
||||
*) mode= ;;
|
||||
esac
|
||||
|
||||
if [ "$gpu" != "" -a "$gpu" != "-" ]; then
|
||||
gpu="-gpu $gpu"
|
||||
else
|
||||
gpu=""
|
||||
fi
|
||||
|
||||
rm -f $job.cnt
|
||||
rm -f $job.sts
|
||||
rm -f $job.out
|
||||
rm -f $job.log
|
||||
|
||||
# To prevent a mismatch with the python version used by the solver
|
||||
# do *not* prepend $MENTAT_INSTALL_DIR/python/bin to environment variable PATH
|
||||
# unset environment variables PYTHONHOME and PYTHONPATH
|
||||
unset PYTHONHOME
|
||||
unset PYTHONPATH
|
||||
|
||||
"${DIR}/tools/run_damask_hmp" $slv -j $job -v n -b y $nprocds $nprocd \
|
||||
$srcfile $restart $postfile $viewfactorsfile $hostfile \
|
||||
$compat $copy_datfile $copy_postfile $scr_dir $dcoup \
|
||||
$assem_recov_nthread $nthread $nsolver $mode $gpu > /dev/null 2>&1
|
||||
sleep 1
|
||||
exit 0
|
|
@ -0,0 +1,191 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# The exit status of this script is read by Mentat.
|
||||
# Normal exit status is 0.
|
||||
#
|
||||
|
||||
DIR=%INSTALLDIR%/marc%VERSION%
|
||||
|
||||
if test $MARCDIR1
|
||||
then
|
||||
DIR=$MARCDIR1
|
||||
fi
|
||||
|
||||
if test -z "$DIR"; then
|
||||
REALCOM="`ls -l $0 |awk '{ print $NF; }'`"
|
||||
DIRSCRIPT=`dirname $REALCOM`
|
||||
case $DIRSCRIPT in
|
||||
\/*)
|
||||
;;
|
||||
*)
|
||||
DIRSCRIPT=`pwd`/$DIRSCRIPT
|
||||
;;
|
||||
esac
|
||||
. $DIRSCRIPT/getarch
|
||||
|
||||
DIR="$MENTAT_MARCDIR"
|
||||
fi
|
||||
|
||||
SRCEXT=.f
|
||||
SRCEXTC=.F
|
||||
RSTEXT=.t08
|
||||
PSTEXT=.t19
|
||||
PSTEXTB=.t16
|
||||
VWFCEXT=.vfs
|
||||
|
||||
slv=$1
|
||||
version=$2
|
||||
ndom_fea_solver=$3
|
||||
ndom_preprocessor=$4
|
||||
hostfile=$5
|
||||
compat=$6
|
||||
job=$7
|
||||
srcfile=$8
|
||||
srcmeth=$9
|
||||
shift 9 # cannot use $10, $11, ...
|
||||
restart=$1
|
||||
postfile=$2
|
||||
viewfactorsfile=$3
|
||||
copy_datfile="-ci $4"
|
||||
copy_postfile="-cr $5"
|
||||
scr_dir=$6
|
||||
dcoup=$7
|
||||
assem_recov_nthread=$8
|
||||
nthread=$9
|
||||
shift 9 # cannot use $10, $11, ...
|
||||
nsolver=$1
|
||||
mode=$2
|
||||
gpu=$3
|
||||
|
||||
if [ "$slv" != "" -a "$slv" != "marc" -a "$slv" != "datfit" ]; then
|
||||
slv="-iam sfm"
|
||||
fi
|
||||
if [ "$slv" = "marc" ]; then
|
||||
slv=""
|
||||
fi
|
||||
if [ "$slv" = "datfit" ]; then
|
||||
slv="-iam datfit"
|
||||
fi
|
||||
|
||||
if [ "$ndom_fea_solver" != "" -a "$ndom_fea_solver" != "1" ]; then
|
||||
nprocds="-nprocds $ndom_fea_solver"
|
||||
else
|
||||
nprocd=""
|
||||
if [ "$ndom_preprocessor" != "" -a "$ndom_preprocessor" != "1" ]; then
|
||||
nprocd="-nprocd $ndom_preprocessor"
|
||||
else
|
||||
nprocd=""
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$srcfile" != "" -a "$srcfile" != "-" ]; then
|
||||
srcfile=`echo $srcfile | sed "s/$SRCEXT$//" | sed "s/$SRCEXTC$//"`
|
||||
case "$srcmeth" in
|
||||
-)
|
||||
srcfile="-u $srcfile"
|
||||
;;
|
||||
compsave)
|
||||
srcfile="-u $srcfile -save y"
|
||||
;;
|
||||
runsaved)
|
||||
srcfile=${srcfile%.*}".marc"
|
||||
srcfile="-prog $srcfile"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
srcfile=""
|
||||
fi
|
||||
|
||||
if [ "$restart" != "" -a "$restart" != "-" ]; then
|
||||
restart=`echo $restart | sed "s/$RSTEXT$//"`
|
||||
restart="-r $restart"
|
||||
else
|
||||
restart=""
|
||||
fi
|
||||
|
||||
if [ "$postfile" != "" -a "$postfile" != "-" ]; then
|
||||
postfile=`echo $postfile | sed "s/$PSTEXT$//"`
|
||||
postfile=`echo $postfile | sed "s/$PSTEXTB$//"`
|
||||
postfile="-pid $postfile"
|
||||
else
|
||||
postfile=""
|
||||
fi
|
||||
|
||||
if [ "$viewfactorsfile" != "" -a "$viewfactorsfile" != "-" ]; then
|
||||
viewfactorsfile=`echo $viewfactorsfile | sed "s/$VWFCEXT$//"`
|
||||
viewfactorsfile="-vf $viewfactorsfile"
|
||||
else
|
||||
viewfactorsfile=""
|
||||
fi
|
||||
|
||||
if [ "$hostfile" != "" -a "$hostfile" != "-" ]; then
|
||||
hostfile="-ho $hostfile"
|
||||
else
|
||||
hostfile=""
|
||||
fi
|
||||
|
||||
if [ "$compat" != "" -a "$compat" != "-" ]; then
|
||||
compat="-co $compat"
|
||||
else
|
||||
compat=""
|
||||
fi
|
||||
|
||||
if [ "$scr_dir" != "" -a "$scr_dir" != "-" ]; then
|
||||
scr_dir="-sd $scr_dir"
|
||||
else
|
||||
scr_dir=""
|
||||
fi
|
||||
|
||||
if [ "$dcoup" != "" -a "$dcoup" != "0" ]; then
|
||||
dcoup="-dcoup $dcoup"
|
||||
else
|
||||
dcoup=""
|
||||
fi
|
||||
|
||||
if [ "$assem_recov_nthread" != "" -a "$assem_recov_nthread" != "1" ]; then
|
||||
assem_recov_nthread="-nthread_elem $assem_recov_nthread"
|
||||
else
|
||||
assem_recov_nthread=""
|
||||
fi
|
||||
|
||||
if [ "$nthread" != "" -a "$nthread" != "0" -a "$nthread" != "1" ]; then
|
||||
nthread="-nthread $nthread"
|
||||
else
|
||||
nthread=""
|
||||
fi
|
||||
|
||||
if [ "$nsolver" != "" -a "$nsolver" != "0" ]; then
|
||||
nsolver="-nsolver $nsolver"
|
||||
else
|
||||
nsolver=""
|
||||
fi
|
||||
|
||||
case "$mode" in
|
||||
4) mode="-mo i4" ;;
|
||||
8) mode="-mo i8" ;;
|
||||
*) mode= ;;
|
||||
esac
|
||||
|
||||
if [ "$gpu" != "" -a "$gpu" != "-" ]; then
|
||||
gpu="-gpu $gpu"
|
||||
else
|
||||
gpu=""
|
||||
fi
|
||||
|
||||
rm -f $job.cnt
|
||||
rm -f $job.sts
|
||||
rm -f $job.out
|
||||
rm -f $job.log
|
||||
|
||||
# To prevent a mismatch with the python version used by the solver
|
||||
# do *not* prepend $MENTAT_INSTALL_DIR/python/bin to environment variable PATH
|
||||
# unset environment variables PYTHONHOME and PYTHONPATH
|
||||
unset PYTHONHOME
|
||||
unset PYTHONPATH
|
||||
|
||||
"${DIR}/tools/run_damask_mp" $slv -j $job -v n -b y $nprocds $nprocd \
|
||||
$srcfile $restart $postfile $viewfactorsfile $hostfile \
|
||||
$compat $copy_datfile $copy_postfile $scr_dir $dcoup \
|
||||
$assem_recov_nthread $nthread $nsolver $mode $gpu > /dev/null 2>&1
|
||||
sleep 1
|
||||
exit 0
|
|
@ -0,0 +1,191 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# The exit status of this script is read by Mentat.
|
||||
# Normal exit status is 0.
|
||||
#
|
||||
|
||||
DIR=%INSTALLDIR%/marc%VERSION%
|
||||
|
||||
if test $MARCDIR1
|
||||
then
|
||||
DIR=$MARCDIR1
|
||||
fi
|
||||
|
||||
if test -z "$DIR"; then
|
||||
REALCOM="`ls -l $0 |awk '{ print $NF; }'`"
|
||||
DIRSCRIPT=`dirname $REALCOM`
|
||||
case $DIRSCRIPT in
|
||||
\/*)
|
||||
;;
|
||||
*)
|
||||
DIRSCRIPT=`pwd`/$DIRSCRIPT
|
||||
;;
|
||||
esac
|
||||
. $DIRSCRIPT/getarch
|
||||
|
||||
DIR="$MENTAT_MARCDIR"
|
||||
fi
|
||||
|
||||
SRCEXT=.f
|
||||
SRCEXTC=.F
|
||||
RSTEXT=.t08
|
||||
PSTEXT=.t19
|
||||
PSTEXTB=.t16
|
||||
VWFCEXT=.vfs
|
||||
|
||||
slv=$1
|
||||
version=$2
|
||||
ndom_fea_solver=$3
|
||||
ndom_preprocessor=$4
|
||||
hostfile=$5
|
||||
compat=$6
|
||||
job=$7
|
||||
srcfile=$8
|
||||
srcmeth=$9
|
||||
shift 9 # cannot use $10, $11, ...
|
||||
restart=$1
|
||||
postfile=$2
|
||||
viewfactorsfile=$3
|
||||
copy_datfile="-ci $4"
|
||||
copy_postfile="-cr $5"
|
||||
scr_dir=$6
|
||||
dcoup=$7
|
||||
assem_recov_nthread=$8
|
||||
nthread=$9
|
||||
shift 9 # cannot use $10, $11, ...
|
||||
nsolver=$1
|
||||
mode=$2
|
||||
gpu=$3
|
||||
|
||||
if [ "$slv" != "" -a "$slv" != "marc" -a "$slv" != "datfit" ]; then
|
||||
slv="-iam sfm"
|
||||
fi
|
||||
if [ "$slv" = "marc" ]; then
|
||||
slv=""
|
||||
fi
|
||||
if [ "$slv" = "datfit" ]; then
|
||||
slv="-iam datfit"
|
||||
fi
|
||||
|
||||
if [ "$ndom_fea_solver" != "" -a "$ndom_fea_solver" != "1" ]; then
|
||||
nprocds="-nprocds $ndom_fea_solver"
|
||||
else
|
||||
nprocd=""
|
||||
if [ "$ndom_preprocessor" != "" -a "$ndom_preprocessor" != "1" ]; then
|
||||
nprocd="-nprocd $ndom_preprocessor"
|
||||
else
|
||||
nprocd=""
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$srcfile" != "" -a "$srcfile" != "-" ]; then
|
||||
srcfile=`echo $srcfile | sed "s/$SRCEXT$//" | sed "s/$SRCEXTC$//"`
|
||||
case "$srcmeth" in
|
||||
-)
|
||||
srcfile="-u $srcfile"
|
||||
;;
|
||||
compsave)
|
||||
srcfile="-u $srcfile -save y"
|
||||
;;
|
||||
runsaved)
|
||||
srcfile=${srcfile%.*}".marc"
|
||||
srcfile="-prog $srcfile"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
srcfile=""
|
||||
fi
|
||||
|
||||
if [ "$restart" != "" -a "$restart" != "-" ]; then
|
||||
restart=`echo $restart | sed "s/$RSTEXT$//"`
|
||||
restart="-r $restart"
|
||||
else
|
||||
restart=""
|
||||
fi
|
||||
|
||||
if [ "$postfile" != "" -a "$postfile" != "-" ]; then
|
||||
postfile=`echo $postfile | sed "s/$PSTEXT$//"`
|
||||
postfile=`echo $postfile | sed "s/$PSTEXTB$//"`
|
||||
postfile="-pid $postfile"
|
||||
else
|
||||
postfile=""
|
||||
fi
|
||||
|
||||
if [ "$viewfactorsfile" != "" -a "$viewfactorsfile" != "-" ]; then
|
||||
viewfactorsfile=`echo $viewfactorsfile | sed "s/$VWFCEXT$//"`
|
||||
viewfactorsfile="-vf $viewfactorsfile"
|
||||
else
|
||||
viewfactorsfile=""
|
||||
fi
|
||||
|
||||
if [ "$hostfile" != "" -a "$hostfile" != "-" ]; then
|
||||
hostfile="-ho $hostfile"
|
||||
else
|
||||
hostfile=""
|
||||
fi
|
||||
|
||||
if [ "$compat" != "" -a "$compat" != "-" ]; then
|
||||
compat="-co $compat"
|
||||
else
|
||||
compat=""
|
||||
fi
|
||||
|
||||
if [ "$scr_dir" != "" -a "$scr_dir" != "-" ]; then
|
||||
scr_dir="-sd $scr_dir"
|
||||
else
|
||||
scr_dir=""
|
||||
fi
|
||||
|
||||
if [ "$dcoup" != "" -a "$dcoup" != "0" ]; then
|
||||
dcoup="-dcoup $dcoup"
|
||||
else
|
||||
dcoup=""
|
||||
fi
|
||||
|
||||
if [ "$assem_recov_nthread" != "" -a "$assem_recov_nthread" != "1" ]; then
|
||||
assem_recov_nthread="-nthread_elem $assem_recov_nthread"
|
||||
else
|
||||
assem_recov_nthread=""
|
||||
fi
|
||||
|
||||
if [ "$nthread" != "" -a "$nthread" != "0" -a "$nthread" != "1" ]; then
|
||||
nthread="-nthread $nthread"
|
||||
else
|
||||
nthread=""
|
||||
fi
|
||||
|
||||
if [ "$nsolver" != "" -a "$nsolver" != "0" ]; then
|
||||
nsolver="-nsolver $nsolver"
|
||||
else
|
||||
nsolver=""
|
||||
fi
|
||||
|
||||
case "$mode" in
|
||||
4) mode="-mo i4" ;;
|
||||
8) mode="-mo i8" ;;
|
||||
*) mode= ;;
|
||||
esac
|
||||
|
||||
if [ "$gpu" != "" -a "$gpu" != "-" ]; then
|
||||
gpu="-gpu $gpu"
|
||||
else
|
||||
gpu=""
|
||||
fi
|
||||
|
||||
rm -f $job.cnt
|
||||
rm -f $job.sts
|
||||
rm -f $job.out
|
||||
rm -f $job.log
|
||||
|
||||
# To prevent a mismatch with the python version used by the solver
|
||||
# do *not* prepend $MENTAT_INSTALL_DIR/python/bin to environment variable PATH
|
||||
# unset environment variables PYTHONHOME and PYTHONPATH
|
||||
unset PYTHONHOME
|
||||
unset PYTHONPATH
|
||||
|
||||
"${DIR}/tools/run_damask_lmp" $slv -j $job -v n -b y $nprocds $nprocd \
|
||||
$srcfile $restart $postfile $viewfactorsfile $hostfile \
|
||||
$compat $copy_datfile $copy_postfile $scr_dir $dcoup \
|
||||
$assem_recov_nthread $nthread $nsolver $mode $gpu > /dev/null 2>&1
|
||||
sleep 1
|
||||
exit 0
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -49,4 +49,5 @@ echo "program: $program"
|
|||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
||||
|
|
|
@ -49,4 +49,5 @@ echo "program: $program"
|
|||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
||||
|
|
|
@ -49,4 +49,5 @@ echo "program: $program"
|
|||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
# =1, element storage out-of-core #
|
||||
# -dll run marc using shared library libmarc.so and exe_marc #
|
||||
# =1, used #
|
||||
# =2, do not free streaming input memory #
|
||||
# =2, do not free streaming input memory #
|
||||
# =3, run with marc input deck #
|
||||
# -trk run marc for post-tracking #
|
||||
# -gpuid run marc using GPGPU capability #
|
||||
|
@ -176,16 +176,16 @@ fi
|
|||
# MARC_MODE i8
|
||||
# it can also be set by the environmental variable MARC_INTEGER_SIZE
|
||||
# and by the command line option "-mo"
|
||||
#
|
||||
#
|
||||
mode=
|
||||
modeerror=
|
||||
modeoption=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
echo
|
||||
line=
|
||||
fi
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults`
|
||||
|
@ -202,7 +202,7 @@ fi
|
|||
if test -f $HOME/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
line=
|
||||
|
@ -225,7 +225,7 @@ if test -z "$mode" ; then
|
|||
mode=i8
|
||||
fi
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported."
|
||||
modeoption=error
|
||||
echo $modeerror
|
||||
|
@ -245,7 +245,7 @@ for arg in $* ; do
|
|||
if $setmode ; then
|
||||
mode=$arg
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for mode option; only i8 is supported."
|
||||
modeoption=error
|
||||
echo
|
||||
|
@ -268,7 +268,7 @@ for arg in $* ; do
|
|||
setmode=false
|
||||
fi
|
||||
if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
setmode=true
|
||||
|
@ -332,7 +332,7 @@ case "`echo '\c'`" in
|
|||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
#
|
||||
# Variables for the MARC environment
|
||||
#
|
||||
|
||||
|
@ -387,7 +387,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH
|
|||
export LD_LIBRARY_PATH
|
||||
export LD_LIBRARY64_PATH
|
||||
export LD_LIBRARYN32_PATH
|
||||
|
||||
|
||||
atexit() {
|
||||
kill -15 $$
|
||||
#
|
||||
|
@ -497,7 +497,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a
|
|||
# or in the user's home directory
|
||||
# format:
|
||||
# MARC_MPI <mpiversion>
|
||||
#
|
||||
#
|
||||
value=
|
||||
file=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
|
@ -522,7 +522,7 @@ if test -n "$value"; then
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
|
@ -542,7 +542,7 @@ if test -n "$value"; then
|
|||
fi
|
||||
fi
|
||||
fi
|
||||
#
|
||||
#
|
||||
#
|
||||
# allow scratch directory to be specified with environmental variable
|
||||
# MARCSCRATCH
|
||||
|
@ -612,7 +612,7 @@ do
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-r* | -R*)
|
||||
rid=`$BASENAME $value .t08`
|
||||
|
@ -623,7 +623,7 @@ do
|
|||
*)
|
||||
DIRRID=`pwd`/$DIRRID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-si* | -SI*)
|
||||
sid=$value
|
||||
|
@ -634,7 +634,7 @@ do
|
|||
*)
|
||||
DIRSID=`pwd`/$DIRSID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-pi* | -PI*)
|
||||
if test -f $value.t19
|
||||
|
@ -650,7 +650,7 @@ do
|
|||
*)
|
||||
DIRPID=`pwd`/$DIRPID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-bdf | -BDF)
|
||||
makebdf=1
|
||||
|
@ -664,7 +664,7 @@ do
|
|||
*)
|
||||
DIRDID=`pwd`/$DIRDID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-vf | -VF)
|
||||
vid=`$BASENAME $value .vfs`
|
||||
|
@ -675,7 +675,7 @@ do
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-u* | -U*)
|
||||
user=$value
|
||||
|
@ -777,7 +777,7 @@ do
|
|||
;;
|
||||
-au* | -AU*)
|
||||
nauto=$value
|
||||
echo
|
||||
echo
|
||||
echo warning: the option -au is no longer supported and will be ignored
|
||||
echo
|
||||
;;
|
||||
|
@ -849,7 +849,7 @@ do
|
|||
*)
|
||||
DIRSCR=`pwd`/$DIRSCR
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-ho* | -HO*)
|
||||
host=$value
|
||||
|
@ -900,7 +900,7 @@ fi
|
|||
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -936,7 +936,7 @@ fi
|
|||
ntprint=$nt
|
||||
nteprint=$nte
|
||||
# copy from -nprocd[s]
|
||||
if test $nprocdddm -gt 1
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
nteprint=$nprocdddm
|
||||
fi
|
||||
|
@ -945,7 +945,7 @@ if test $nte -ne 0
|
|||
then
|
||||
nteprint=$nte
|
||||
fi
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
if test $nteprint -lt $nprocdddm
|
||||
|
@ -1000,24 +1000,24 @@ export OMP_STACKSIZE=7M
|
|||
# deprecate -nthread option at arugment of marc
|
||||
nt=0
|
||||
# Reset nprocdddmm, nsolver and threads if not given.
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdarg=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddmprint=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddm=
|
||||
fi
|
||||
fi
|
||||
|
||||
nsolverprint=$nsolver
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
nsolverprint=
|
||||
fi
|
||||
fi
|
||||
# end of threads setting.
|
||||
gpuoption=
|
||||
if test "$gpuids" = "" ; then
|
||||
|
@ -1032,7 +1032,7 @@ else
|
|||
MARCCUDALIBS=$MARCCUDALIBS2
|
||||
export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH
|
||||
fi
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
|
@ -1061,7 +1061,7 @@ if test "$dllrun" -gt 0; then
|
|||
fi
|
||||
|
||||
if test "$progdll"; then
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
rmdll=yes
|
||||
pathdll=yes
|
||||
progdll=${progdll}_$marcdll
|
||||
|
@ -1095,14 +1095,14 @@ while test forever; do
|
|||
if test $nprocdddm -gt 1 -a $icreated -eq 0; then
|
||||
if test ! -f $DIRJID/1$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/1$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test ! -f $DIRJID/$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1110,7 +1110,7 @@ fi
|
|||
if test $nprocd -gt 1; then
|
||||
if test "$host" ; then
|
||||
if test ! -f $host; then
|
||||
error="$error
|
||||
error="$error
|
||||
host name file $host not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1224,11 +1224,11 @@ view factor file $DIRVID/$vid.vfs not accessible"
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)"
|
||||
fi
|
||||
fi
|
||||
|
@ -1293,7 +1293,7 @@ defaults file $DIRDID/$did$dotdat not accessible"
|
|||
then
|
||||
if test $ndcoup -gt 3
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for contact decoupling "
|
||||
fi
|
||||
fi
|
||||
|
@ -1301,7 +1301,7 @@ incorrect option for contact decoupling "
|
|||
then
|
||||
if test $ndytran -gt 1
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for Marc-Dytran Switch "
|
||||
fi
|
||||
fi
|
||||
|
@ -1309,7 +1309,7 @@ incorrect option for Marc-Dytran Switch "
|
|||
then
|
||||
if test ! -x $MARC_BIN/$exefile
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE "
|
||||
fi
|
||||
fi
|
||||
|
@ -1626,7 +1626,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
fi
|
||||
$ECHO "User subroutine name ($user)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -1644,7 +1644,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
user=`pwd`/$user
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
|
@ -1767,7 +1767,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -1809,7 +1809,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
fi
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -1959,7 +1959,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
then
|
||||
qid=$value
|
||||
fi
|
||||
case $qid in
|
||||
case $qid in
|
||||
s* | S* | l* | L* | v* | V* )
|
||||
$ECHO "Queue priority ($priority)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -2017,42 +2017,42 @@ esac
|
|||
|
||||
done
|
||||
#
|
||||
if test $nt -eq 0
|
||||
then
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntarg=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntprint=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
nt=
|
||||
fi
|
||||
|
||||
if test $nte -eq 0
|
||||
then
|
||||
if test $nte -eq 0
|
||||
then
|
||||
ntearg=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nteprint=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nte=
|
||||
fi
|
||||
|
||||
if test $nts -eq 0
|
||||
then
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsarg=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsprint=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
nts=
|
||||
fi
|
||||
#
|
||||
|
@ -2305,7 +2305,7 @@ fi
|
|||
execpath=$usernoext.marc
|
||||
usersub=1
|
||||
fi
|
||||
export execpath
|
||||
export execpath
|
||||
execname=`$BASENAME $execpath`
|
||||
|
||||
if test "$host"
|
||||
|
@ -2338,7 +2338,7 @@ fi
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# less than number of available user ports, 5
|
||||
# .gmpi directory must exist in user's home directory
|
||||
# and must have write permission from remote hosts
|
||||
|
@ -2452,9 +2452,9 @@ fi
|
|||
then
|
||||
# Intel MPI
|
||||
if test -f $jid.mfile
|
||||
then
|
||||
then
|
||||
/bin/rm $jid.mfile 2> /dev/null
|
||||
fi
|
||||
fi
|
||||
/bin/cp $host $jid.host
|
||||
grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile
|
||||
# end Intel MPI for DMP
|
||||
|
@ -2538,7 +2538,7 @@ fi
|
|||
else
|
||||
host=$jid.host
|
||||
host_filt=$host
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
then
|
||||
host_filt=$jid.mfile
|
||||
fi
|
||||
|
@ -2547,7 +2547,7 @@ fi
|
|||
# or distributed and set the variable "dirstatus" accordingly.
|
||||
# only perform the check if user subroutine is used
|
||||
# or a user subroutine executable is used
|
||||
|
||||
|
||||
numfield=1
|
||||
if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware
|
||||
then
|
||||
|
@ -2707,7 +2707,7 @@ fi
|
|||
fi
|
||||
# modify new host file if NFS mounted heterogeneous machine
|
||||
doit=
|
||||
if test $program = $prog.marc
|
||||
if test $program = $prog.marc
|
||||
then
|
||||
doit=yes
|
||||
fi
|
||||
|
@ -2731,23 +2731,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \
|
|||
printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
||||
/bin/mv $jid.host{$$} $jid.host
|
||||
host=$jid.host
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
fi # if test $program = $prog.marc -o $user -o $obj
|
||||
|
||||
|
||||
else # if test $host
|
||||
# assume shared memory machine if no hostfile given and
|
||||
# MPITYPE is set to mpich or Myrinet
|
||||
# check for Myrinet that the total number of processes is
|
||||
# check for Myrinet that the total number of processes is
|
||||
# less than number of available user ports, 5
|
||||
if test $MPITYPE = "mpich" -o $MPITYPE = "scali"
|
||||
then
|
||||
numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'`
|
||||
echo `hostname` $numproc $execpath > $jid.host
|
||||
host=$jid.host
|
||||
elif test $MPITYPE = "myrinet"
|
||||
elif test $MPITYPE = "myrinet"
|
||||
then
|
||||
if test $nprocd -gt 5
|
||||
then
|
||||
|
@ -2787,7 +2787,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
|||
fi # if test $host
|
||||
|
||||
fi # if test $nprocd -gt 1
|
||||
|
||||
|
||||
fi # if test $program = $exefile -o $program = $prog.marc
|
||||
|
||||
##############################################################################
|
||||
|
@ -2837,7 +2837,7 @@ else
|
|||
nsolverarg="$nsolverarg $nsolver"
|
||||
fi
|
||||
if test $nprocdddm -lt 2 -a $nsolver -eq 0
|
||||
then
|
||||
then
|
||||
nprocd=0
|
||||
fi
|
||||
if test $nprocd -gt 0
|
||||
|
@ -2848,7 +2848,7 @@ then
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -2953,7 +2953,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB "
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -3241,6 +3241,7 @@ else
|
|||
fi
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3283,7 +3284,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
fi
|
||||
else
|
||||
if test $cpdll = yes; then
|
||||
|
@ -3292,10 +3293,10 @@ else
|
|||
fi
|
||||
if test $rmdll = yes
|
||||
then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
numdom=$nprocdddm
|
||||
|
@ -3363,15 +3364,15 @@ else
|
|||
#
|
||||
QUENAME=qsub
|
||||
SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid"
|
||||
if test "$priority"
|
||||
if test "$priority"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -p $priority"
|
||||
fi
|
||||
if test "$att"
|
||||
if test "$att"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -a $att"
|
||||
fi
|
||||
if test "$cpu"
|
||||
if test "$cpu"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -lt $cpu"
|
||||
fi
|
||||
|
@ -3553,7 +3554,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3573,6 +3574,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3621,7 +3623,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
# for network run, remove executable on remote machines
|
||||
# and executables with modified name
|
||||
if test $nprocd -gt 1
|
||||
|
@ -3670,7 +3672,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
if test $nprocdddm -gt 1
|
||||
|
@ -3887,7 +3889,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3907,6 +3909,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
# done if no job id given
|
||||
if test -z "$jid"
|
||||
then
|
||||
|
@ -3946,7 +3949,7 @@ if test $ddm_arc -gt 0; then
|
|||
RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc "
|
||||
fi
|
||||
|
||||
$RUN_JOB
|
||||
$RUN_JOB
|
||||
|
||||
if test $nprocd -gt 1
|
||||
then
|
||||
|
@ -4029,7 +4032,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
# =1, element storage out-of-core #
|
||||
# -dll run marc using shared library libmarc.so and exe_marc #
|
||||
# =1, used #
|
||||
# =2, do not free streaming input memory #
|
||||
# =2, do not free streaming input memory #
|
||||
# =3, run with marc input deck #
|
||||
# -trk run marc for post-tracking #
|
||||
# -gpuid run marc using GPGPU capability #
|
||||
|
@ -176,16 +176,16 @@ fi
|
|||
# MARC_MODE i8
|
||||
# it can also be set by the environmental variable MARC_INTEGER_SIZE
|
||||
# and by the command line option "-mo"
|
||||
#
|
||||
#
|
||||
mode=
|
||||
modeerror=
|
||||
modeoption=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
echo
|
||||
line=
|
||||
fi
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults`
|
||||
|
@ -202,7 +202,7 @@ fi
|
|||
if test -f $HOME/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
line=
|
||||
|
@ -225,7 +225,7 @@ if test -z "$mode" ; then
|
|||
mode=i8
|
||||
fi
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported."
|
||||
modeoption=error
|
||||
echo $modeerror
|
||||
|
@ -245,7 +245,7 @@ for arg in $* ; do
|
|||
if $setmode ; then
|
||||
mode=$arg
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for mode option; only i8 is supported."
|
||||
modeoption=error
|
||||
echo
|
||||
|
@ -268,7 +268,7 @@ for arg in $* ; do
|
|||
setmode=false
|
||||
fi
|
||||
if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
setmode=true
|
||||
|
@ -332,7 +332,7 @@ case "`echo '\c'`" in
|
|||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
#
|
||||
# Variables for the MARC environment
|
||||
#
|
||||
|
||||
|
@ -387,7 +387,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH
|
|||
export LD_LIBRARY_PATH
|
||||
export LD_LIBRARY64_PATH
|
||||
export LD_LIBRARYN32_PATH
|
||||
|
||||
|
||||
atexit() {
|
||||
kill -15 $$
|
||||
#
|
||||
|
@ -497,7 +497,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a
|
|||
# or in the user's home directory
|
||||
# format:
|
||||
# MARC_MPI <mpiversion>
|
||||
#
|
||||
#
|
||||
value=
|
||||
file=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
|
@ -522,7 +522,7 @@ if test -n "$value"; then
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
|
@ -542,7 +542,7 @@ if test -n "$value"; then
|
|||
fi
|
||||
fi
|
||||
fi
|
||||
#
|
||||
#
|
||||
#
|
||||
# allow scratch directory to be specified with environmental variable
|
||||
# MARCSCRATCH
|
||||
|
@ -612,7 +612,7 @@ do
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-r* | -R*)
|
||||
rid=`$BASENAME $value .t08`
|
||||
|
@ -623,7 +623,7 @@ do
|
|||
*)
|
||||
DIRRID=`pwd`/$DIRRID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-si* | -SI*)
|
||||
sid=$value
|
||||
|
@ -634,7 +634,7 @@ do
|
|||
*)
|
||||
DIRSID=`pwd`/$DIRSID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-pi* | -PI*)
|
||||
if test -f $value.t19
|
||||
|
@ -650,7 +650,7 @@ do
|
|||
*)
|
||||
DIRPID=`pwd`/$DIRPID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-bdf | -BDF)
|
||||
makebdf=1
|
||||
|
@ -664,7 +664,7 @@ do
|
|||
*)
|
||||
DIRDID=`pwd`/$DIRDID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-vf | -VF)
|
||||
vid=`$BASENAME $value .vfs`
|
||||
|
@ -675,7 +675,7 @@ do
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-u* | -U*)
|
||||
user=$value
|
||||
|
@ -777,7 +777,7 @@ do
|
|||
;;
|
||||
-au* | -AU*)
|
||||
nauto=$value
|
||||
echo
|
||||
echo
|
||||
echo warning: the option -au is no longer supported and will be ignored
|
||||
echo
|
||||
;;
|
||||
|
@ -849,7 +849,7 @@ do
|
|||
*)
|
||||
DIRSCR=`pwd`/$DIRSCR
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-ho* | -HO*)
|
||||
host=$value
|
||||
|
@ -900,7 +900,7 @@ fi
|
|||
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -936,7 +936,7 @@ fi
|
|||
ntprint=$nt
|
||||
nteprint=$nte
|
||||
# copy from -nprocd[s]
|
||||
if test $nprocdddm -gt 1
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
nteprint=$nprocdddm
|
||||
fi
|
||||
|
@ -945,7 +945,7 @@ if test $nte -ne 0
|
|||
then
|
||||
nteprint=$nte
|
||||
fi
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
if test $nteprint -lt $nprocdddm
|
||||
|
@ -1000,24 +1000,24 @@ export OMP_STACKSIZE=7M
|
|||
# deprecate -nthread option at arugment of marc
|
||||
nt=0
|
||||
# Reset nprocdddmm, nsolver and threads if not given.
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdarg=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddmprint=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddm=
|
||||
fi
|
||||
fi
|
||||
|
||||
nsolverprint=$nsolver
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
nsolverprint=
|
||||
fi
|
||||
fi
|
||||
# end of threads setting.
|
||||
gpuoption=
|
||||
if test "$gpuids" = "" ; then
|
||||
|
@ -1032,7 +1032,7 @@ else
|
|||
MARCCUDALIBS=$MARCCUDALIBS2
|
||||
export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH
|
||||
fi
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
|
@ -1061,7 +1061,7 @@ if test "$dllrun" -gt 0; then
|
|||
fi
|
||||
|
||||
if test "$progdll"; then
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
rmdll=yes
|
||||
pathdll=yes
|
||||
progdll=${progdll}_$marcdll
|
||||
|
@ -1095,14 +1095,14 @@ while test forever; do
|
|||
if test $nprocdddm -gt 1 -a $icreated -eq 0; then
|
||||
if test ! -f $DIRJID/1$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/1$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test ! -f $DIRJID/$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1110,7 +1110,7 @@ fi
|
|||
if test $nprocd -gt 1; then
|
||||
if test "$host" ; then
|
||||
if test ! -f $host; then
|
||||
error="$error
|
||||
error="$error
|
||||
host name file $host not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1224,11 +1224,11 @@ view factor file $DIRVID/$vid.vfs not accessible"
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)"
|
||||
fi
|
||||
fi
|
||||
|
@ -1293,7 +1293,7 @@ defaults file $DIRDID/$did$dotdat not accessible"
|
|||
then
|
||||
if test $ndcoup -gt 3
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for contact decoupling "
|
||||
fi
|
||||
fi
|
||||
|
@ -1301,7 +1301,7 @@ incorrect option for contact decoupling "
|
|||
then
|
||||
if test $ndytran -gt 1
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for Marc-Dytran Switch "
|
||||
fi
|
||||
fi
|
||||
|
@ -1309,7 +1309,7 @@ incorrect option for Marc-Dytran Switch "
|
|||
then
|
||||
if test ! -x $MARC_BIN/$exefile
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE "
|
||||
fi
|
||||
fi
|
||||
|
@ -1626,7 +1626,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
fi
|
||||
$ECHO "User subroutine name ($user)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -1644,7 +1644,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
user=`pwd`/$user
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
|
@ -1767,7 +1767,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -1809,7 +1809,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
fi
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -1959,7 +1959,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
then
|
||||
qid=$value
|
||||
fi
|
||||
case $qid in
|
||||
case $qid in
|
||||
s* | S* | l* | L* | v* | V* )
|
||||
$ECHO "Queue priority ($priority)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -2017,42 +2017,42 @@ esac
|
|||
|
||||
done
|
||||
#
|
||||
if test $nt -eq 0
|
||||
then
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntarg=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntprint=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
nt=
|
||||
fi
|
||||
|
||||
if test $nte -eq 0
|
||||
then
|
||||
if test $nte -eq 0
|
||||
then
|
||||
ntearg=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nteprint=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nte=
|
||||
fi
|
||||
|
||||
if test $nts -eq 0
|
||||
then
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsarg=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsprint=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
nts=
|
||||
fi
|
||||
#
|
||||
|
@ -2305,7 +2305,7 @@ fi
|
|||
execpath=$usernoext.marc
|
||||
usersub=1
|
||||
fi
|
||||
export execpath
|
||||
export execpath
|
||||
execname=`$BASENAME $execpath`
|
||||
|
||||
if test "$host"
|
||||
|
@ -2338,7 +2338,7 @@ fi
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# less than number of available user ports, 5
|
||||
# .gmpi directory must exist in user's home directory
|
||||
# and must have write permission from remote hosts
|
||||
|
@ -2452,9 +2452,9 @@ fi
|
|||
then
|
||||
# Intel MPI
|
||||
if test -f $jid.mfile
|
||||
then
|
||||
then
|
||||
/bin/rm $jid.mfile 2> /dev/null
|
||||
fi
|
||||
fi
|
||||
/bin/cp $host $jid.host
|
||||
grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile
|
||||
# end Intel MPI for DMP
|
||||
|
@ -2538,7 +2538,7 @@ fi
|
|||
else
|
||||
host=$jid.host
|
||||
host_filt=$host
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
then
|
||||
host_filt=$jid.mfile
|
||||
fi
|
||||
|
@ -2547,7 +2547,7 @@ fi
|
|||
# or distributed and set the variable "dirstatus" accordingly.
|
||||
# only perform the check if user subroutine is used
|
||||
# or a user subroutine executable is used
|
||||
|
||||
|
||||
numfield=1
|
||||
if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware
|
||||
then
|
||||
|
@ -2707,7 +2707,7 @@ fi
|
|||
fi
|
||||
# modify new host file if NFS mounted heterogeneous machine
|
||||
doit=
|
||||
if test $program = $prog.marc
|
||||
if test $program = $prog.marc
|
||||
then
|
||||
doit=yes
|
||||
fi
|
||||
|
@ -2731,23 +2731,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \
|
|||
printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
||||
/bin/mv $jid.host{$$} $jid.host
|
||||
host=$jid.host
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
fi # if test $program = $prog.marc -o $user -o $obj
|
||||
|
||||
|
||||
else # if test $host
|
||||
# assume shared memory machine if no hostfile given and
|
||||
# MPITYPE is set to mpich or Myrinet
|
||||
# check for Myrinet that the total number of processes is
|
||||
# check for Myrinet that the total number of processes is
|
||||
# less than number of available user ports, 5
|
||||
if test $MPITYPE = "mpich" -o $MPITYPE = "scali"
|
||||
then
|
||||
numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'`
|
||||
echo `hostname` $numproc $execpath > $jid.host
|
||||
host=$jid.host
|
||||
elif test $MPITYPE = "myrinet"
|
||||
elif test $MPITYPE = "myrinet"
|
||||
then
|
||||
if test $nprocd -gt 5
|
||||
then
|
||||
|
@ -2787,7 +2787,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
|||
fi # if test $host
|
||||
|
||||
fi # if test $nprocd -gt 1
|
||||
|
||||
|
||||
fi # if test $program = $exefile -o $program = $prog.marc
|
||||
|
||||
##############################################################################
|
||||
|
@ -2837,7 +2837,7 @@ else
|
|||
nsolverarg="$nsolverarg $nsolver"
|
||||
fi
|
||||
if test $nprocdddm -lt 2 -a $nsolver -eq 0
|
||||
then
|
||||
then
|
||||
nprocd=0
|
||||
fi
|
||||
if test $nprocd -gt 0
|
||||
|
@ -2848,7 +2848,7 @@ then
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -2953,7 +2953,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB "
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -3241,6 +3241,7 @@ else
|
|||
fi
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3283,7 +3284,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
fi
|
||||
else
|
||||
if test $cpdll = yes; then
|
||||
|
@ -3292,10 +3293,10 @@ else
|
|||
fi
|
||||
if test $rmdll = yes
|
||||
then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
numdom=$nprocdddm
|
||||
|
@ -3363,15 +3364,15 @@ else
|
|||
#
|
||||
QUENAME=qsub
|
||||
SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid"
|
||||
if test "$priority"
|
||||
if test "$priority"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -p $priority"
|
||||
fi
|
||||
if test "$att"
|
||||
if test "$att"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -a $att"
|
||||
fi
|
||||
if test "$cpu"
|
||||
if test "$cpu"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -lt $cpu"
|
||||
fi
|
||||
|
@ -3553,7 +3554,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3573,6 +3574,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3621,7 +3623,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
# for network run, remove executable on remote machines
|
||||
# and executables with modified name
|
||||
if test $nprocd -gt 1
|
||||
|
@ -3670,7 +3672,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
if test $nprocdddm -gt 1
|
||||
|
@ -3887,7 +3889,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3907,6 +3909,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
# done if no job id given
|
||||
if test -z "$jid"
|
||||
then
|
||||
|
@ -3946,7 +3949,7 @@ if test $ddm_arc -gt 0; then
|
|||
RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc "
|
||||
fi
|
||||
|
||||
$RUN_JOB
|
||||
$RUN_JOB
|
||||
|
||||
if test $nprocd -gt 1
|
||||
then
|
||||
|
@ -4029,7 +4032,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
# =1, element storage out-of-core #
|
||||
# -dll run marc using shared library libmarc.so and exe_marc #
|
||||
# =1, used #
|
||||
# =2, do not free streaming input memory #
|
||||
# =2, do not free streaming input memory #
|
||||
# =3, run with marc input deck #
|
||||
# -trk run marc for post-tracking #
|
||||
# -gpuid run marc using GPGPU capability #
|
||||
|
@ -176,16 +176,16 @@ fi
|
|||
# MARC_MODE i8
|
||||
# it can also be set by the environmental variable MARC_INTEGER_SIZE
|
||||
# and by the command line option "-mo"
|
||||
#
|
||||
#
|
||||
mode=
|
||||
modeerror=
|
||||
modeoption=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $DIRSCRIPT/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
echo
|
||||
line=
|
||||
fi
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $2}}' $DIRSCRIPT/run_marc_defaults`
|
||||
|
@ -202,7 +202,7 @@ fi
|
|||
if test -f $HOME/run_marc_defaults; then
|
||||
line=`$AWK '{if ($1 == "MARC_MODE") {print $1}}' $HOME/run_marc_defaults`
|
||||
if test "$line" = "MARC_MODE"; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option MARC_MODE is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
line=
|
||||
|
@ -225,7 +225,7 @@ if test -z "$mode" ; then
|
|||
mode=i8
|
||||
fi
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for MARC_INTEGER_SIZE variable; only i8 is supported."
|
||||
modeoption=error
|
||||
echo $modeerror
|
||||
|
@ -245,7 +245,7 @@ for arg in $* ; do
|
|||
if $setmode ; then
|
||||
mode=$arg
|
||||
case $mode in
|
||||
i4)
|
||||
i4)
|
||||
modeerror="bad value for mode option; only i8 is supported."
|
||||
modeoption=error
|
||||
echo
|
||||
|
@ -268,7 +268,7 @@ for arg in $* ; do
|
|||
setmode=false
|
||||
fi
|
||||
if [ ${arg}X = -moX -o ${arg}X = -MOX ] ; then
|
||||
echo
|
||||
echo
|
||||
echo warning: the option -mo is deprecated, as of Marc 2015, only the integer*8 version is available
|
||||
echo
|
||||
setmode=true
|
||||
|
@ -332,7 +332,7 @@ case "`echo '\c'`" in
|
|||
;;
|
||||
esac
|
||||
|
||||
#
|
||||
#
|
||||
# Variables for the MARC environment
|
||||
#
|
||||
|
||||
|
@ -387,7 +387,7 @@ LD_LIBRARYN32_PATH=$MARC_LIB:$LD_LIBRARYN32_PATH
|
|||
export LD_LIBRARY_PATH
|
||||
export LD_LIBRARY64_PATH
|
||||
export LD_LIBRARYN32_PATH
|
||||
|
||||
|
||||
atexit() {
|
||||
kill -15 $$
|
||||
#
|
||||
|
@ -497,7 +497,7 @@ MDSRCLIB=$MARC_LIB/mdsrc.a
|
|||
# or in the user's home directory
|
||||
# format:
|
||||
# MARC_MPI <mpiversion>
|
||||
#
|
||||
#
|
||||
value=
|
||||
file=
|
||||
if test -f $DIRSCRIPT/run_marc_defaults; then
|
||||
|
@ -522,7 +522,7 @@ if test -n "$value"; then
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
|
@ -542,7 +542,7 @@ if test -n "$value"; then
|
|||
fi
|
||||
fi
|
||||
fi
|
||||
#
|
||||
#
|
||||
#
|
||||
# allow scratch directory to be specified with environmental variable
|
||||
# MARCSCRATCH
|
||||
|
@ -612,7 +612,7 @@ do
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-r* | -R*)
|
||||
rid=`$BASENAME $value .t08`
|
||||
|
@ -623,7 +623,7 @@ do
|
|||
*)
|
||||
DIRRID=`pwd`/$DIRRID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-si* | -SI*)
|
||||
sid=$value
|
||||
|
@ -634,7 +634,7 @@ do
|
|||
*)
|
||||
DIRSID=`pwd`/$DIRSID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-pi* | -PI*)
|
||||
if test -f $value.t19
|
||||
|
@ -650,7 +650,7 @@ do
|
|||
*)
|
||||
DIRPID=`pwd`/$DIRPID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-bdf | -BDF)
|
||||
makebdf=1
|
||||
|
@ -664,7 +664,7 @@ do
|
|||
*)
|
||||
DIRDID=`pwd`/$DIRDID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-vf | -VF)
|
||||
vid=`$BASENAME $value .vfs`
|
||||
|
@ -675,7 +675,7 @@ do
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-u* | -U*)
|
||||
user=$value
|
||||
|
@ -777,7 +777,7 @@ do
|
|||
;;
|
||||
-au* | -AU*)
|
||||
nauto=$value
|
||||
echo
|
||||
echo
|
||||
echo warning: the option -au is no longer supported and will be ignored
|
||||
echo
|
||||
;;
|
||||
|
@ -849,7 +849,7 @@ do
|
|||
*)
|
||||
DIRSCR=`pwd`/$DIRSCR
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
-ho* | -HO*)
|
||||
host=$value
|
||||
|
@ -900,7 +900,7 @@ fi
|
|||
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -936,7 +936,7 @@ fi
|
|||
ntprint=$nt
|
||||
nteprint=$nte
|
||||
# copy from -nprocd[s]
|
||||
if test $nprocdddm -gt 1
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
nteprint=$nprocdddm
|
||||
fi
|
||||
|
@ -945,7 +945,7 @@ if test $nte -ne 0
|
|||
then
|
||||
nteprint=$nte
|
||||
fi
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
# check for minimum 1 threads per processes for DDM
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
if test $nteprint -lt $nprocdddm
|
||||
|
@ -1000,24 +1000,24 @@ export OMP_STACKSIZE=7M
|
|||
# deprecate -nthread option at arugment of marc
|
||||
nt=0
|
||||
# Reset nprocdddmm, nsolver and threads if not given.
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdarg=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddmprint=
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nprocdddm -eq 0
|
||||
then
|
||||
nprocdddm=
|
||||
fi
|
||||
fi
|
||||
|
||||
nsolverprint=$nsolver
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
if test $nsolver -eq 0
|
||||
then
|
||||
nsolverprint=
|
||||
fi
|
||||
fi
|
||||
# end of threads setting.
|
||||
gpuoption=
|
||||
if test "$gpuids" = "" ; then
|
||||
|
@ -1032,7 +1032,7 @@ else
|
|||
MARCCUDALIBS=$MARCCUDALIBS2
|
||||
export LD_LIBRARY_PATH=$CUDALIB2:$LD_LIBRARY_PATH
|
||||
fi
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
# Linux 64 + HPMPI, Below code is taken from include_linux64
|
||||
if test $MPITYPE = hpmpi -a "$ARCHITECTURE" = "linux_amd64"
|
||||
then
|
||||
export MPIHPSPECIAL="$MPIHPSPECIAL -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
|
||||
|
@ -1061,7 +1061,7 @@ if test "$dllrun" -gt 0; then
|
|||
fi
|
||||
|
||||
if test "$progdll"; then
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
/bin/cp ${progdll}_$marcdll $DIRJOB/$marcdll
|
||||
rmdll=yes
|
||||
pathdll=yes
|
||||
progdll=${progdll}_$marcdll
|
||||
|
@ -1095,14 +1095,14 @@ while test forever; do
|
|||
if test $nprocdddm -gt 1 -a $icreated -eq 0; then
|
||||
if test ! -f $DIRJID/1$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/1$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test ! -f $DIRJID/$jid$dotdat; then
|
||||
if test "$jid" != "" ; then
|
||||
error="$error
|
||||
error="$error
|
||||
input file $DIRJID/$jid$dotdat not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1110,7 +1110,7 @@ fi
|
|||
if test $nprocd -gt 1; then
|
||||
if test "$host" ; then
|
||||
if test ! -f $host; then
|
||||
error="$error
|
||||
error="$error
|
||||
host name file $host not accessible"
|
||||
fi
|
||||
fi
|
||||
|
@ -1224,11 +1224,11 @@ view factor file $DIRVID/$vid.vfs not accessible"
|
|||
notok=false
|
||||
fi
|
||||
done
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
if test "$MARC_MPITYPE" = "$MPI_DEFAULT"; then
|
||||
notok=false
|
||||
fi
|
||||
if $notok; then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE (valid: $MPI_OTHER)"
|
||||
fi
|
||||
fi
|
||||
|
@ -1293,7 +1293,7 @@ defaults file $DIRDID/$did$dotdat not accessible"
|
|||
then
|
||||
if test $ndcoup -gt 3
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for contact decoupling "
|
||||
fi
|
||||
fi
|
||||
|
@ -1301,7 +1301,7 @@ incorrect option for contact decoupling "
|
|||
then
|
||||
if test $ndytran -gt 1
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for Marc-Dytran Switch "
|
||||
fi
|
||||
fi
|
||||
|
@ -1309,7 +1309,7 @@ incorrect option for Marc-Dytran Switch "
|
|||
then
|
||||
if test ! -x $MARC_BIN/$exefile
|
||||
then
|
||||
error="$error
|
||||
error="$error
|
||||
incorrect option for -mpi option: $MARC_MPITYPE "
|
||||
fi
|
||||
fi
|
||||
|
@ -1626,7 +1626,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRJID=`pwd`/$DIRJID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
fi
|
||||
$ECHO "User subroutine name ($user)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -1644,7 +1644,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
user=`pwd`/$user
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
|
@ -1767,7 +1767,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
*)
|
||||
DIRVID=`pwd`/$DIRVID
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -1809,7 +1809,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
fi
|
||||
if test $nsolver -gt 0
|
||||
then
|
||||
if test $nsolver -gt $nprocd
|
||||
if test $nsolver -gt $nprocd
|
||||
then
|
||||
nprocd=$nsolver
|
||||
fi
|
||||
|
@ -1959,7 +1959,7 @@ Program name ($prog)? $ECHOTXT"
|
|||
then
|
||||
qid=$value
|
||||
fi
|
||||
case $qid in
|
||||
case $qid in
|
||||
s* | S* | l* | L* | v* | V* )
|
||||
$ECHO "Queue priority ($priority)? $ECHOTXT"
|
||||
read value
|
||||
|
@ -2017,42 +2017,42 @@ esac
|
|||
|
||||
done
|
||||
#
|
||||
if test $nt -eq 0
|
||||
then
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntarg=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
ntprint=
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nt -eq 0
|
||||
then
|
||||
nt=
|
||||
fi
|
||||
|
||||
if test $nte -eq 0
|
||||
then
|
||||
if test $nte -eq 0
|
||||
then
|
||||
ntearg=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nteprint=
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nte -eq 0
|
||||
then
|
||||
nte=
|
||||
fi
|
||||
|
||||
if test $nts -eq 0
|
||||
then
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsarg=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
ntsprint=
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
fi
|
||||
if test $nts -eq 0
|
||||
then
|
||||
nts=
|
||||
fi
|
||||
#
|
||||
|
@ -2305,7 +2305,7 @@ fi
|
|||
execpath=$usernoext.marc
|
||||
usersub=1
|
||||
fi
|
||||
export execpath
|
||||
export execpath
|
||||
execname=`$BASENAME $execpath`
|
||||
|
||||
if test "$host"
|
||||
|
@ -2338,7 +2338,7 @@ fi
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# check for Myrinet that the number of processes per host is
|
||||
# less than number of available user ports, 5
|
||||
# .gmpi directory must exist in user's home directory
|
||||
# and must have write permission from remote hosts
|
||||
|
@ -2452,9 +2452,9 @@ fi
|
|||
then
|
||||
# Intel MPI
|
||||
if test -f $jid.mfile
|
||||
then
|
||||
then
|
||||
/bin/rm $jid.mfile 2> /dev/null
|
||||
fi
|
||||
fi
|
||||
/bin/cp $host $jid.host
|
||||
grep -v '^#' $host | $AWK '{host=$1;num=$2;for (i=1;i<=num;i++) print host}' > $jid.mfile
|
||||
# end Intel MPI for DMP
|
||||
|
@ -2538,7 +2538,7 @@ fi
|
|||
else
|
||||
host=$jid.host
|
||||
host_filt=$host
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
if test $MACHINENAME = "LINUX" -a $MPITYPE = "intelmpi"
|
||||
then
|
||||
host_filt=$jid.mfile
|
||||
fi
|
||||
|
@ -2547,7 +2547,7 @@ fi
|
|||
# or distributed and set the variable "dirstatus" accordingly.
|
||||
# only perform the check if user subroutine is used
|
||||
# or a user subroutine executable is used
|
||||
|
||||
|
||||
numfield=1
|
||||
if test $MPITYPE = hpmpi -o $MACHINENAME = HP -a $MPITYPE = hardware
|
||||
then
|
||||
|
@ -2707,7 +2707,7 @@ fi
|
|||
fi
|
||||
# modify new host file if NFS mounted heterogeneous machine
|
||||
doit=
|
||||
if test $program = $prog.marc
|
||||
if test $program = $prog.marc
|
||||
then
|
||||
doit=yes
|
||||
fi
|
||||
|
@ -2731,23 +2731,23 @@ if ($1 ~ hst) {if ( fnr == 1 ) printf("%s\n",$0); else \
|
|||
printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
||||
/bin/mv $jid.host{$$} $jid.host
|
||||
host=$jid.host
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
fi # if test $program = $prog.marc -o $user -o $obj
|
||||
|
||||
|
||||
else # if test $host
|
||||
# assume shared memory machine if no hostfile given and
|
||||
# MPITYPE is set to mpich or Myrinet
|
||||
# check for Myrinet that the total number of processes is
|
||||
# check for Myrinet that the total number of processes is
|
||||
# less than number of available user ports, 5
|
||||
if test $MPITYPE = "mpich" -o $MPITYPE = "scali"
|
||||
then
|
||||
numproc=`echo $nprocd | $AWK '{sum=$1-1}; {print sum}'`
|
||||
echo `hostname` $numproc $execpath > $jid.host
|
||||
host=$jid.host
|
||||
elif test $MPITYPE = "myrinet"
|
||||
elif test $MPITYPE = "myrinet"
|
||||
then
|
||||
if test $nprocd -gt 5
|
||||
then
|
||||
|
@ -2787,7 +2787,7 @@ printf("%s %s %s_%s\n",$1,$2,$3,$1) } else print}' $jid.host > $jid.host{$$}
|
|||
fi # if test $host
|
||||
|
||||
fi # if test $nprocd -gt 1
|
||||
|
||||
|
||||
fi # if test $program = $exefile -o $program = $prog.marc
|
||||
|
||||
##############################################################################
|
||||
|
@ -2837,7 +2837,7 @@ else
|
|||
nsolverarg="$nsolverarg $nsolver"
|
||||
fi
|
||||
if test $nprocdddm -lt 2 -a $nsolver -eq 0
|
||||
then
|
||||
then
|
||||
nprocd=0
|
||||
fi
|
||||
if test $nprocd -gt 0
|
||||
|
@ -2848,7 +2848,7 @@ then
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -2953,7 +2953,7 @@ $ntearg $nte $ntsarg $nts $gpuoption -dirjob $DIRJOB "
|
|||
then
|
||||
echo " "
|
||||
echo "error: parallel job attempted on non-parallel version,"
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " or, if parallel version is installed, the include "
|
||||
echo " file is probably corrupted"
|
||||
echo " "
|
||||
if test "$deletelog" = no
|
||||
|
@ -3241,6 +3241,7 @@ else
|
|||
fi
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3283,7 +3284,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
fi
|
||||
else
|
||||
if test $cpdll = yes; then
|
||||
|
@ -3292,10 +3293,10 @@ else
|
|||
fi
|
||||
if test $rmdll = yes
|
||||
then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test $nprocdddm -gt 1
|
||||
then
|
||||
numdom=$nprocdddm
|
||||
|
@ -3363,15 +3364,15 @@ else
|
|||
#
|
||||
QUENAME=qsub
|
||||
SUBMCMD="-q $qid -o /dev/null -e $jid.batch_err_log -x -r $jid"
|
||||
if test "$priority"
|
||||
if test "$priority"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -p $priority"
|
||||
fi
|
||||
if test "$att"
|
||||
if test "$att"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -a $att"
|
||||
fi
|
||||
if test "$cpu"
|
||||
if test "$cpu"
|
||||
then
|
||||
SUBMCMD=$SUBMCMD" -lt $cpu"
|
||||
fi
|
||||
|
@ -3553,7 +3554,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3573,6 +3574,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
|
||||
#
|
||||
# run marc
|
||||
|
@ -3621,7 +3623,7 @@ fi
|
|||
if test $dllrun -eq 0; then
|
||||
if test $prgsav = no
|
||||
then
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
/bin/rm -f $bd$program 2>/dev/null
|
||||
# for network run, remove executable on remote machines
|
||||
# and executables with modified name
|
||||
if test $nprocd -gt 1
|
||||
|
@ -3670,7 +3672,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
if test $nprocdddm -gt 1
|
||||
|
@ -3887,7 +3889,7 @@ then
|
|||
then
|
||||
counter=$((counter+1))
|
||||
if test ${dirstatus[$counter]} = "local" -a ${compstatus[$counter]} = "yes"
|
||||
then
|
||||
then
|
||||
DIR1=$DIRJOB
|
||||
line=`grep -v '^#' $userhost | grep "^$ibase "`
|
||||
workdir=`echo $line | $AWK '{print $3}'`
|
||||
|
@ -3907,6 +3909,7 @@ else # if test $link
|
|||
fi # if test $link
|
||||
/bin/rm $userobj 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.mod 2>/dev/null
|
||||
/bin/rm $DIRJOB/*.smod 2>/dev/null
|
||||
# done if no job id given
|
||||
if test -z "$jid"
|
||||
then
|
||||
|
@ -3946,7 +3949,7 @@ if test $ddm_arc -gt 0; then
|
|||
RUN_JOB="$MESHERDIR/sf_exeddm $RUN_JOB -ddm $ddm_arc "
|
||||
fi
|
||||
|
||||
$RUN_JOB
|
||||
$RUN_JOB
|
||||
|
||||
if test $nprocd -gt 1
|
||||
then
|
||||
|
@ -4029,7 +4032,7 @@ else
|
|||
/bin/cp $DIRJOB/$marcdll $DIRJOB/${filename}_$marcdll 2>/dev/null
|
||||
fi
|
||||
if test $rmdll = yes;then
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
/bin/rm -f $DIRJOB/$marcdll 2>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
# Normal exit status is 0.
|
||||
#
|
||||
|
||||
DIR=/nethome/f.roters/temp/msc/marc2019
|
||||
DIR=/tmp/msc/marc2019
|
||||
if test $MARCDIR1
|
||||
then
|
||||
DIR=$MARCDIR1
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
#!/bin/ksh
|
||||
# 1st arg: $DIR
|
||||
# 2nd arg: $DIRJOB
|
||||
# 3rd arg: $user
|
||||
# 4th arg: $program
|
||||
DIR=$1
|
||||
user=$3
|
||||
program=$4
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90`
|
||||
|
||||
# add BLAS options for linking
|
||||
BLAS="%BLAS%"
|
||||
|
||||
. $DIR/tools/include
|
||||
DIRJOB=$2
|
||||
cd $DIRJOB
|
||||
echo "Compiling and linking user subroutine $user on host `hostname`"
|
||||
echo "program: $program"
|
||||
$DFORTHIGHMP $user || \
|
||||
{
|
||||
echo "$0: compile failed for $user"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $program 2>/dev/null
|
||||
userobj=$usernoext.o
|
||||
|
||||
|
||||
$LOAD ${program} $DIR/lib/main.o\
|
||||
$DIR/lib/blkdta.o $DIR/lib/comm?.o \
|
||||
${userobj-} \
|
||||
$DIR/lib/srclib.a \
|
||||
$MNFLIBS \
|
||||
$MDUSER \
|
||||
../lib/mdsrc.a \
|
||||
../lib/mcvfit.a \
|
||||
$STUBS \
|
||||
${SOLVERLIBS} \
|
||||
$TKLIBS \
|
||||
$MRCLIBS \
|
||||
$METISLIBS \
|
||||
$BLAS \
|
||||
$SYSLIBS || \
|
||||
{
|
||||
echo "$0: link failed for $usernoext.o on host `hostname`"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
|
@ -0,0 +1,53 @@
|
|||
#!/bin/ksh
|
||||
# 1st arg: $DIR
|
||||
# 2nd arg: $DIRJOB
|
||||
# 3rd arg: $user
|
||||
# 4th arg: $program
|
||||
DIR=$1
|
||||
user=$3
|
||||
program=$4
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90`
|
||||
|
||||
# add BLAS options for linking
|
||||
BLAS="%BLAS%"
|
||||
|
||||
. $DIR/tools/include
|
||||
DIRJOB=$2
|
||||
cd $DIRJOB
|
||||
echo "Compiling and linking user subroutine $user on host `hostname`"
|
||||
echo "program: $program"
|
||||
$DFORTRANLOWMP $user || \
|
||||
{
|
||||
echo "$0: compile failed for $user"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $program 2>/dev/null
|
||||
userobj=$usernoext.o
|
||||
|
||||
|
||||
$LOAD ${program} $DIR/lib/main.o\
|
||||
$DIR/lib/blkdta.o $DIR/lib/comm?.o \
|
||||
${userobj-} \
|
||||
$DIR/lib/srclib.a \
|
||||
$MNFLIBS \
|
||||
$MDUSER \
|
||||
../lib/mdsrc.a \
|
||||
../lib/mcvfit.a \
|
||||
$STUBS \
|
||||
${SOLVERLIBS} \
|
||||
$TKLIBS \
|
||||
$MRCLIBS \
|
||||
$METISLIBS \
|
||||
$BLAS \
|
||||
$SYSLIBS || \
|
||||
{
|
||||
echo "$0: link failed for $usernoext.o on host `hostname`"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
|
@ -0,0 +1,53 @@
|
|||
#!/bin/ksh
|
||||
# 1st arg: $DIR
|
||||
# 2nd arg: $DIRJOB
|
||||
# 3rd arg: $user
|
||||
# 4th arg: $program
|
||||
DIR=$1
|
||||
user=$3
|
||||
program=$4
|
||||
usernoext=$user
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .F`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .for`
|
||||
usernoext=`dirname $usernoext`/`$BASENAME $usernoext .f90`
|
||||
|
||||
# add BLAS options for linking
|
||||
BLAS="%BLAS%"
|
||||
|
||||
. $DIR/tools/include
|
||||
DIRJOB=$2
|
||||
cd $DIRJOB
|
||||
echo "Compiling and linking user subroutine $user on host `hostname`"
|
||||
echo "program: $program"
|
||||
$DFORTRANMP $user || \
|
||||
{
|
||||
echo "$0: compile failed for $user"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $program 2>/dev/null
|
||||
userobj=$usernoext.o
|
||||
|
||||
|
||||
$LOAD ${program} $DIR/lib/main.o\
|
||||
$DIR/lib/blkdta.o $DIR/lib/comm?.o \
|
||||
${userobj-} \
|
||||
$DIR/lib/srclib.a \
|
||||
$MNFLIBS \
|
||||
$MDUSER \
|
||||
../lib/mdsrc.a \
|
||||
../lib/mcvfit.a \
|
||||
$STUBS \
|
||||
${SOLVERLIBS} \
|
||||
$TKLIBS \
|
||||
$MRCLIBS \
|
||||
$METISLIBS \
|
||||
$BLAS \
|
||||
$SYSLIBS || \
|
||||
{
|
||||
echo "$0: link failed for $usernoext.o on host `hostname`"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
||||
/bin/rm $DIRJOB/*.mod
|
||||
/bin/rm $DIRJOB/*.smod
|
|
@ -0,0 +1,41 @@
|
|||
#!/bin/ksh
|
||||
# 1st arg: $DIR
|
||||
# 2nd arg: $DIRJOB
|
||||
# 3rd arg: $user
|
||||
# 4th arg: $program
|
||||
DIR=$1
|
||||
user=$3
|
||||
program=$4
|
||||
. $DIR/tools/include
|
||||
DIRJOB=$2
|
||||
cd $DIRJOB
|
||||
echo "Compiling and linking user subroutine $user.f on host `hostname`"
|
||||
echo "program: $program"
|
||||
$FORTRAN $user.f || \
|
||||
{
|
||||
echo "$0: compile failed for $user.f"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $program 2>/dev/null
|
||||
userobj=$user.o
|
||||
|
||||
|
||||
$LOAD ${program} $DIR/lib/main.o\
|
||||
$DIR/lib/blkdta.o $DIR/lib/comm?.o \
|
||||
${userobj-} \
|
||||
$DIR/lib/srclib.a \
|
||||
$MNFLIBS \
|
||||
$MDUSER \
|
||||
../lib/mdsrc.a \
|
||||
../lib/mcvfit.a \
|
||||
$STUBS \
|
||||
${SOLVERLIBS} \
|
||||
$TKLIBS \
|
||||
$MRCLIBS \
|
||||
$METISLIBS \
|
||||
$SYSLIBS || \
|
||||
{
|
||||
echo "$0: link failed for $user.o on host `hostname`"
|
||||
exit 1
|
||||
}
|
||||
/bin/rm $userobj
|
|
@ -0,0 +1,814 @@
|
|||
#
|
||||
# General definitions for the Marc 2020 version
|
||||
#
|
||||
# EM64T
|
||||
#
|
||||
# Linux RedHat 7.3 / SuSE 12 SP1
|
||||
#
|
||||
# 64 bit MPI version
|
||||
#
|
||||
# Intel(R) Fortran Intel(R) 64 Compiler XE for applications
|
||||
# running on Intel(R) 64, Version 19.0.4.243 Build 20190416
|
||||
#
|
||||
# Intel(R) C Intel(R) 64 Compiler XE for applications
|
||||
# running on Intel(R) 64, Version 19.0.4.243 Build 20190416
|
||||
#
|
||||
# To check the O/S level, type:
|
||||
# uname -a
|
||||
#
|
||||
# Distributed parallel MPI libraries:
|
||||
# Intel MPI 2019 Update 4
|
||||
# To check the mpi version, type:
|
||||
# mpiexec.hydra -version
|
||||
#
|
||||
# To check the Compiler level, type using the compiler
|
||||
# installation path:
|
||||
# ifort -V
|
||||
# icc -V
|
||||
#
|
||||
# REMARKS : This file contains the definitions of variables used during
|
||||
# compilation loading and use of the MARC programmes . The
|
||||
# current machine type is identified by means of the variable
|
||||
# MACHINE , defined below.
|
||||
#
|
||||
#
|
||||
# MPI_ROOT: root directory in which mpi shared libraries, etc. are located
|
||||
# DIRJOB : directory in which spawned jobs should look for Marc input
|
||||
# MPI_ARCH: system architecture
|
||||
# MPI_EPATH: path where executable resides
|
||||
#
|
||||
REVISION="VERSION, BUILD"
|
||||
HOSTNAME=`hostname`
|
||||
|
||||
# find available memory in Mbyte on the machine
|
||||
# can be set explicitly
|
||||
MEMLIMIT=`free -m | awk '/Mem:/ {print $2}'`
|
||||
|
||||
# set _OEM_NASTRAN to 1 for MD Nastran build
|
||||
# override _OEM_NASTRAN setting with MARC_MD_NASTRAN environment variable
|
||||
_OEM_NASTRAN="${MARC_MD_NASTRAN:-0}"
|
||||
|
||||
# uncomment the following line for an autoforge build
|
||||
#AUTOFORGE=1
|
||||
AUTOFORGE=0
|
||||
export AUTOFORGE
|
||||
|
||||
# integer size
|
||||
if test "$MARC_INTEGER_SIZE" = "" ; then
|
||||
INTEGER_PATH=
|
||||
else
|
||||
INTEGER_PATH=/$MARC_INTEGER_SIZE
|
||||
fi
|
||||
|
||||
FCOMP=ifort
|
||||
INTELPATH="/opt/intel/compilers_and_libraries_2019/linux"
|
||||
|
||||
# find the root directory of the compiler installation:
|
||||
# - if ifort is found in $PATH, then the root directory is derived
|
||||
# from the path to ifort
|
||||
# - if ifort is not found in $PATH, the root directory is assumed
|
||||
# to be $INTELPATH and the directory in which ifort is found is
|
||||
# added to $PATH
|
||||
FCOMPPATH=`which "$FCOMP" 2>/dev/null`
|
||||
if test -n "$FCOMPPATH"; then
|
||||
# derive the root directory from $FCOMPPATH
|
||||
FCOMPROOT="${FCOMPPATH%/bin/intel64/$FCOMP}"
|
||||
if test "$FCOMPROOT" = "$FCOMPPATH"; then
|
||||
FCOMPROOT="${FCOMPPATH%/bin/$FCOMP}"
|
||||
fi
|
||||
if test "$FCOMPROOT" = "$FCOMPPATH"; then
|
||||
FCOMPROOT=
|
||||
fi
|
||||
elif test -d "$INTELPATH"; then
|
||||
# check for compiler in $INTELPATH
|
||||
if test -d "$INTELPATH/bin/intel64" -a \
|
||||
-x "$INTELPATH/bin/intel64/$FCOMP" ; then
|
||||
FCOMPROOT="$INTELPATH"
|
||||
PATH="$INTELPATH/bin/intel64:$PATH"
|
||||
elif test -d "$INTELPATH/bin" -a \
|
||||
-x "$INTELPATH/bin/$FCOMP"; then
|
||||
FCOMPROOT="$INTELPATH"
|
||||
PATH="$INTELPATH/bin:$PATH"
|
||||
else
|
||||
FCOMPROOT=
|
||||
fi
|
||||
else
|
||||
FCOMPROOT=
|
||||
fi
|
||||
|
||||
# DAMASK uses the HDF5 compiler wrapper around the Intel compiler
|
||||
H5FC="$(h5fc -shlib -show)"
|
||||
HDF5_LIB=${H5FC//ifort/}
|
||||
FCOMP="$H5FC -DDAMASK_HDF5"
|
||||
|
||||
# AEM
|
||||
if test "$MARCDLLOUTDIR" = ""; then
|
||||
DLLOUTDIR="$MARC_LIB"
|
||||
else
|
||||
DLLOUTDIR="$MARCDLLOUTDIR"
|
||||
fi
|
||||
|
||||
# settings for MKL
|
||||
if test "$IMKLDIR" = ""; then
|
||||
MARC_MKL="$FCOMPROOT/mkl/lib/intel64"
|
||||
else
|
||||
MARC_MKL=$IMKLDIR/lib/intel64
|
||||
fi
|
||||
|
||||
#
|
||||
# settings for Metis
|
||||
#
|
||||
METIS="-I$METIS_SOURCE/include"
|
||||
METISLIBS="$METISLIB_DIR/libmarcddm.a $METISLIB_DIR/libmarcmetis.a "
|
||||
|
||||
#
|
||||
# settings for MPI
|
||||
#
|
||||
# RCP and RSH are used for parallel network runs
|
||||
# replace with similar commands like rsh if needed
|
||||
RCP=/usr/bin/scp
|
||||
RSH=/usr/bin/ssh
|
||||
#
|
||||
|
||||
|
||||
MPI_DEFAULT=intelmpi
|
||||
MPI_OTHER=
|
||||
|
||||
MPITYPE=$MPI_DEFAULT
|
||||
|
||||
if test $AUTOFORGE
|
||||
then
|
||||
if test $AUTOFORGE = 1
|
||||
then
|
||||
MPITYPE=none
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# overrule MPITYPE setting with environmental variable MARC_MPITYPE
|
||||
if test $MARC_MPITYPE
|
||||
then
|
||||
MPITYPE=$MARC_MPITYPE
|
||||
fi
|
||||
|
||||
# always set MPITYPE to none for MD Nastran
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
MPITYPE=none
|
||||
fi
|
||||
|
||||
# Edit following lines to build with GPGPU version of BCS Solver for
|
||||
# NVIDIA platforms
|
||||
#BCSGPUSOLVER=NONE
|
||||
BCSGPUSOLVER=BCSGPU
|
||||
|
||||
# Edit following lines to build solver 2 with GPU support
|
||||
SOLVER2GPU=GPU
|
||||
#SOLVER2GPU=NONE
|
||||
|
||||
# Edit following lines to set the openssl library
|
||||
if test "$OPENSSL" != "NONE"
|
||||
then
|
||||
OPENSSL_LIB="$MARC_LIB/libcrypto.a"
|
||||
fi
|
||||
OPENSSL_INCLUDE=-I"$MARC_OPENSSL/include/"
|
||||
|
||||
MARCHDF_HDF=HDF
|
||||
#MARCHDF_HDF=NONE
|
||||
|
||||
# activate contact component build if flagged
|
||||
AEM_DLL=0
|
||||
if test "$AEM_BUILD" = "ON" ; then
|
||||
AEM_DLL=1
|
||||
LINK_MARC_DLL="-shared -fPIC"
|
||||
EXT_DLL="so"
|
||||
MPITYPE=none
|
||||
MPI_OTHER=
|
||||
MARCHDF_HDF=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
SOLVER2GPU=NONE
|
||||
MUMPSSOLVER=NONE
|
||||
CASISOLVER=NONE
|
||||
fi
|
||||
|
||||
if test "$MARCHDF_HDF" = "HDF"; then
|
||||
HDF_INCLUDE="-I$MARC_HDF/include"
|
||||
HDF_LIBS="$MARC_LIB/libhdf5_fortran.so.100 $MARC_LIB/libhdf5.so.103"
|
||||
fi
|
||||
|
||||
SOLVERFLAGS=
|
||||
if test "$BCSGPUSOLVER" = BCSGPU
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA"
|
||||
BCS_DIR=bcsgpusolver
|
||||
else
|
||||
BCS_DIR=bcssolver
|
||||
fi
|
||||
#
|
||||
# settings for MPI
|
||||
#
|
||||
DDM=
|
||||
if test $MPITYPE != none
|
||||
then
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
INTELMPI_VERSION=HYDRA
|
||||
FCOMPMPI=mpiifort
|
||||
if test -n "$MARC_INTELMPI" ; then
|
||||
MPI_ROOT=$MARC_INTELMPI
|
||||
else
|
||||
MPI_ROOT=/opt/intel/compilers_and_libraries_2019/linux/mpi/intel64
|
||||
MARC_INTELMPI=$MPI_ROOT
|
||||
fi
|
||||
DDM="-I${MPI_ROOT}/include -DDDM"
|
||||
PATH=$MPI_ROOT/bin:$PATH
|
||||
export PATH
|
||||
LD_LIBRARY_PATH=$MPI_ROOT/lib:$MPI_ROOT/lib/release:$MPI_ROOT/libfabric/lib:$LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH
|
||||
if test $INTELMPI_VERSION = HYDRA
|
||||
then
|
||||
RUN_JOB1="${MPI_ROOT}/bin/mpiexec.hydra -genvall -n "
|
||||
RUN_JOB2="${MPI_ROOT}/bin/mpiexec.hydra -genvall"
|
||||
else
|
||||
RUN_JOB1="${MPI_ROOT}/bin/mpiexec -n "
|
||||
RUN_JOB2="${MPI_ROOT}/bin/mpiexec -configfile "
|
||||
fi
|
||||
RUN_JOB0=
|
||||
MPI_CLEAN=
|
||||
MPI_EPATH=$MARC_BIN
|
||||
MPIR_HOME=$MPI_ROOT
|
||||
MPICH_F77=$FCOMP
|
||||
MPICH_F77LINKER=$FCOMP
|
||||
export MPI_ROOT MPI_EPATH MPIR_HOME MPICH_F77 MPICH_F77LINKER
|
||||
FI_PROVIDER_PATH=$MPI_ROOT/libfabric/lib/prov
|
||||
export FI_PROVIDER_PATH
|
||||
fi
|
||||
else
|
||||
MPI_ROOT=$MARC_DUMMYMPI
|
||||
export MPI_ROOT=$MARC_DUMMYMPI
|
||||
DDM="-I$MPI_ROOT/include"
|
||||
fi
|
||||
|
||||
#
|
||||
# variables for the "maintain" script
|
||||
#
|
||||
|
||||
MACHINENAME=LINUX
|
||||
MACHINE64BIT=yes
|
||||
MACHINE=Linux_EM64T
|
||||
DEV=/dev/tape
|
||||
GETLOG="whoami"
|
||||
CLEAR="clear"
|
||||
MY_UNAME=`uname -a`
|
||||
|
||||
# Edit following 2 lines to build with VKI Solver
|
||||
#VKISOLVER=VKI
|
||||
VKISOLVER=NONE
|
||||
|
||||
# Edit following 2 lines to build with CASI Solver
|
||||
CASISOLVER=CASI
|
||||
if test "$MARC_CASISOLVER" = "NONE" ; then
|
||||
CASISOLVER=NONE
|
||||
fi
|
||||
#CASISOLVER=NONE
|
||||
|
||||
# Edit following 2 lines to build with MF2 Solver
|
||||
MF2SOLVER=NONE
|
||||
#MF2SOLVER=SERIAL
|
||||
#MF2SOLVER=MF2PARALLEL
|
||||
|
||||
# Edit following lines to build with Intel(c) Multithreaded solver (PARDISO)
|
||||
#INTELSOLVER=NONE
|
||||
INTELSOLVER=PARDISO
|
||||
|
||||
# Edit following lines to build with MUMPS
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
#MUMPSSOLVER=NONE
|
||||
MUMPSSOLVER=MUMPS
|
||||
else
|
||||
#MUMPSSOLVER=NONE
|
||||
MUMPSSOLVER=MUMPS
|
||||
fi
|
||||
|
||||
# Edit following 2 lines to build MARC dynamic shared library
|
||||
MARC_DLL=MARC_DLL
|
||||
MARC_DLL=NONE
|
||||
|
||||
# always set VKISOLVER, CASISOLVER, BCSGPUSOLVER, and MARC_DLL to NONE for MD Nastran
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
VKISOLVER=NONE
|
||||
CASISOLVER=NONE
|
||||
MF2SOLVER=NONE
|
||||
INTELSOLVER=NONE
|
||||
MUMPSSOLVER=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
SOLVER2GPU=NONE
|
||||
MARC_DLL=NONE
|
||||
fi
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
VKISOLVER=NONE
|
||||
CASISOLVER=NONE
|
||||
MF2SOLVER=NONE
|
||||
INTELSOLVER=NONE
|
||||
MUMPSSOLVER=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
SOLVER2GPU=NONE
|
||||
fi
|
||||
|
||||
#
|
||||
# define Fortran and C compile syntax
|
||||
#
|
||||
if test "$VKISOLVER" = VKI
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DVKI"
|
||||
fi
|
||||
|
||||
if test "$CASISOLVER" = CASI
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DCASI"
|
||||
fi
|
||||
|
||||
if test "$MF2SOLVER" = MF2PARALLEL
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMF2PARALLEL"
|
||||
fi
|
||||
if test "$MF2SOLVER" = MF2SERIAL
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMF2SERIAL"
|
||||
fi
|
||||
|
||||
if test "$INTELSOLVER" = PARDISO
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DPARDISO"
|
||||
fi
|
||||
|
||||
if test "$MUMPSSOLVER" = MUMPS
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMUMPS"
|
||||
fi
|
||||
|
||||
|
||||
if test "$MARC_DLL" = MARC_DLL
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMARC_DLL"
|
||||
fi
|
||||
|
||||
if test "$SOLVER2GPU" = GPU
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DSOLVER2GPU"
|
||||
fi
|
||||
|
||||
LINK_OPT=
|
||||
DEBUG_OPT=
|
||||
C_DEBUG_OPT=
|
||||
|
||||
#Uncomment following line to build Marc in debuggable mode
|
||||
MARCDEBUG=
|
||||
#MARCDEBUG="ON"
|
||||
|
||||
if test "$MARCDEBUG" = "ON"
|
||||
then
|
||||
LINK_OPT="-debug -traceback"
|
||||
DEBUG_OPT="-debug -traceback"
|
||||
C_DEBUG_OPT="-debug -traceback"
|
||||
fi
|
||||
|
||||
|
||||
MARCCHECK=
|
||||
#MARCCHECK="ON"
|
||||
if test "$MARCCHECK" = "ON"
|
||||
then
|
||||
DEBUG_OPT="$DEBUG_OPT -fpe0 -fp-stack-check -check all -ftrapuv "
|
||||
C_DEBUG_OPT="$C_DEBUG_OPT -fp-stack-check -check-uninit -Wformat -ftrapuv "
|
||||
fi
|
||||
|
||||
MARCCODECOV=
|
||||
#MARCCODECOV="ON"
|
||||
|
||||
MARCCODEPROF=
|
||||
#MARCCODEPROF="ON"
|
||||
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
I8FFLAGS=
|
||||
I8DEFINES=
|
||||
I8CDEFINES=
|
||||
else
|
||||
I8FFLAGS="-i8 -integer-size 64"
|
||||
I8DEFINES="-DI64 -DINT=8"
|
||||
I8CDEFINES="-U_DOUBLE -D_SINGLE"
|
||||
fi
|
||||
|
||||
MTHREAD=OPENMP
|
||||
if test "$MARC_OPENMP" = "NONE" ; then
|
||||
MTHREAD=NONE
|
||||
fi
|
||||
#MTHREAD=NONE
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
MTHREAD=NONE
|
||||
fi
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
MTHREAD=NONE
|
||||
CASISOLVER=NONE
|
||||
VKISOLVER=NONE
|
||||
MF2SOLVER=NONE
|
||||
INTELSOLVER=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
SOLVER2GPU=NONE
|
||||
OPENSSL_LIB=
|
||||
MARC_DLL=NONE
|
||||
METISLIBS=
|
||||
fi
|
||||
|
||||
OMP_COMPAT=NO
|
||||
OMP_COMPAT=YES
|
||||
if test "$MTHREAD" = "NONE"
|
||||
then
|
||||
OMP_COMPAT=NO
|
||||
fi
|
||||
|
||||
CDEFINES=
|
||||
FDEFINES=
|
||||
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
CDEFINES="$CDEFINES -D_OEM_NASTRAN"
|
||||
FDEFINES="$FDEFINES -D_OEM_NASTRAN"
|
||||
fi
|
||||
|
||||
FDEFINES="$FDEFINES -D_IMPLICITNONE"
|
||||
|
||||
if test "$_OEM_NASTRAN" -eq 0
|
||||
then
|
||||
FDEFINES="$FDEFINES -DMKL -DOPENMP"
|
||||
fi
|
||||
|
||||
if test "$OMP_COMPAT" = "YES"
|
||||
then
|
||||
FDEFINES="$FDEFINES -DOMP_COMPAT"
|
||||
fi
|
||||
|
||||
# -D_MSCMARC
|
||||
FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT $MARC_SIMUFACT"
|
||||
CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES"
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
FDEFINES="$FDEFINES -D_AEMNL -DAAA"
|
||||
CDEFINES="$CDEFINES -D_AEMNL -DAAA"
|
||||
fi
|
||||
|
||||
CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource $METIS -I$LAPI_IMPORTS/common/include"
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
CINCL="$CINCL -I../../include"
|
||||
fi
|
||||
|
||||
CC_OPT=
|
||||
if test "$MTHREAD" = "OPENMP"
|
||||
then
|
||||
CC_OPT=" $CC_OPT -qopenmp"
|
||||
fi
|
||||
|
||||
CC="icc -c $CC_OPT -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCLOW="icc -c $CC_OPT -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCHIGH="icc -c $CC_OPT -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
|
||||
if test "$MARCDEBUG" = "ON"
|
||||
then
|
||||
CC="icc -c $CC_OPT -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCLOW="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCHIGH="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
fi
|
||||
|
||||
LOAD_CC="icc $CC_OPT -O1 -DLinux -DLINUX -DLinux_intel"
|
||||
CCT="$CC"
|
||||
CCTLOW="$CCLOW"
|
||||
CCTHIGH="$CCHIGH"
|
||||
|
||||
#PROFILE="-Mprof=func"
|
||||
#PROFILE="-Mprof=lines"
|
||||
#PROFILE="-Mprof=func,mpi"
|
||||
PROFILE=
|
||||
#PROFILE="-init=snan,arrays -CB -traceback -fpe0 -fp-stack-check -check all -check uninit -ftrapuv"
|
||||
if test "$MARCCODECOV" = "ON"
|
||||
then
|
||||
PROFILE="-prof-gen=srcpos"
|
||||
fi
|
||||
if test "$MARCCODEPROF" = "ON"
|
||||
then
|
||||
PROFILE=" $PROFILE -pg"
|
||||
fi
|
||||
|
||||
FORT_OPT="-c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr -mp1 -WB -fp-model source"
|
||||
if test "$MTHREAD" = "OPENMP"
|
||||
then
|
||||
FORT_OPT=" $FORT_OPT -qopenmp"
|
||||
if test "$OMP_COMPAT" = "YES"
|
||||
then
|
||||
FORT_OPT=" $FORT_OPT -qopenmp-threadprivate=compat"
|
||||
fi
|
||||
else
|
||||
# FORT_OPT=" $FORT_OPT -auto "
|
||||
FORT_OPT=" $FORT_OPT -save -zero"
|
||||
fi
|
||||
if test "$MARCHDF_HDF" = "HDF"; then
|
||||
FORT_OPT="$FORT_OPT -DMARCHDF=$MARCHDF_HDF"
|
||||
fi
|
||||
|
||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||
# for compiling free form f90 files. high opt, integer(4)
|
||||
FORTF90="$FCOMP -c -O3"
|
||||
|
||||
# determine DAMASK version
|
||||
if test -n "$DAMASK_USER"; then
|
||||
DAMASKROOT=`dirname $DAMASK_USER`/..
|
||||
read DAMASKVERSION < $DAMASKROOT/VERSION
|
||||
DAMASKVERSION="'"$DAMASKVERSION"'"
|
||||
else
|
||||
DAMASKVERSION="'N/A'"
|
||||
fi
|
||||
|
||||
|
||||
# DAMASK compiler calls: additional flags are in line 2 OpenMP flags in line 3
|
||||
DFORTLOWMP="$FCOMP -c -O0 -qno-offload -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2019 -DDAMASKVERSION=$DAMASKVERSION \
|
||||
-qopenmp -qopenmp-threadprivate=compat\
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
DFORTRANMP="$FCOMP -c -O1 -qno-offload -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2019 -DDAMASKVERSION=$DAMASKVERSION \
|
||||
-qopenmp -qopenmp-threadprivate=compat\
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
DFORTHIGHMP="$FCOMP -c -O3 -qno-offload -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2019 -DDAMASKVERSION=$DAMASKVERSION \
|
||||
-qopenmp -qopenmp-threadprivate=compat\
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
|
||||
if test "$MARCDEBUG" = "ON"
|
||||
then
|
||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||
fi
|
||||
|
||||
FORTLOWT="$FORTLOW"
|
||||
FORTRANT="$FORTRAN"
|
||||
FORTHIGHT="$FORTHIGH"
|
||||
|
||||
FORTRANMNF="$FCOMP -c $FDEFINES "
|
||||
CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE"
|
||||
|
||||
if test $MPITYPE != none
|
||||
then
|
||||
if test $MPITYPE = hpmpi
|
||||
then
|
||||
LOAD="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o "
|
||||
LOADT="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o "
|
||||
fi
|
||||
# Uncomment the following lines to turn on the tracer and commnet out the next 5 lines
|
||||
# if test $MPITYPE = intelmpi
|
||||
# then
|
||||
# INCLUDEMPI="-I$MPI_ROOT/include -I$VT_ROOT/include"
|
||||
# LOAD="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
||||
# LOADT="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
||||
# fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
LOAD="ifort $PROFILE $LINK_OPT -o "
|
||||
LOADT="ifort $PROFILE $LINK_OPT -o "
|
||||
fi
|
||||
else
|
||||
LOAD="$FCOMP $LINK_OPT -o "
|
||||
LOADT="$FCOMP $LINK_OPT -o "
|
||||
fi
|
||||
|
||||
if test "$MARC_DLL" = MARC_DLL
|
||||
then
|
||||
FORTLOW="$FORTLOW -fpp -fPIC"
|
||||
FORTRAN="$FORTRAN -fpp -fPIC"
|
||||
FORTHIGH="$FORTHIGH -fpp -fPIC"
|
||||
FORTRANMNF="$FORTRANMNF -fpp -fPIC"
|
||||
CC="$CC -fPIC"
|
||||
CCMNF="$CCMNF -fPIC"
|
||||
LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread"
|
||||
LINK_MARC_DLL="-shared -fPIC"
|
||||
LOAD_DLL=$LOAD
|
||||
LOADT_DLL=$LOADT
|
||||
EXT_DLL="so"
|
||||
fi
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
FORTLOW="$FORTLOW -fpp -fPIC"
|
||||
FORTRAN="$FORTRAN -fpp -fPIC"
|
||||
FORTHIGH="$FORTHIGH -fpp -fPIC"
|
||||
FORTRANMNF="$FORTRANMNF -fpp -fPIC"
|
||||
CC="$CC -fPIC"
|
||||
CCMNF="$CCMNF -fPIC"
|
||||
LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide"
|
||||
LINK_MARC_DLL="-shared -fPIC"
|
||||
LOAD_DLL=$LOAD
|
||||
LOADT_DLL=$LOADT
|
||||
EXT_DLL="so"
|
||||
fi
|
||||
|
||||
|
||||
XLIBS="-L/usr/X11/lib -lX11 "
|
||||
|
||||
#
|
||||
# define archive and ranlib syntax
|
||||
#
|
||||
|
||||
ARC="ar rvl"
|
||||
ARD="ar dvl"
|
||||
ARX="ar xl"
|
||||
RAN=""
|
||||
|
||||
#
|
||||
# choose which libraries you want to use ( e.g. blas )
|
||||
#
|
||||
|
||||
if test "$VKISOLVER" = VKI
|
||||
then
|
||||
VKISOLVERLIBS="$MARC_LIB/vkisolver.a"
|
||||
else
|
||||
VKISOLVERLIBS=
|
||||
fi
|
||||
|
||||
if test "$CASISOLVER" = CASI
|
||||
then
|
||||
CASISOLVERLIBS="$CASILIB_DIR/libmarccasi.a $CASILIB_DIR/libcasi.a"
|
||||
else
|
||||
CASISOLVERLIBS=
|
||||
fi
|
||||
|
||||
MF2SOLVERLIBS=
|
||||
if test "$MF2SOLVER" = MF2PARALLEL
|
||||
then
|
||||
MF2SOLVERLIBS="$MARC_LIB/mf2parallel/libseq.a \
|
||||
$MARC_LIB/mf2parallel/libsym.a \
|
||||
$MARC_LIB/mf2parallel/libmet.a \
|
||||
$MARC_LIB/mf2parallel/libmf2.a \
|
||||
$MARC_LIB/mf2parallel/libgauss.a \
|
||||
$MARC_LIB/mf2parallel/libmf2.a \
|
||||
$MARC_LIB/mf2parallel/libgauss.a \
|
||||
$MARC_LIB/mf2parallel/libnum.a \
|
||||
$MARC_LIB/mf2parallel/libutl.a \
|
||||
$MARC_LIB/mf2parallel/libr8.a \
|
||||
$MARC_LIB/mf2parallel/libz.a "
|
||||
fi
|
||||
|
||||
if test "$MUMPSSOLVER" = MUMPS
|
||||
then
|
||||
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a"
|
||||
if test $MPITYPE = none
|
||||
then
|
||||
MUMPSSOLVERLIBS2=
|
||||
echo hello > /dev/null
|
||||
fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a"
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a "
|
||||
else
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a "
|
||||
fi
|
||||
fi
|
||||
if test $MPITYPE = hpmpi
|
||||
then
|
||||
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_hpmpi.a"
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a"
|
||||
else
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
MUMPSSOLVERLIBS=
|
||||
MUMPSSOLVERLIBS2=
|
||||
fi
|
||||
|
||||
if test "$BCSGPUSOLVER" = BCSGPU
|
||||
then
|
||||
BCSSOLVERLIBS="${MARC_LIB}/bcsgpulib.a "
|
||||
MARCCUDALIBS1="-L${MARC_LIB}/cuda_dummy -lmarccuda "
|
||||
MARCCUDALIBS2="-L${MARC_LIB}/cuda -lmarccuda "
|
||||
MARCCUDALIBS=$MARCCUDALIBS1
|
||||
else
|
||||
BCSSOLVERLIBS="${MARC_LIB}/bcslib.a "
|
||||
fi
|
||||
|
||||
SOLVER2LIBS=
|
||||
if test "$SOLVER2GPU" = GPU
|
||||
then
|
||||
SOLVER2LIBS="-L$MARC_LIB/cuda_dummy -lsolver2gpu"
|
||||
fi
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
BCSSOLVERLIBS=
|
||||
fi
|
||||
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
MKLLIB="$MARC_MKL/libmkl_scalapack_lp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_lp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MARC_MKL/libmkl_blacs_intelmpi_lp64.a $MUMPSSOLVERLIBS2 -Wl,--end-group"
|
||||
else
|
||||
MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_ilp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a $MUMPSSOLVERLIBS2 -Wl,--end-group"
|
||||
fi
|
||||
|
||||
SECLIBS="-L$MARC_LIB -llapi"
|
||||
|
||||
SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS} \
|
||||
$MKLLIB -L$MARC_MKL -liomp5 \
|
||||
$MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/libkdtree2.a $HDF5_LIB $SOLVER2LIBS"
|
||||
|
||||
SOLVERLIBS_DLL=${SOLVERLIBS}
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
SOLVERLIBS_DLL="$MKLLIB -L$MARC_MKL -liomp5 $MARC_LIB/blas_src.a"
|
||||
fi
|
||||
MRCLIBS="$MARC_LIB/clib.a ${CASISOLVERLIBS}"
|
||||
MRCLIBSPAR="$MARC_LIB/clib.a"
|
||||
STUBS="$MARC_LIB/stubs.a "
|
||||
MNFLIBS="$MARC_LIB/libmnf.a"
|
||||
MDUSER="$MARC_LIB/md_user.a"
|
||||
if test "X$MARC_SIMUFACT" != "X"
|
||||
then
|
||||
SFLIB="-L$SFMATDIR -lMBA_Grain"
|
||||
else
|
||||
SFLIB=" "
|
||||
fi
|
||||
OPENMP="-qopenmp"
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
LOAD_DLL=$LOAD
|
||||
OPENMP=
|
||||
LIBMNF=
|
||||
OPENSSL=NONE
|
||||
fi
|
||||
|
||||
SYSLIBS=" $OPENMP -lpthread -cxxlib"
|
||||
|
||||
# Uncomment the following lines to turn on the trace and comment out the next 4 lines
|
||||
# if test $MPITYPE = intelmpi
|
||||
# then
|
||||
# SYSLIBS="-L${VT_ROOT}/lib -lVT -ldwarf -lelf -lm -lpthread \
|
||||
# -L${MPI_ROOT}/lib64 -lmpi -lmpiif -lmpigi -lrt"
|
||||
# fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
SYSLIBS="-L${MPI_ROOT}/lib/release -lmpi -L${MPI_ROOT}/lib -lmpifort -lrt $OPENMP -threads -lpthread -cxxlib"
|
||||
fi
|
||||
|
||||
|
||||
SYSLIBSPAR=" "
|
||||
|
||||
MARC_DLL_CODES="runmarc.f"
|
||||
|
||||
|
||||
BLAS_SRC="dzero.f icopy.f izero.f"
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
BLAS_SRC="$BLAS_SRC dsctr.f zsctr.f dzasum.f daxpyi.f zaxpyi.f dgthr.f zgthr.f"
|
||||
else
|
||||
BLAS_SRC="ALL"
|
||||
fi
|
||||
fi
|
||||
|
||||
LOW_OPT_CODES="are163.f contro.f ndext.f omarc.f omarca.f omarcb.f omarcc.f \
|
||||
omars.f fixbc.f triang.f bet049.f norst3.f eldata.f \
|
||||
elec*.f elct*.f fmeig.f oada00.f ogeig.f updtrbe2.f cycrota.f \
|
||||
cordef.f ogpk.f ogtan.f eldam.f formrbe3.f \
|
||||
inertie.f em_sso072.f cn_fol3d_qpatch6.f cosim_begin.f"
|
||||
if test "$MARC_INTEGER_SIZE" = "i8" ; then
|
||||
LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f"
|
||||
fi
|
||||
|
||||
HIGH_OPT_CODES="dpsmsa1.f dpsmsa2.f dpsmsa3.f dpsmsa4.f dpsmsa5.f dpsmsa6.f \
|
||||
dpsmsa7.f dpsmsa8.f dpsmsa9.f dpsmsa10.f dpsmsa11.f dpsmsa12.f \
|
||||
dpsmsa13.f dpsmsa14.f dpsmsa15.f dpsmsa16.f dpsmsah.f tpsmsah.f cn_qsort4_11.f \
|
||||
prei11.f prei12.f prei31.f prei32.f prei41.f prei42.f prei61.f prei62.f \
|
||||
prei1n.f prei2n.f cgfullnts1.f cgfullnts2.f cg1n.f cg2n.f cg3n.f \
|
||||
cg4n.f cg5n.f cg6n.f cgnn.f sortab.f sortab1.f triann1.f preinv_nts.f \
|
||||
cn_sur_patchl.f cn_quad_3e.f"
|
||||
|
||||
|
||||
|
||||
MAXNUM=1000000
|
|
@ -0,0 +1,785 @@
|
|||
#
|
||||
# General definitions for the Marc 2020 version
|
||||
#
|
||||
# EM64T
|
||||
#
|
||||
# Linux RedHat 7.3 / SuSE 12 SP1
|
||||
#
|
||||
# 64 bit MPI version
|
||||
#
|
||||
# Intel(R) Fortran Intel(R) 64 Compiler XE for applications
|
||||
# running on Intel(R) 64, Version 19.0.4.243 Build 20190416
|
||||
#
|
||||
# Intel(R) C Intel(R) 64 Compiler XE for applications
|
||||
# running on Intel(R) 64, Version 19.0.4.243 Build 20190416
|
||||
#
|
||||
# To check the O/S level, type:
|
||||
# uname -a
|
||||
#
|
||||
# Distributed parallel MPI libraries:
|
||||
# Intel MPI 2019 Update 4
|
||||
# To check the mpi version, type:
|
||||
# mpiexec.hydra -version
|
||||
#
|
||||
# To check the Compiler level, type using the compiler
|
||||
# installation path:
|
||||
# ifort -V
|
||||
# icc -V
|
||||
#
|
||||
# REMARKS : This file contains the definitions of variables used during
|
||||
# compilation loading and use of the MARC programmes . The
|
||||
# current machine type is identified by means of the variable
|
||||
# MACHINE , defined below.
|
||||
#
|
||||
#
|
||||
# MPI_ROOT: root directory in which mpi shared libraries, etc. are located
|
||||
# DIRJOB : directory in which spawned jobs should look for Marc input
|
||||
# MPI_ARCH: system architecture
|
||||
# MPI_EPATH: path where executable resides
|
||||
#
|
||||
REVISION="VERSION, BUILD"
|
||||
HOSTNAME=`hostname`
|
||||
|
||||
# find available memory in Mbyte on the machine
|
||||
# can be set explicitly
|
||||
MEMLIMIT=`free -m | awk '/Mem:/ {print $2}'`
|
||||
|
||||
# set _OEM_NASTRAN to 1 for MD Nastran build
|
||||
# override _OEM_NASTRAN setting with MARC_MD_NASTRAN environment variable
|
||||
_OEM_NASTRAN="${MARC_MD_NASTRAN:-0}"
|
||||
|
||||
# uncomment the following line for an autoforge build
|
||||
#AUTOFORGE=1
|
||||
AUTOFORGE=0
|
||||
export AUTOFORGE
|
||||
|
||||
# integer size
|
||||
if test "$MARC_INTEGER_SIZE" = "" ; then
|
||||
INTEGER_PATH=
|
||||
else
|
||||
INTEGER_PATH=/$MARC_INTEGER_SIZE
|
||||
fi
|
||||
|
||||
FCOMP=ifort
|
||||
INTELPATH="/opt/intel/compilers_and_libraries_2019/linux"
|
||||
|
||||
# find the root directory of the compiler installation:
|
||||
# - if ifort is found in $PATH, then the root directory is derived
|
||||
# from the path to ifort
|
||||
# - if ifort is not found in $PATH, the root directory is assumed
|
||||
# to be $INTELPATH and the directory in which ifort is found is
|
||||
# added to $PATH
|
||||
FCOMPPATH=`which "$FCOMP" 2>/dev/null`
|
||||
if test -n "$FCOMPPATH"; then
|
||||
# derive the root directory from $FCOMPPATH
|
||||
FCOMPROOT="${FCOMPPATH%/bin/intel64/$FCOMP}"
|
||||
if test "$FCOMPROOT" = "$FCOMPPATH"; then
|
||||
FCOMPROOT="${FCOMPPATH%/bin/$FCOMP}"
|
||||
fi
|
||||
if test "$FCOMPROOT" = "$FCOMPPATH"; then
|
||||
FCOMPROOT=
|
||||
fi
|
||||
elif test -d "$INTELPATH"; then
|
||||
# check for compiler in $INTELPATH
|
||||
if test -d "$INTELPATH/bin/intel64" -a \
|
||||
-x "$INTELPATH/bin/intel64/$FCOMP" ; then
|
||||
FCOMPROOT="$INTELPATH"
|
||||
PATH="$INTELPATH/bin/intel64:$PATH"
|
||||
elif test -d "$INTELPATH/bin" -a \
|
||||
-x "$INTELPATH/bin/$FCOMP"; then
|
||||
FCOMPROOT="$INTELPATH"
|
||||
PATH="$INTELPATH/bin:$PATH"
|
||||
else
|
||||
FCOMPROOT=
|
||||
fi
|
||||
else
|
||||
FCOMPROOT=
|
||||
fi
|
||||
|
||||
# AEM
|
||||
if test "$MARCDLLOUTDIR" = ""; then
|
||||
DLLOUTDIR="$MARC_LIB"
|
||||
else
|
||||
DLLOUTDIR="$MARCDLLOUTDIR"
|
||||
fi
|
||||
|
||||
# settings for MKL
|
||||
if test "$IMKLDIR" = ""; then
|
||||
MARC_MKL="$FCOMPROOT/mkl/lib/intel64"
|
||||
else
|
||||
MARC_MKL=$IMKLDIR/lib/intel64
|
||||
fi
|
||||
|
||||
#
|
||||
# settings for Metis
|
||||
#
|
||||
METIS="-I$METIS_SOURCE/include"
|
||||
METISLIBS="$METISLIB_DIR/libmarcddm.a $METISLIB_DIR/libmarcmetis.a "
|
||||
|
||||
#
|
||||
# settings for MPI
|
||||
#
|
||||
# RCP and RSH are used for parallel network runs
|
||||
# replace with similar commands like rsh if needed
|
||||
RCP=/usr/bin/scp
|
||||
RSH=/usr/bin/ssh
|
||||
#
|
||||
|
||||
|
||||
MPI_DEFAULT=intelmpi
|
||||
MPI_OTHER=
|
||||
|
||||
MPITYPE=$MPI_DEFAULT
|
||||
|
||||
if test $AUTOFORGE
|
||||
then
|
||||
if test $AUTOFORGE = 1
|
||||
then
|
||||
MPITYPE=none
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# overrule MPITYPE setting with environmental variable MARC_MPITYPE
|
||||
if test $MARC_MPITYPE
|
||||
then
|
||||
MPITYPE=$MARC_MPITYPE
|
||||
fi
|
||||
|
||||
# always set MPITYPE to none for MD Nastran
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
MPITYPE=none
|
||||
fi
|
||||
|
||||
# Edit following lines to build with GPGPU version of BCS Solver for
|
||||
# NVIDIA platforms
|
||||
#BCSGPUSOLVER=NONE
|
||||
BCSGPUSOLVER=BCSGPU
|
||||
|
||||
# Edit following lines to build solver 2 with GPU support
|
||||
SOLVER2GPU=GPU
|
||||
#SOLVER2GPU=NONE
|
||||
|
||||
# Edit following lines to set the openssl library
|
||||
if test "$OPENSSL" != "NONE"
|
||||
then
|
||||
OPENSSL_LIB="$MARC_LIB/libcrypto.a"
|
||||
fi
|
||||
OPENSSL_INCLUDE=-I"$MARC_OPENSSL/include/"
|
||||
|
||||
MARCHDF_HDF=HDF
|
||||
#MARCHDF_HDF=NONE
|
||||
|
||||
# activate contact component build if flagged
|
||||
AEM_DLL=0
|
||||
if test "$AEM_BUILD" = "ON" ; then
|
||||
AEM_DLL=1
|
||||
LINK_MARC_DLL="-shared -fPIC"
|
||||
EXT_DLL="so"
|
||||
MPITYPE=none
|
||||
MPI_OTHER=
|
||||
MARCHDF_HDF=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
SOLVER2GPU=NONE
|
||||
MUMPSSOLVER=NONE
|
||||
CASISOLVER=NONE
|
||||
fi
|
||||
|
||||
if test "$MARCHDF_HDF" = "HDF"; then
|
||||
HDF_INCLUDE="-I$MARC_HDF/include"
|
||||
HDF_LIBS="$MARC_LIB/libhdf5_fortran.so.100 $MARC_LIB/libhdf5.so.103"
|
||||
fi
|
||||
|
||||
SOLVERFLAGS=
|
||||
if test "$BCSGPUSOLVER" = BCSGPU
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA"
|
||||
BCS_DIR=bcsgpusolver
|
||||
else
|
||||
BCS_DIR=bcssolver
|
||||
fi
|
||||
#
|
||||
# settings for MPI
|
||||
#
|
||||
DDM=
|
||||
if test $MPITYPE != none
|
||||
then
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
INTELMPI_VERSION=HYDRA
|
||||
FCOMPMPI=mpiifort
|
||||
if test -n "$MARC_INTELMPI" ; then
|
||||
MPI_ROOT=$MARC_INTELMPI
|
||||
else
|
||||
MPI_ROOT=/opt/intel/compilers_and_libraries_2019/linux/mpi/intel64
|
||||
MARC_INTELMPI=$MPI_ROOT
|
||||
fi
|
||||
DDM="-I${MPI_ROOT}/include -DDDM"
|
||||
PATH=$MPI_ROOT/bin:$PATH
|
||||
export PATH
|
||||
LD_LIBRARY_PATH=$MPI_ROOT/lib:$MPI_ROOT/lib/release:$MPI_ROOT/libfabric/lib:$LD_LIBRARY_PATH
|
||||
export LD_LIBRARY_PATH
|
||||
if test $INTELMPI_VERSION = HYDRA
|
||||
then
|
||||
RUN_JOB1="${MPI_ROOT}/bin/mpiexec.hydra -genvall -n "
|
||||
RUN_JOB2="${MPI_ROOT}/bin/mpiexec.hydra -genvall"
|
||||
else
|
||||
RUN_JOB1="${MPI_ROOT}/bin/mpiexec -n "
|
||||
RUN_JOB2="${MPI_ROOT}/bin/mpiexec -configfile "
|
||||
fi
|
||||
RUN_JOB0=
|
||||
MPI_CLEAN=
|
||||
MPI_EPATH=$MARC_BIN
|
||||
MPIR_HOME=$MPI_ROOT
|
||||
MPICH_F77=$FCOMP
|
||||
MPICH_F77LINKER=$FCOMP
|
||||
export MPI_ROOT MPI_EPATH MPIR_HOME MPICH_F77 MPICH_F77LINKER
|
||||
FI_PROVIDER_PATH=$MPI_ROOT/libfabric/lib/prov
|
||||
export FI_PROVIDER_PATH
|
||||
fi
|
||||
else
|
||||
MPI_ROOT=$MARC_DUMMYMPI
|
||||
export MPI_ROOT=$MARC_DUMMYMPI
|
||||
DDM="-I$MPI_ROOT/include"
|
||||
fi
|
||||
|
||||
#
|
||||
# variables for the "maintain" script
|
||||
#
|
||||
|
||||
MACHINENAME=LINUX
|
||||
MACHINE64BIT=yes
|
||||
MACHINE=Linux_EM64T
|
||||
DEV=/dev/tape
|
||||
GETLOG="whoami"
|
||||
CLEAR="clear"
|
||||
MY_UNAME=`uname -a`
|
||||
|
||||
# Edit following 2 lines to build with VKI Solver
|
||||
#VKISOLVER=VKI
|
||||
VKISOLVER=NONE
|
||||
|
||||
# Edit following 2 lines to build with CASI Solver
|
||||
CASISOLVER=CASI
|
||||
if test "$MARC_CASISOLVER" = "NONE" ; then
|
||||
CASISOLVER=NONE
|
||||
fi
|
||||
#CASISOLVER=NONE
|
||||
|
||||
# Edit following 2 lines to build with MF2 Solver
|
||||
MF2SOLVER=NONE
|
||||
#MF2SOLVER=SERIAL
|
||||
#MF2SOLVER=MF2PARALLEL
|
||||
|
||||
# Edit following lines to build with Intel(c) Multithreaded solver (PARDISO)
|
||||
#INTELSOLVER=NONE
|
||||
INTELSOLVER=PARDISO
|
||||
|
||||
# Edit following lines to build with MUMPS
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
#MUMPSSOLVER=NONE
|
||||
MUMPSSOLVER=MUMPS
|
||||
else
|
||||
#MUMPSSOLVER=NONE
|
||||
MUMPSSOLVER=MUMPS
|
||||
fi
|
||||
|
||||
# Edit following 2 lines to build MARC dynamic shared library
|
||||
MARC_DLL=MARC_DLL
|
||||
MARC_DLL=NONE
|
||||
|
||||
# always set VKISOLVER, CASISOLVER, BCSGPUSOLVER, and MARC_DLL to NONE for MD Nastran
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
VKISOLVER=NONE
|
||||
CASISOLVER=NONE
|
||||
MF2SOLVER=NONE
|
||||
INTELSOLVER=NONE
|
||||
MUMPSSOLVER=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
SOLVER2GPU=NONE
|
||||
MARC_DLL=NONE
|
||||
fi
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
VKISOLVER=NONE
|
||||
CASISOLVER=NONE
|
||||
MF2SOLVER=NONE
|
||||
INTELSOLVER=NONE
|
||||
MUMPSSOLVER=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
SOLVER2GPU=NONE
|
||||
fi
|
||||
|
||||
#
|
||||
# define Fortran and C compile syntax
|
||||
#
|
||||
if test "$VKISOLVER" = VKI
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DVKI"
|
||||
fi
|
||||
|
||||
if test "$CASISOLVER" = CASI
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DCASI"
|
||||
fi
|
||||
|
||||
if test "$MF2SOLVER" = MF2PARALLEL
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMF2PARALLEL"
|
||||
fi
|
||||
if test "$MF2SOLVER" = MF2SERIAL
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMF2SERIAL"
|
||||
fi
|
||||
|
||||
if test "$INTELSOLVER" = PARDISO
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DPARDISO"
|
||||
fi
|
||||
|
||||
if test "$MUMPSSOLVER" = MUMPS
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMUMPS"
|
||||
fi
|
||||
|
||||
|
||||
if test "$MARC_DLL" = MARC_DLL
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DMARC_DLL"
|
||||
fi
|
||||
|
||||
if test "$SOLVER2GPU" = GPU
|
||||
then
|
||||
SOLVERFLAGS="$SOLVERFLAGS -DSOLVER2GPU"
|
||||
fi
|
||||
|
||||
LINK_OPT=
|
||||
DEBUG_OPT=
|
||||
C_DEBUG_OPT=
|
||||
|
||||
#Uncomment following line to build Marc in debuggable mode
|
||||
MARCDEBUG=
|
||||
#MARCDEBUG="ON"
|
||||
|
||||
if test "$MARCDEBUG" = "ON"
|
||||
then
|
||||
LINK_OPT="-debug -traceback"
|
||||
DEBUG_OPT="-debug -traceback"
|
||||
C_DEBUG_OPT="-debug -traceback"
|
||||
fi
|
||||
|
||||
|
||||
MARCCHECK=
|
||||
#MARCCHECK="ON"
|
||||
if test "$MARCCHECK" = "ON"
|
||||
then
|
||||
DEBUG_OPT="$DEBUG_OPT -fpe0 -fp-stack-check -check all -ftrapuv "
|
||||
C_DEBUG_OPT="$C_DEBUG_OPT -fp-stack-check -check-uninit -Wformat -ftrapuv "
|
||||
fi
|
||||
|
||||
MARCCODECOV=
|
||||
#MARCCODECOV="ON"
|
||||
|
||||
MARCCODEPROF=
|
||||
#MARCCODEPROF="ON"
|
||||
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
I8FFLAGS=
|
||||
I8DEFINES=
|
||||
I8CDEFINES=
|
||||
else
|
||||
I8FFLAGS="-i8"
|
||||
I8DEFINES="-DI64"
|
||||
I8CDEFINES="-U_DOUBLE -D_SINGLE"
|
||||
fi
|
||||
|
||||
MTHREAD=OPENMP
|
||||
if test "$MARC_OPENMP" = "NONE" ; then
|
||||
MTHREAD=NONE
|
||||
fi
|
||||
#MTHREAD=NONE
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
MTHREAD=NONE
|
||||
fi
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
MTHREAD=NONE
|
||||
CASISOLVER=NONE
|
||||
VKISOLVER=NONE
|
||||
MF2SOLVER=NONE
|
||||
INTELSOLVER=NONE
|
||||
BCSGPUSOLVER=NONE
|
||||
SOLVER2GPU=NONE
|
||||
OPENSSL_LIB=
|
||||
MARC_DLL=NONE
|
||||
METISLIBS=
|
||||
fi
|
||||
|
||||
OMP_COMPAT=NO
|
||||
OMP_COMPAT=YES
|
||||
if test "$MTHREAD" = "NONE"
|
||||
then
|
||||
OMP_COMPAT=NO
|
||||
fi
|
||||
|
||||
CDEFINES=
|
||||
FDEFINES=
|
||||
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
CDEFINES="$CDEFINES -D_OEM_NASTRAN"
|
||||
FDEFINES="$FDEFINES -D_OEM_NASTRAN"
|
||||
fi
|
||||
|
||||
FDEFINES="$FDEFINES -D_IMPLICITNONE"
|
||||
|
||||
if test "$_OEM_NASTRAN" -eq 0
|
||||
then
|
||||
FDEFINES="$FDEFINES -DMKL -DOPENMP"
|
||||
fi
|
||||
|
||||
if test "$OMP_COMPAT" = "YES"
|
||||
then
|
||||
FDEFINES="$FDEFINES -DOMP_COMPAT"
|
||||
fi
|
||||
|
||||
# -D_MSCMARC
|
||||
FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT $MARC_SIMUFACT"
|
||||
CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES"
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
FDEFINES="$FDEFINES -D_AEMNL -DAAA"
|
||||
CDEFINES="$CDEFINES -D_AEMNL -DAAA"
|
||||
fi
|
||||
|
||||
CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource $METIS -I$LAPI_IMPORTS/common/include"
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
CINCL="$CINCL -I../../include"
|
||||
fi
|
||||
|
||||
CC_OPT=
|
||||
if test "$MTHREAD" = "OPENMP"
|
||||
then
|
||||
CC_OPT=" $CC_OPT -qopenmp"
|
||||
fi
|
||||
|
||||
CC="icc -c $CC_OPT -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCLOW="icc -c $CC_OPT -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCHIGH="icc -c $CC_OPT -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
|
||||
if test "$MARCDEBUG" = "ON"
|
||||
then
|
||||
CC="icc -c $CC_OPT -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCLOW="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
CCHIGH="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||
fi
|
||||
|
||||
LOAD_CC="icc $CC_OPT -O1 -DLinux -DLINUX -DLinux_intel"
|
||||
CCT="$CC"
|
||||
CCTLOW="$CCLOW"
|
||||
CCTHIGH="$CCHIGH"
|
||||
|
||||
#PROFILE="-Mprof=func"
|
||||
#PROFILE="-Mprof=lines"
|
||||
#PROFILE="-Mprof=func,mpi"
|
||||
PROFILE=
|
||||
#PROFILE="-init=snan,arrays -CB -traceback -fpe0 -fp-stack-check -check all -check uninit -ftrapuv"
|
||||
if test "$MARCCODECOV" = "ON"
|
||||
then
|
||||
PROFILE="-prof-gen=srcpos"
|
||||
fi
|
||||
if test "$MARCCODEPROF" = "ON"
|
||||
then
|
||||
PROFILE=" $PROFILE -pg"
|
||||
fi
|
||||
|
||||
FORT_OPT="-c -assume byterecl -safe_cray_ptr -mp1 -WB -fp-model source"
|
||||
if test "$MTHREAD" = "OPENMP"
|
||||
then
|
||||
FORT_OPT=" $FORT_OPT -qopenmp"
|
||||
if test "$OMP_COMPAT" = "YES"
|
||||
then
|
||||
FORT_OPT=" $FORT_OPT -qopenmp-threadprivate=compat"
|
||||
fi
|
||||
else
|
||||
# FORT_OPT=" $FORT_OPT -auto "
|
||||
FORT_OPT=" $FORT_OPT -save -zero"
|
||||
fi
|
||||
if test "$MARCHDF_HDF" = "HDF"; then
|
||||
FORT_OPT="$FORT_OPT -DMARCHDF_HDF=$MARCHDF_HDF $HDF_INCLUDE"
|
||||
fi
|
||||
|
||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||
# for compiling free form f90 files. high opt, integer(4)
|
||||
FORTF90="$FCOMP -c -O3"
|
||||
|
||||
if test "$MARCDEBUG" = "ON"
|
||||
then
|
||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||
FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||
fi
|
||||
|
||||
FORTLOWT="$FORTLOW"
|
||||
FORTRANT="$FORTRAN"
|
||||
FORTHIGHT="$FORTHIGH"
|
||||
|
||||
FORTRANMNF="$FCOMP -c $FDEFINES "
|
||||
CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE"
|
||||
|
||||
if test $MPITYPE != none
|
||||
then
|
||||
if test $MPITYPE = hpmpi
|
||||
then
|
||||
LOAD="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o "
|
||||
LOADT="$MPI_ROOT/bin/$FCOMPMPI ${LOADOPTIONS} -L$MPI_ROOT/lib/$ARCHITECTURE $PROFILE $LINK_OPT -o "
|
||||
fi
|
||||
# Uncomment the following lines to turn on the tracer and commnet out the next 5 lines
|
||||
# if test $MPITYPE = intelmpi
|
||||
# then
|
||||
# INCLUDEMPI="-I$MPI_ROOT/include -I$VT_ROOT/include"
|
||||
# LOAD="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
||||
# LOADT="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
||||
# fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
LOAD="ifort $PROFILE $LINK_OPT -o "
|
||||
LOADT="ifort $PROFILE $LINK_OPT -o "
|
||||
fi
|
||||
else
|
||||
LOAD="$FCOMP $LINK_OPT -o "
|
||||
LOADT="$FCOMP $LINK_OPT -o "
|
||||
fi
|
||||
|
||||
if test "$MARC_DLL" = MARC_DLL
|
||||
then
|
||||
FORTLOW="$FORTLOW -fpp -fPIC"
|
||||
FORTRAN="$FORTRAN -fpp -fPIC"
|
||||
FORTHIGH="$FORTHIGH -fpp -fPIC"
|
||||
FORTRANMNF="$FORTRANMNF -fpp -fPIC"
|
||||
CC="$CC -fPIC"
|
||||
CCMNF="$CCMNF -fPIC"
|
||||
LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread"
|
||||
LINK_MARC_DLL="-shared -fPIC"
|
||||
LOAD_DLL=$LOAD
|
||||
LOADT_DLL=$LOADT
|
||||
EXT_DLL="so"
|
||||
fi
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
FORTLOW="$FORTLOW -fpp -fPIC"
|
||||
FORTRAN="$FORTRAN -fpp -fPIC"
|
||||
FORTHIGH="$FORTHIGH -fpp -fPIC"
|
||||
FORTRANMNF="$FORTRANMNF -fpp -fPIC"
|
||||
CC="$CC -fPIC"
|
||||
CCMNF="$CCMNF -fPIC"
|
||||
LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide"
|
||||
LINK_MARC_DLL="-shared -fPIC"
|
||||
LOAD_DLL=$LOAD
|
||||
LOADT_DLL=$LOADT
|
||||
EXT_DLL="so"
|
||||
fi
|
||||
|
||||
|
||||
XLIBS="-L/usr/X11/lib -lX11 "
|
||||
|
||||
#
|
||||
# define archive and ranlib syntax
|
||||
#
|
||||
|
||||
ARC="ar rvl"
|
||||
ARD="ar dvl"
|
||||
ARX="ar xl"
|
||||
RAN=""
|
||||
|
||||
#
|
||||
# choose which libraries you want to use ( e.g. blas )
|
||||
#
|
||||
|
||||
if test "$VKISOLVER" = VKI
|
||||
then
|
||||
VKISOLVERLIBS="$MARC_LIB/vkisolver.a"
|
||||
else
|
||||
VKISOLVERLIBS=
|
||||
fi
|
||||
|
||||
if test "$CASISOLVER" = CASI
|
||||
then
|
||||
CASISOLVERLIBS="$CASILIB_DIR/libmarccasi.a $CASILIB_DIR/libcasi.a"
|
||||
else
|
||||
CASISOLVERLIBS=
|
||||
fi
|
||||
|
||||
MF2SOLVERLIBS=
|
||||
if test "$MF2SOLVER" = MF2PARALLEL
|
||||
then
|
||||
MF2SOLVERLIBS="$MARC_LIB/mf2parallel/libseq.a \
|
||||
$MARC_LIB/mf2parallel/libsym.a \
|
||||
$MARC_LIB/mf2parallel/libmet.a \
|
||||
$MARC_LIB/mf2parallel/libmf2.a \
|
||||
$MARC_LIB/mf2parallel/libgauss.a \
|
||||
$MARC_LIB/mf2parallel/libmf2.a \
|
||||
$MARC_LIB/mf2parallel/libgauss.a \
|
||||
$MARC_LIB/mf2parallel/libnum.a \
|
||||
$MARC_LIB/mf2parallel/libutl.a \
|
||||
$MARC_LIB/mf2parallel/libr8.a \
|
||||
$MARC_LIB/mf2parallel/libz.a "
|
||||
fi
|
||||
|
||||
if test "$MUMPSSOLVER" = MUMPS
|
||||
then
|
||||
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a"
|
||||
if test $MPITYPE = none
|
||||
then
|
||||
MUMPSSOLVERLIBS2=
|
||||
echo hello > /dev/null
|
||||
fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_intelmpi.a"
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a "
|
||||
else
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a "
|
||||
fi
|
||||
fi
|
||||
if test $MPITYPE = hpmpi
|
||||
then
|
||||
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps_hpmpi.a"
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a"
|
||||
else
|
||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
MUMPSSOLVERLIBS=
|
||||
MUMPSSOLVERLIBS2=
|
||||
fi
|
||||
|
||||
if test "$BCSGPUSOLVER" = BCSGPU
|
||||
then
|
||||
BCSSOLVERLIBS="${MARC_LIB}/bcsgpulib.a "
|
||||
MARCCUDALIBS1="-L${MARC_LIB}/cuda_dummy -lmarccuda "
|
||||
MARCCUDALIBS2="-L${MARC_LIB}/cuda -lmarccuda "
|
||||
MARCCUDALIBS=$MARCCUDALIBS1
|
||||
else
|
||||
BCSSOLVERLIBS="${MARC_LIB}/bcslib.a "
|
||||
fi
|
||||
|
||||
SOLVER2LIBS=
|
||||
if test "$SOLVER2GPU" = GPU
|
||||
then
|
||||
SOLVER2LIBS="-L$MARC_LIB/cuda_dummy -lsolver2gpu"
|
||||
fi
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
BCSSOLVERLIBS=
|
||||
fi
|
||||
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
MKLLIB="$MARC_MKL/libmkl_scalapack_lp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_lp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MUMPSSOLVERLIBS2 -Wl,--end-group"
|
||||
else
|
||||
MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_ilp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a $MUMPSSOLVERLIBS2 -Wl,--end-group"
|
||||
fi
|
||||
|
||||
SECLIBS="-L$MARC_LIB -llapi"
|
||||
|
||||
SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS} \
|
||||
$MKLLIB -L$MARC_MKL -liomp5 \
|
||||
$MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/libkdtree2.a $HDF_LIBS $SOLVER2LIBS"
|
||||
|
||||
SOLVERLIBS_DLL=${SOLVERLIBS}
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
SOLVERLIBS_DLL="$MKLLIB -L$MARC_MKL -liomp5 $MARC_LIB/blas_src.a"
|
||||
fi
|
||||
MRCLIBS="$MARC_LIB/clib.a ${CASISOLVERLIBS}"
|
||||
MRCLIBSPAR="$MARC_LIB/clib.a"
|
||||
STUBS="$MARC_LIB/stubs.a "
|
||||
MNFLIBS="$MARC_LIB/libmnf.a"
|
||||
MDUSER="$MARC_LIB/md_user.a"
|
||||
if test "X$MARC_SIMUFACT" != "X"
|
||||
then
|
||||
SFLIB="-L$SFMATDIR -lMBA_Grain"
|
||||
else
|
||||
SFLIB=" "
|
||||
fi
|
||||
OPENMP="-qopenmp"
|
||||
|
||||
if test "$AEM_DLL" -eq 1
|
||||
then
|
||||
LOAD_DLL=$LOAD
|
||||
OPENMP=
|
||||
LIBMNF=
|
||||
OPENSSL=NONE
|
||||
fi
|
||||
|
||||
SYSLIBS=" $OPENMP -lpthread -shared-intel -cxxlib"
|
||||
|
||||
# Uncomment the following lines to turn on the trace and comment out the next 4 lines
|
||||
# if test $MPITYPE = intelmpi
|
||||
# then
|
||||
# SYSLIBS="-L${VT_ROOT}/lib -lVT -ldwarf -lelf -lm -lpthread \
|
||||
# -L${MPI_ROOT}/lib64 -lmpi -lmpiif -lmpigi -lrt"
|
||||
# fi
|
||||
if test $MPITYPE = intelmpi
|
||||
then
|
||||
SYSLIBS="-L${MPI_ROOT}/lib/release -lmpi -L${MPI_ROOT}/lib -lmpifort -lrt $OPENMP -threads -lpthread -shared-intel -cxxlib"
|
||||
fi
|
||||
|
||||
|
||||
SYSLIBSPAR=" "
|
||||
|
||||
MARC_DLL_CODES="runmarc.f"
|
||||
|
||||
|
||||
BLAS_SRC="dzero.f icopy.f izero.f"
|
||||
if test "$_OEM_NASTRAN" -ne 0
|
||||
then
|
||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||
BLAS_SRC="$BLAS_SRC dsctr.f zsctr.f dzasum.f daxpyi.f zaxpyi.f dgthr.f zgthr.f"
|
||||
else
|
||||
BLAS_SRC="ALL"
|
||||
fi
|
||||
fi
|
||||
|
||||
LOW_OPT_CODES="are163.f contro.f ndext.f omarc.f omarca.f omarcb.f omarcc.f \
|
||||
omars.f fixbc.f triang.f bet049.f norst3.f eldata.f \
|
||||
elec*.f elct*.f fmeig.f oada00.f ogeig.f updtrbe2.f cycrota.f \
|
||||
cordef.f ogpk.f ogtan.f eldam.f formrbe3.f \
|
||||
inertie.f em_sso072.f cn_fol3d_qpatch6.f cosim_begin.f"
|
||||
if test "$MARC_INTEGER_SIZE" = "i8" ; then
|
||||
LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f"
|
||||
fi
|
||||
|
||||
HIGH_OPT_CODES="dpsmsa1.f dpsmsa2.f dpsmsa3.f dpsmsa4.f dpsmsa5.f dpsmsa6.f \
|
||||
dpsmsa7.f dpsmsa8.f dpsmsa9.f dpsmsa10.f dpsmsa11.f dpsmsa12.f \
|
||||
dpsmsa13.f dpsmsa14.f dpsmsa15.f dpsmsa16.f dpsmsah.f tpsmsah.f cn_qsort4_11.f \
|
||||
prei11.f prei12.f prei31.f prei32.f prei41.f prei42.f prei61.f prei62.f \
|
||||
prei1n.f prei2n.f cgfullnts1.f cgfullnts2.f cg1n.f cg2n.f cg3n.f \
|
||||
cg4n.f cg5n.f cg6n.f cgnn.f sortab.f sortab1.f triann1.f preinv_nts.f \
|
||||
cn_sur_patchl.f cn_quad_3e.f"
|
||||
|
||||
|
||||
|
||||
MAXNUM=1000000
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue