Merge branch 'development' into vector-mechanics

This commit is contained in:
Martin Diehl 2020-11-02 15:23:11 +01:00
commit cf958d32b4
375 changed files with 458464 additions and 210356 deletions

1
.gitattributes vendored
View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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

View File

@ -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:

@ -1 +1 @@
Subproject commit c595994cd8880acadf50b5dedb79156d04d35b91
Subproject commit e2301f7d12ff0ae12218d9b58e33a814eb5431c9

2
README
View File

@ -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

View File

@ -1 +1 @@
v2.0.3-2464-g90f93d23
v3.0.0-alpha-633-g086b215d9

View File

@ -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)

View File

@ -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 ()

6
env/CONFIG vendored
View File

@ -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

10
env/DAMASK.csh vendored
View File

@ -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

6
env/DAMASK.sh vendored
View File

@ -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

6
env/DAMASK.zsh vendored
View File

@ -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
examples/.gitignore vendored
View File

@ -3,6 +3,3 @@
*.xdmf
*.sta
*.vt*
*.geom
*.seeds
postProc

View File

@ -1,3 +0,0 @@
hydrogenflux cahnhilliard
initialHydrogenConc 0.0
(output) hydrogenconc

View File

@ -1,2 +0,0 @@
(kinematics) vacancy_strain
vacancy_strain_coeff 0.006

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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]

View File

@ -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")

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -1,2 +0,0 @@
itmin 4
itmax 40

View File

@ -0,0 +1,3 @@
grid:
itmin: 4
itmax: 40

View File

@ -1 +0,0 @@
fdot 0 0 0 1e-3 0 0 0 0 0 stress * * * * * * * * * time 60 incs 120 freq 20

View File

@ -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

View File

@ -1 +0,0 @@
fdot 0 0 1.0e-3 0 0 0 0 0 0 stress * * * * * * * * * time 60 incs 120 freq 20

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -49,4 +49,5 @@ echo "program: $program"
exit 1
}
/bin/rm $userobj
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.smod

View File

@ -49,4 +49,5 @@ echo "program: $program"
exit 1
}
/bin/rm $userobj
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.smod

View File

@ -49,4 +49,5 @@ echo "program: $program"
exit 1
}
/bin/rm $userobj
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.smod

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -49,4 +49,5 @@ echo "program: $program"
exit 1
}
/bin/rm $userobj
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.smod

View File

@ -49,4 +49,5 @@ echo "program: $program"
exit 1
}
/bin/rm $userobj
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.smod

View File

@ -49,4 +49,5 @@ echo "program: $program"
exit 1
}
/bin/rm $userobj
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.smod

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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% $*

View File

@ -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 $*

View File

@ -0,0 +1,8 @@
#!/bin/sh
if [ "$1" = "" ]; then
echo "usage: $0 job_name"
exit 1
fi
echo STOP > $1.cnt

View File

@ -0,0 +1,8 @@
#!/bin/sh
if [ "$1" = "" ]; then
echo "usage: $0 job_name"
exit 1
fi
echo STOP > $1.cnt

View File

@ -0,0 +1,8 @@
#!/bin/sh
if [ "$1" = "" ]; then
echo "usage: $0 job_name"
exit 1
fi
echo STOP > $1.cnt

View File

@ -0,0 +1,8 @@
#!/bin/sh
if [ "$1" = "" ]; then
echo "usage: $0 job_name"
exit 1
fi
echo STOP > $1.cnt

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -49,4 +49,5 @@ echo "program: $program"
exit 1
}
/bin/rm $userobj
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.smod

View File

@ -49,4 +49,5 @@ echo "program: $program"
exit 1
}
/bin/rm $userobj
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.smod

View File

@ -49,4 +49,5 @@ echo "program: $program"
exit 1
}
/bin/rm $userobj
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.mod
/bin/rm $DIRJOB/*.smod

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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