Merge remote-tracking branch 'origin/development' into 20-NewStyleDislotwin
This commit is contained in:
commit
ecde7e5953
|
@ -7,7 +7,7 @@ stages:
|
||||||
- compilePETScGNU
|
- compilePETScGNU
|
||||||
- prepareSpectral
|
- prepareSpectral
|
||||||
- spectral
|
- spectral
|
||||||
- compileMarc2017
|
- compileMarc2018_1
|
||||||
- marc
|
- marc
|
||||||
- compileAbaqus2017
|
- compileAbaqus2017
|
||||||
- example
|
- example
|
||||||
|
@ -73,10 +73,13 @@ variables:
|
||||||
PETSc_MPICH_GNU: "$PETSc3_10_0MPICH3_2GNU7_3"
|
PETSc_MPICH_GNU: "$PETSc3_10_0MPICH3_2GNU7_3"
|
||||||
# ++++++++++++ FEM +++++++++++++++++++++++++++++++++++++++++++++++++++
|
# ++++++++++++ FEM +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
Abaqus2017: "FEM/Abaqus/2017"
|
Abaqus2017: "FEM/Abaqus/2017"
|
||||||
|
MSC2018_1: "FEM/MSC/2018.1"
|
||||||
MSC2017: "FEM/MSC/2017"
|
MSC2017: "FEM/MSC/2017"
|
||||||
# ------------ Defaults ----------------------------------------------
|
# ------------ Defaults ----------------------------------------------
|
||||||
Abaqus: "$Abaqus2017"
|
Abaqus: "$Abaqus2017"
|
||||||
MSC: "$MSC2017"
|
MSC: "$MSC2018_1"
|
||||||
|
IntelMarc: "$IntelCompiler17_0"
|
||||||
|
IntelAbaqus: "$IntelCompiler16_4"
|
||||||
# ++++++++++++ Documentation +++++++++++++++++++++++++++++++++++++++++
|
# ++++++++++++ Documentation +++++++++++++++++++++++++++++++++++++++++
|
||||||
Doxygen1_8_13: "Documentation/Doxygen/1.8.13"
|
Doxygen1_8_13: "Documentation/Doxygen/1.8.13"
|
||||||
# ------------ Defaults ----------------------------------------------
|
# ------------ Defaults ----------------------------------------------
|
||||||
|
@ -275,6 +278,13 @@ Spectral_ipNeighborhood:
|
||||||
- master
|
- master
|
||||||
- release
|
- release
|
||||||
|
|
||||||
|
RGC_DetectChanges:
|
||||||
|
stage: spectral
|
||||||
|
script: RGC_DetectChanges/test.py
|
||||||
|
except:
|
||||||
|
- master
|
||||||
|
- release
|
||||||
|
|
||||||
Nonlocal_Damage_DetectChanges:
|
Nonlocal_Damage_DetectChanges:
|
||||||
stage: spectral
|
stage: spectral
|
||||||
script: Nonlocal_Damage_DetectChanges/test.py
|
script: Nonlocal_Damage_DetectChanges/test.py
|
||||||
|
@ -349,20 +359,21 @@ TextureComponents:
|
||||||
|
|
||||||
|
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
Marc_compileIfort2017:
|
Marc_compileIfort2018_1:
|
||||||
stage: compileMarc2017
|
stage: compileMarc2018_1
|
||||||
script:
|
script:
|
||||||
- module load $IntelCompiler16_4 $MSC2017
|
- module load $IntelCompiler17_0 $MSC2018_1
|
||||||
- Marc_compileIfort/test.py -m 2017
|
- Marc_compileIfort/test.py -m 2018.1
|
||||||
except:
|
except:
|
||||||
- master
|
- master
|
||||||
- release
|
- release
|
||||||
|
|
||||||
|
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
Hex_elastic:
|
Hex_elastic:
|
||||||
stage: marc
|
stage: marc
|
||||||
script:
|
script:
|
||||||
- module load $IntelCompiler16_4 $MSC
|
- module load $IntelMarc $MSC
|
||||||
- Hex_elastic/test.py
|
- Hex_elastic/test.py
|
||||||
except:
|
except:
|
||||||
- master
|
- master
|
||||||
|
@ -371,7 +382,7 @@ Hex_elastic:
|
||||||
CubicFCC_elastic:
|
CubicFCC_elastic:
|
||||||
stage: marc
|
stage: marc
|
||||||
script:
|
script:
|
||||||
- module load $IntelCompiler16_4 $MSC
|
- module load $IntelMarc $MSC
|
||||||
- CubicFCC_elastic/test.py
|
- CubicFCC_elastic/test.py
|
||||||
except:
|
except:
|
||||||
- master
|
- master
|
||||||
|
@ -380,7 +391,7 @@ CubicFCC_elastic:
|
||||||
CubicBCC_elastic:
|
CubicBCC_elastic:
|
||||||
stage: marc
|
stage: marc
|
||||||
script:
|
script:
|
||||||
- module load $IntelCompiler16_4 $MSC
|
- module load $IntelMarc $MSC
|
||||||
- CubicBCC_elastic/test.py
|
- CubicBCC_elastic/test.py
|
||||||
except:
|
except:
|
||||||
- master
|
- master
|
||||||
|
@ -389,7 +400,7 @@ CubicBCC_elastic:
|
||||||
J2_plasticBehavior:
|
J2_plasticBehavior:
|
||||||
stage: marc
|
stage: marc
|
||||||
script:
|
script:
|
||||||
- module load $IntelCompiler16_4 $MSC
|
- module load $IntelMarc $MSC
|
||||||
- J2_plasticBehavior/test.py
|
- J2_plasticBehavior/test.py
|
||||||
except:
|
except:
|
||||||
- master
|
- master
|
||||||
|
@ -415,7 +426,7 @@ SpectralExample:
|
||||||
AbaqusExample:
|
AbaqusExample:
|
||||||
stage: example
|
stage: example
|
||||||
script:
|
script:
|
||||||
- module load $IntelCompiler16_4 $Abaqus
|
- module load $IntelAbaqus $Abaqus
|
||||||
- Abaqus_example/test.py
|
- Abaqus_example/test.py
|
||||||
only:
|
only:
|
||||||
- development
|
- development
|
||||||
|
|
4
CONFIG
4
CONFIG
|
@ -6,6 +6,8 @@ set DAMASK_BIN = ${DAMASK_ROOT}/bin
|
||||||
set DAMASK_NUM_THREADS = 4
|
set DAMASK_NUM_THREADS = 4
|
||||||
|
|
||||||
set MSC_ROOT = /opt/msc
|
set MSC_ROOT = /opt/msc
|
||||||
set MARC_VERSION = 2017
|
set MARC_VERSION = 2018.1
|
||||||
|
|
||||||
set ABAQUS_VERSION = 2017
|
set ABAQUS_VERSION = 2017
|
||||||
|
|
||||||
|
set DAMASK_HDF5 = OFF
|
||||||
|
|
|
@ -78,7 +78,7 @@ echo PETSC_DIR: $PETSC_DIR
|
||||||
ls $PETSC_DIR/lib
|
ls $PETSC_DIR/lib
|
||||||
|
|
||||||
firstLevel "Python"
|
firstLevel "Python"
|
||||||
DEFAULT_PYTHON=python2.7
|
DEFAULT_PYTHON=python3
|
||||||
for executable in python python2 python3 python2.7; do
|
for executable in python python2 python3 python2.7; do
|
||||||
getDetails $executable '--version'
|
getDetails $executable '--version'
|
||||||
done
|
done
|
||||||
|
|
2
PRIVATE
2
PRIVATE
|
@ -1 +1 @@
|
||||||
Subproject commit b6a371445fa6739b391e56f508687f83cdeb56ab
|
Subproject commit 48ce603a2525d9b428f1bccb56eb958d231036cb
|
|
@ -1,714 +0,0 @@
|
||||||
#
|
|
||||||
# General definitions for the Marc 2016 version
|
|
||||||
#
|
|
||||||
# EM64T
|
|
||||||
#
|
|
||||||
# Linux RedHat 6.3 / SuSE 11
|
|
||||||
#
|
|
||||||
# 64 bit MPI version
|
|
||||||
#
|
|
||||||
# Intel(R) Fortran Intel(R) 64 Compiler XE for applications
|
|
||||||
# running on Intel(R) 64, Version 15.0.0.090 Build 20140723
|
|
||||||
#
|
|
||||||
# Intel(R) C Intel(R) 64 Compiler XE for applications
|
|
||||||
# running on Intel(R) 64, Version 15.0.0.090 Build 20140723
|
|
||||||
#
|
|
||||||
# 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 5.1.3
|
|
||||||
# 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/composer_xe_2015.0.090"
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# settings for MKL
|
|
||||||
MARC_MKL="$FCOMPROOT/mkl/lib/intel64"
|
|
||||||
|
|
||||||
#
|
|
||||||
# settings for Metis
|
|
||||||
#
|
|
||||||
METIS="-I$METIS_SOURCE/include"
|
|
||||||
METISLIBS="$MARC_LIB/metis.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
|
|
||||||
|
|
||||||
SOLVERFLAGS=
|
|
||||||
if test "$BCSGPUSOLVER" = BCSGPU
|
|
||||||
then
|
|
||||||
SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA"
|
|
||||||
BCS_DIR=bcsgpusolver
|
|
||||||
export PATH=$MARC_CUDA/bin:$MARC_CUDA/nvvm:$PATH
|
|
||||||
export LD_LIBRARY_PATH=$MARC_CUDA/lib64:$LD_LIBRARY_PATH
|
|
||||||
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}/include64 -DDDM"
|
|
||||||
PATH=$MPI_ROOT/bin64:$PATH
|
|
||||||
export PATH
|
|
||||||
LD_LIBRARY_PATH=$MPI_ROOT/lib64:$LD_LIBRARY_PATH
|
|
||||||
export LD_LIBRARY_PATH
|
|
||||||
if test $INTELMPI_VERSION = HYDRA
|
|
||||||
then
|
|
||||||
RUN_JOB1="${MPI_ROOT}/bin64/mpiexec.hydra -genvall -n "
|
|
||||||
RUN_JOB2="${MPI_ROOT}/bin64/mpiexec.hydra -genvall"
|
|
||||||
else
|
|
||||||
RUN_JOB1="${MPI_ROOT}/bin64/mpiexec -n "
|
|
||||||
RUN_JOB2="${MPI_ROOT}/bin64/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
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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=
|
|
||||||
I8CASIDEFS=
|
|
||||||
else
|
|
||||||
I8FFLAGS="-i8"
|
|
||||||
I8DEFINES="-DI64"
|
|
||||||
I8CDEFINES="-U_DOUBLE -D_SINGLE"
|
|
||||||
I8CASIDEFS="-DCASI_64BIT_INT=1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
MTHREAD=OPENMP
|
|
||||||
if test "$MARC_OPENMP" = "NONE" ; then
|
|
||||||
MTHREAD=NONE
|
|
||||||
fi
|
|
||||||
#MTHREAD=NONE
|
|
||||||
if test "$_OEM_NASTRAN" -ne 0
|
|
||||||
then
|
|
||||||
MTHREAD=NONE
|
|
||||||
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"
|
|
||||||
|
|
||||||
CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource $METIS"
|
|
||||||
if test "$_OEM_NASTRAN" -ne 0
|
|
||||||
then
|
|
||||||
CINCL="$CINCL -I../../include"
|
|
||||||
fi
|
|
||||||
|
|
||||||
CC="icc -c -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS "
|
|
||||||
CCLOW="icc -c -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS "
|
|
||||||
CCHIGH="icc -c -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS "
|
|
||||||
|
|
||||||
if test "$MARCDEBUG" = "ON"
|
|
||||||
then
|
|
||||||
CC="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS "
|
|
||||||
CCLOW="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS "
|
|
||||||
CCHIGH="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS "
|
|
||||||
fi
|
|
||||||
|
|
||||||
LOAD_CC="icc -O1 -DLinux -DLINUX -DLinux_intel"
|
|
||||||
CCT="$CC"
|
|
||||||
CCTLOW="$CCLOW"
|
|
||||||
CCTHIGH="$CCHIGH"
|
|
||||||
|
|
||||||
CC_CASI="$CC -std=c99 $I8CASIDEFS"
|
|
||||||
CCLOW_CASI="$CCLOW -std=c99 $I8CASIDEFS"
|
|
||||||
CCHIGH_CASI="$CCHIGH -std=c99 $I8CASIDEFS"
|
|
||||||
|
|
||||||
CCT_CASI="$CCT -std=c99 $I8CASIDEFS"
|
|
||||||
CCTLOW_CASI="$CCLOW -std=c99 $I8CASIDEFS"
|
|
||||||
CCTHIGH_CASI="$CCHIGH -std=c99 $I8CASIDEFS"
|
|
||||||
|
|
||||||
#PROFILE="-Mprof=func"
|
|
||||||
#PROFILE="-Mprof=lines"
|
|
||||||
#PROFILE="-Mprof=func,mpi"
|
|
||||||
PROFILE=
|
|
||||||
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 -openmp"
|
|
||||||
if test "$OMP_COMPAT" = "YES"
|
|
||||||
then
|
|
||||||
FORT_OPT=" $FORT_OPT -openmp-threadprivate=compat"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# FORT_OPT=" $FORT_OPT -auto "
|
|
||||||
FORT_OPT=" $FORT_OPT -save -zero"
|
|
||||||
fi
|
|
||||||
|
|
||||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
|
||||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
|
||||||
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
|
||||||
FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
|
||||||
|
|
||||||
if test "$MARCDEBUG" = "ON"
|
|
||||||
then
|
|
||||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
|
||||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
|
||||||
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
|
||||||
FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/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"
|
|
||||||
|
|
||||||
FORTRANMUMPS="$FCOMP -fpp $FORT_OPT $PROFILE -fno-alias -O1 -fp-model precise $FDEFINES -D_IMPLICITNONE $I8FFLAGS $I8DEFINES $DDM -I$MARC_SOURCE/mumpssolver/include -Dintel_ -DALLOW_NON_INIT -Dmetis -nofor_main"
|
|
||||||
CCMUMPS="icc -c -DAdd_ -Dmetis -I$MARC_SOURCE/mumpssolver/include"
|
|
||||||
|
|
||||||
|
|
||||||
BCSCC="icc -c -O3 -DLOWERCASE_ -I${MARC_SOURCE}/${BCS_DIR}/bcslib_csrc $CDEFINES $CINCL"
|
|
||||||
NVCC="nvcc -c -O3 -arch sm_20 -DLOWERCASE_ -I${MARC_SOURCE}/${BCS_DIR}/bcslib_cuda/include -I${MARC_CUDA}/include -I$MARC_SOURCE/mdsrc $I8DEFINES -Xcompiler -fvisibility=hidden -Xcompiler -fPIC $I8DEFINES "
|
|
||||||
NVCCLIB="ar rvl"
|
|
||||||
NVCCLD=icc
|
|
||||||
BCSFORTLOW="$FORTLOW -I${MARC_SOURCE}/${BCS_DIR}/common"
|
|
||||||
BCSFORTRAN="$FORTRAN -I${MARC_SOURCE}/${BCS_DIR}/common"
|
|
||||||
BCSFORTHIGH="$FORTHIGH -I${MARC_SOURCE}/${BCS_DIR}/common"
|
|
||||||
BCSFORT90HIGH="$BCSFORTHIGH"
|
|
||||||
if test "$MARCDEBUG" = "ON"
|
|
||||||
then
|
|
||||||
BCSFORTRAN=$BCSFORTLOW
|
|
||||||
BCSFORTHIGH=$BCSFORTLOW
|
|
||||||
BCSFORT90HIGH=$BCSFORTLOW
|
|
||||||
fi
|
|
||||||
|
|
||||||
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/include64 -I$VT_ROOT/include"
|
|
||||||
# LOAD="$MPI_ROOT/bin64/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
|
||||||
# LOADT="$MPI_ROOT/bin64/$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"
|
|
||||||
CC_CASI="$CC_CASI -fPIC"
|
|
||||||
CCLOW_CASI="$CCLOW_CASI -fPIC"
|
|
||||||
CCHIGH_CASI="$CCHIGH_CASI -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
|
|
||||||
|
|
||||||
|
|
||||||
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="$MARC_CASI/casilib.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="$MARC_LIB/libmumps.a"
|
|
||||||
if test $MPITYPE = none
|
|
||||||
then
|
|
||||||
MUMPSSOLVERLIBS2=
|
|
||||||
echo hello > /dev/null
|
|
||||||
fi
|
|
||||||
if test $MPITYPE = intelmpi
|
|
||||||
then
|
|
||||||
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
|
|
||||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
|
||||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_lp64.a"
|
|
||||||
else
|
|
||||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_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
|
|
||||||
CUDALIBS="-L$MARC_CUDA/lib64 -lcudart -lcublas -L/usr/lib64 -lcuda "
|
|
||||||
else
|
|
||||||
BCSSOLVERLIBS="${MARC_LIB}/bcslib.a "
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
|
||||||
MKLLIB="$MARC_MKL/libmkl_scalapack_lp64.a $MARC_MKL/libmkl_blacs_lp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_lp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a -Wl,--end-group"
|
|
||||||
else
|
|
||||||
MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a $MARC_MKL/libmkl_blacs_ilp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_ilp64.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a -Wl,--end-group"
|
|
||||||
fi
|
|
||||||
|
|
||||||
SECLIBS="-L$MARC_LIB -llapi"
|
|
||||||
|
|
||||||
SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS} ${MUMPSSOLVERLIBS2} \
|
|
||||||
$MKLLIB -L$MARC_MKL -liomp5 \
|
|
||||||
$MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a "
|
|
||||||
|
|
||||||
SOLVERLIBS_DLL=${SOLVERLIBS}
|
|
||||||
|
|
||||||
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 $SFMATDIR/sfclib.a "
|
|
||||||
else
|
|
||||||
SFLIB=" "
|
|
||||||
fi
|
|
||||||
|
|
||||||
OPENMP="-openmp"
|
|
||||||
|
|
||||||
SYSLIBS=" $OPENMP -lpthread -shared-intel "
|
|
||||||
|
|
||||||
# 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}/lib64 -lmpi_mt -lmpifort -lrt $OPENMP -threads -lpthread -shared-intel "
|
|
||||||
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
|
|
||||||
LOW_OPT_CODES_CASI=""
|
|
||||||
|
|
||||||
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 "
|
|
||||||
|
|
||||||
|
|
||||||
HIGH_OPT_CODES_CASI="arithkernels.c blockedroutines.c blockedroutines_fd.c elemmatgenkernels.c longvecroutines.c sfmultutils.c solvewithbd.c"
|
|
||||||
|
|
||||||
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
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,52 +0,0 @@
|
||||||
#!/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
|
|
|
@ -1,52 +0,0 @@
|
||||||
#!/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
|
|
|
@ -1,52 +0,0 @@
|
||||||
#!/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
|
|
|
@ -1,41 +0,0 @@
|
||||||
#!/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
|
|
|
@ -1,765 +0,0 @@
|
||||||
#
|
|
||||||
# General definitions for the Marc 2017 version
|
|
||||||
#
|
|
||||||
# EM64T
|
|
||||||
#
|
|
||||||
# Linux RedHat 6.7 / RedHat 7.1 / SuSE 11 SP3
|
|
||||||
#
|
|
||||||
# 64 bit MPI version
|
|
||||||
#
|
|
||||||
# Intel(R) Fortran Intel(R) 64 Compiler XE for applications
|
|
||||||
# running on Intel(R) 64, Version 16.0.2.181 Build 20160204
|
|
||||||
#
|
|
||||||
# Intel(R) C Intel(R) 64 Compiler XE for applications
|
|
||||||
# running on Intel(R) 64, Version 16.0.2.181 Build 20160204
|
|
||||||
#
|
|
||||||
# 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 5.1.3
|
|
||||||
# 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_2016/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
|
|
||||||
|
|
||||||
# settings for MKL
|
|
||||||
MARC_MKL="$FCOMPROOT/mkl/lib/intel64"
|
|
||||||
|
|
||||||
#
|
|
||||||
# settings for Metis
|
|
||||||
#
|
|
||||||
METIS="-I$METIS_SOURCE/include"
|
|
||||||
METISLIBS="$MARC_LIB/metis.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/"
|
|
||||||
|
|
||||||
|
|
||||||
SOLVERFLAGS=
|
|
||||||
if test "$BCSGPUSOLVER" = BCSGPU
|
|
||||||
then
|
|
||||||
SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA"
|
|
||||||
BCS_DIR=bcsgpusolver
|
|
||||||
export PATH=$MARC_CUDA/bin:$MARC_CUDA/nvvm:$PATH
|
|
||||||
export LD_LIBRARY_PATH=$MARC_CUDA/lib64:$LD_LIBRARY_PATH
|
|
||||||
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}/include64 -DDDM"
|
|
||||||
PATH=$MPI_ROOT/bin64:$PATH
|
|
||||||
export PATH
|
|
||||||
LD_LIBRARY_PATH=$MPI_ROOT/lib64:$LD_LIBRARY_PATH
|
|
||||||
export LD_LIBRARY_PATH
|
|
||||||
if test $INTELMPI_VERSION = HYDRA
|
|
||||||
then
|
|
||||||
RUN_JOB1="${MPI_ROOT}/bin64/mpiexec.hydra -genvall -n "
|
|
||||||
RUN_JOB2="${MPI_ROOT}/bin64/mpiexec.hydra -genvall"
|
|
||||||
else
|
|
||||||
RUN_JOB1="${MPI_ROOT}/bin64/mpiexec -n "
|
|
||||||
RUN_JOB2="${MPI_ROOT}/bin64/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
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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="-real-size 64 -integer-size 32"
|
|
||||||
I8DEFINES="-DFLOAT=8 -DINT=4"
|
|
||||||
I8CDEFINES=
|
|
||||||
I8CASIDEFS=
|
|
||||||
else
|
|
||||||
I8FFLAGS="-i8 -real-size 64 -integer-size 64"
|
|
||||||
I8DEFINES="-DI64 -DFLOAT=8 -DINT=8"
|
|
||||||
I8CDEFINES="-U_DOUBLE -D_SINGLE"
|
|
||||||
I8CASIDEFS="-DCASI_64BIT_INT=1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
MTHREAD=OPENMP
|
|
||||||
if test "$MARC_OPENMP" = "NONE" ; then
|
|
||||||
MTHREAD=NONE
|
|
||||||
fi
|
|
||||||
#MTHREAD=NONE
|
|
||||||
if test "$_OEM_NASTRAN" -ne 0
|
|
||||||
then
|
|
||||||
MTHREAD=NONE
|
|
||||||
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"
|
|
||||||
|
|
||||||
CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource $METIS"
|
|
||||||
if test "$_OEM_NASTRAN" -ne 0
|
|
||||||
then
|
|
||||||
CINCL="$CINCL -I../../include"
|
|
||||||
fi
|
|
||||||
|
|
||||||
CC="icc -c -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
|
||||||
CCLOW="icc -c -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
|
||||||
CCHIGH="icc -c -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
|
||||||
|
|
||||||
if test "$MARCDEBUG" = "ON"
|
|
||||||
then
|
|
||||||
CC="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
|
||||||
CCLOW="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
|
||||||
CCHIGH="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
|
||||||
fi
|
|
||||||
|
|
||||||
LOAD_CC="icc -O1 -DLinux -DLINUX -DLinux_intel"
|
|
||||||
CCT="$CC"
|
|
||||||
CCTLOW="$CCLOW"
|
|
||||||
CCTHIGH="$CCHIGH"
|
|
||||||
|
|
||||||
CC_CASI="$CC -std=c99 $I8CASIDEFS"
|
|
||||||
CCLOW_CASI="$CCLOW -std=c99 $I8CASIDEFS"
|
|
||||||
CCHIGH_CASI="$CCHIGH -std=c99 $I8CASIDEFS"
|
|
||||||
|
|
||||||
CCT_CASI="$CCT -std=c99 $I8CASIDEFS"
|
|
||||||
CCTLOW_CASI="$CCLOW -std=c99 $I8CASIDEFS"
|
|
||||||
CCTHIGH_CASI="$CCHIGH -std=c99 $I8CASIDEFS"
|
|
||||||
|
|
||||||
#PROFILE="-Mprof=func"
|
|
||||||
#PROFILE="-Mprof=lines"
|
|
||||||
#PROFILE="-Mprof=func,mpi"
|
|
||||||
PROFILE=
|
|
||||||
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
|
|
||||||
|
|
||||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
||||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/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 \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
||||||
FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/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 -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2017 -DDAMASKVERSION=$DAMASKVERSION \
|
|
||||||
-qopenmp -qopenmp-threadprivate=compat\
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
||||||
DFORTRANMP="$FCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2017 -DDAMASKVERSION=$DAMASKVERSION \
|
|
||||||
-qopenmp -qopenmp-threadprivate=compat\
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
||||||
DFORTHIGHMP="$FCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB -fno-alias -O2 $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2017 -DDAMASKVERSION=$DAMASKVERSION \
|
|
||||||
-qopenmp -qopenmp-threadprivate=compat\
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/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 \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
||||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
||||||
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
||||||
FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
|
||||||
|
|
||||||
# DAMASK compiler calls: additional flags are in line 2 OpenMP flags in line 3
|
|
||||||
DFORTLOWMP="$FCOMP -c -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=2017 -DDAMASKVERSION=$DAMASKVERSION \
|
|
||||||
-qopenmp -qopenmp-threadprivate=compat\
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
||||||
DFORTRANMP="$FCOMP -c -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=2017 -DDAMASKVERSION=$DAMASKVERSION \
|
|
||||||
-qopenmp -qopenmp-threadprivate=compat\
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
||||||
DFORTHIGHMP="$FCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2017 -DDAMASKVERSION=$DAMASKVERSION \
|
|
||||||
-qopenmp -qopenmp-threadprivate=compat\
|
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
|
||||||
|
|
||||||
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"
|
|
||||||
|
|
||||||
FORTRANMUMPS="$FCOMP -fpp $FORT_OPT $PROFILE -fno-alias -O1 -fp-model precise $FDEFINES -D_IMPLICITNONE $I8FFLAGS $I8DEFINES $DDM -I$MARC_SOURCE/mumpssolver/include -Dintel_ -DALLOW_NON_INIT -Dmetis -DMPI_I8 -nofor_main"
|
|
||||||
CCMUMPS="icc -c -DAdd_ -Dmetis -I$MARC_SOURCE/mumpssolver/include"
|
|
||||||
if test "$MARC_INTEGER_SIZE" = "i8" ; then
|
|
||||||
CCMUMPS="$CCMUMPS -DINTSIZE64"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
BCSCC="icc -c -O3 -DLOWERCASE_ -I${MARC_SOURCE}/${BCS_DIR}/bcslib_csrc $CDEFINES $CINCL"
|
|
||||||
NVCC="nvcc -c -O3 -arch sm_20 -DLOWERCASE_ -I${MARC_SOURCE}/${BCS_DIR}/bcslib_cuda/include -I${MARC_CUDA}/include -I$MARC_SOURCE/mdsrc $I8DEFINES -Xcompiler -fvisibility=hidden -Xcompiler -fPIC $I8DEFINES "
|
|
||||||
NVCCLIB="ar rvl"
|
|
||||||
NVCCLD=icc
|
|
||||||
BCSFORTLOW="$FORTLOW -I${MARC_SOURCE}/${BCS_DIR}/common"
|
|
||||||
BCSFORTRAN="$FORTRAN -I${MARC_SOURCE}/${BCS_DIR}/common"
|
|
||||||
BCSFORTHIGH="$FORTHIGH -I${MARC_SOURCE}/${BCS_DIR}/common"
|
|
||||||
BCSFORT90HIGH="$BCSFORTHIGH"
|
|
||||||
if test "$MARCDEBUG" = "ON"
|
|
||||||
then
|
|
||||||
BCSFORTRAN=$BCSFORTLOW
|
|
||||||
BCSFORTHIGH=$BCSFORTLOW
|
|
||||||
BCSFORT90HIGH=$BCSFORTLOW
|
|
||||||
fi
|
|
||||||
|
|
||||||
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/include64 -I$VT_ROOT/include"
|
|
||||||
# LOAD="$MPI_ROOT/bin64/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
|
||||||
# LOADT="$MPI_ROOT/bin64/$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"
|
|
||||||
CC_CASI="$CC_CASI -fPIC"
|
|
||||||
CCLOW_CASI="$CCLOW_CASI -fPIC"
|
|
||||||
CCHIGH_CASI="$CCHIGH_CASI -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
|
|
||||||
|
|
||||||
|
|
||||||
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="$MARC_CASI/casilib.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="$MARC_LIB/libmumps.a"
|
|
||||||
if test $MPITYPE = none
|
|
||||||
then
|
|
||||||
MUMPSSOLVERLIBS2=
|
|
||||||
echo hello > /dev/null
|
|
||||||
fi
|
|
||||||
if test $MPITYPE = intelmpi
|
|
||||||
then
|
|
||||||
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
|
|
||||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
|
||||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_lp64.a"
|
|
||||||
else
|
|
||||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_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
|
|
||||||
CUDALIBS="-L$MARC_CUDA/lib64 -lcudart -lcublas -L/usr/lib64 -lcuda "
|
|
||||||
else
|
|
||||||
BCSSOLVERLIBS="${MARC_LIB}/bcslib.a "
|
|
||||||
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_core.a $MARC_MKL/libmkl_intel_thread.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_core.a $MARC_MKL/libmkl_intel_thread.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 "
|
|
||||||
|
|
||||||
SOLVERLIBS_DLL=${SOLVERLIBS}
|
|
||||||
|
|
||||||
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 $SFMATDIR/sfclib.a "
|
|
||||||
else
|
|
||||||
SFLIB=" "
|
|
||||||
fi
|
|
||||||
|
|
||||||
OPENMP="-qopenmp"
|
|
||||||
|
|
||||||
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}/lib64 -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
|
|
||||||
LOW_OPT_CODES_CASI=""
|
|
||||||
|
|
||||||
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 "
|
|
||||||
|
|
||||||
|
|
||||||
HIGH_OPT_CODES_CASI="arithkernels.c blockedroutines.c blockedroutines_fd.c elemmatgenkernels.c longvecroutines.c sfmultutils.c solvewithbd.c"
|
|
||||||
|
|
||||||
MAXNUM=1000000
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# This script opens a window running an editor.
|
|
||||||
# The command to invoke the editor is specified during DAMASK installation
|
|
||||||
|
|
||||||
%EDITOR% $*
|
|
|
@ -1,18 +0,0 @@
|
||||||
#!/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 $*
|
|
|
@ -1,8 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ "$1" = "" ]; then
|
|
||||||
echo "usage: $0 job_name"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo STOP > $1.cnt
|
|
|
@ -1,8 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ "$1" = "" ]; then
|
|
||||||
echo "usage: $0 job_name"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo STOP > $1.cnt
|
|
|
@ -1,8 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ "$1" = "" ]; then
|
|
||||||
echo "usage: $0 job_name"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo STOP > $1.cnt
|
|
|
@ -1,8 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ "$1" = "" ]; then
|
|
||||||
echo "usage: $0 job_name"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo STOP > $1.cnt
|
|
|
@ -1,186 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# The exit status of this script is read by Mentat.
|
|
||||||
# Normal exit status is 0.
|
|
||||||
#
|
|
||||||
|
|
||||||
DIR=/opt/msc/marc2017
|
|
||||||
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
|
|
||||||
autorst=$4
|
|
||||||
copy_datfile="-ci $5"
|
|
||||||
copy_postfile="-cr $6"
|
|
||||||
scr_dir=$7
|
|
||||||
dcoup=$8
|
|
||||||
assem_recov_nthread=$9
|
|
||||||
shift 9 # cannot use $10, $11, ...
|
|
||||||
nthread=$1
|
|
||||||
nsolver=$2
|
|
||||||
mode=$3
|
|
||||||
gpu=$4
|
|
||||||
|
|
||||||
if [ "$slv" != "" -a "$slv" != "marc" ]; then
|
|
||||||
slv="-iam sfm"
|
|
||||||
else
|
|
||||||
slv=""
|
|
||||||
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 -autorst $autorst \
|
|
||||||
$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
|
|
|
@ -1,187 +0,0 @@
|
||||||
#!/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
|
|
||||||
autorst=$4
|
|
||||||
copy_datfile="-ci $5"
|
|
||||||
copy_postfile="-cr $6"
|
|
||||||
scr_dir=$7
|
|
||||||
dcoup=$8
|
|
||||||
assem_recov_nthread=$9
|
|
||||||
shift 9 # cannot use $10, $11, ...
|
|
||||||
nthread=$1
|
|
||||||
nsolver=$2
|
|
||||||
mode=$3
|
|
||||||
gpu=$4
|
|
||||||
|
|
||||||
if [ "$slv" != "" -a "$slv" != "marc" ]; then
|
|
||||||
slv="-iam sfm"
|
|
||||||
else
|
|
||||||
slv=""
|
|
||||||
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 -autorst $autorst \
|
|
||||||
$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
|
|
|
@ -1,187 +0,0 @@
|
||||||
#!/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
|
|
||||||
autorst=$4
|
|
||||||
copy_datfile="-ci $5"
|
|
||||||
copy_postfile="-cr $6"
|
|
||||||
scr_dir=$7
|
|
||||||
dcoup=$8
|
|
||||||
assem_recov_nthread=$9
|
|
||||||
shift 9 # cannot use $10, $11, ...
|
|
||||||
nthread=$1
|
|
||||||
nsolver=$2
|
|
||||||
mode=$3
|
|
||||||
gpu=$4
|
|
||||||
|
|
||||||
if [ "$slv" != "" -a "$slv" != "marc" ]; then
|
|
||||||
slv="-iam sfm"
|
|
||||||
else
|
|
||||||
slv=""
|
|
||||||
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 -autorst $autorst \
|
|
||||||
$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
|
|
|
@ -1,187 +0,0 @@
|
||||||
#!/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
|
|
||||||
autorst=$4
|
|
||||||
copy_datfile="-ci $5"
|
|
||||||
copy_postfile="-cr $6"
|
|
||||||
scr_dir=$7
|
|
||||||
dcoup=$8
|
|
||||||
assem_recov_nthread=$9
|
|
||||||
shift 9 # cannot use $10, $11, ...
|
|
||||||
nthread=$1
|
|
||||||
nsolver=$2
|
|
||||||
mode=$3
|
|
||||||
gpu=$4
|
|
||||||
|
|
||||||
if [ "$slv" != "" -a "$slv" != "marc" ]; then
|
|
||||||
slv="-iam sfm"
|
|
||||||
else
|
|
||||||
slv=""
|
|
||||||
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 -autorst $autorst \
|
|
||||||
$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
|
|
|
@ -1,17 +1,17 @@
|
||||||
#
|
#
|
||||||
# General definitions for the Marc 2016 version
|
# General definitions for the Marc 2018.1 version
|
||||||
#
|
#
|
||||||
# EM64T
|
# EM64T
|
||||||
#
|
#
|
||||||
# Linux RedHat 6.3 / SuSE 11
|
# Linux RedHat 7.1 / SuSE 11 SP4
|
||||||
#
|
#
|
||||||
# 64 bit MPI version
|
# 64 bit MPI version
|
||||||
#
|
#
|
||||||
# Intel(R) Fortran Intel(R) 64 Compiler XE for applications
|
# Intel(R) Fortran Intel(R) 64 Compiler XE for applications
|
||||||
# running on Intel(R) 64, Version 15.0.0.090 Build 20140723
|
# running on Intel(R) 64, Version 17.0.2.174 Build 20170213
|
||||||
#
|
#
|
||||||
# Intel(R) C Intel(R) 64 Compiler XE for applications
|
# Intel(R) C Intel(R) 64 Compiler XE for applications
|
||||||
# running on Intel(R) 64, Version 15.0.0.090 Build 20140723
|
# running on Intel(R) 64, Version 17.0.2.174 Build 20170213
|
||||||
#
|
#
|
||||||
# To check the O/S level, type:
|
# To check the O/S level, type:
|
||||||
# uname -a
|
# uname -a
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
# 1) HP MPI 2.3
|
# 1) HP MPI 2.3
|
||||||
# To check the mpi version, type:
|
# To check the mpi version, type:
|
||||||
# mpirun -version
|
# mpirun -version
|
||||||
# 2) Intel MPI 5.1.3
|
# 2) Intel MPI 2017.1
|
||||||
# To check the mpi version, type:
|
# To check the mpi version, type:
|
||||||
# mpiexec.hydra -version
|
# mpiexec.hydra -version
|
||||||
#
|
#
|
||||||
|
@ -64,7 +64,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FCOMP=ifort
|
FCOMP=ifort
|
||||||
INTELPATH="/opt/intel/composer_xe_2015.0.090"
|
INTELPATH="/opt/intel/compilers_and_libraries_2017/linux"
|
||||||
|
|
||||||
# find the root directory of the compiler installation:
|
# find the root directory of the compiler installation:
|
||||||
# - if ifort is found in $PATH, then the root directory is derived
|
# - if ifort is found in $PATH, then the root directory is derived
|
||||||
|
@ -99,14 +99,25 @@ else
|
||||||
FCOMPROOT=
|
FCOMPROOT=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# AEM
|
||||||
|
if test "$MARCDLLOUTDIR" = ""; then
|
||||||
|
DLLOUTDIR="$MARC_LIB"
|
||||||
|
else
|
||||||
|
DLLOUTDIR="$MARCDLLOUTDIR"
|
||||||
|
fi
|
||||||
|
|
||||||
# settings for MKL
|
# settings for MKL
|
||||||
MARC_MKL="$FCOMPROOT/mkl/lib/intel64"
|
if test "$IMKLDIR" = ""; then
|
||||||
|
MARC_MKL="$FCOMPROOT/mkl/lib/intel64"
|
||||||
|
else
|
||||||
|
MARC_MKL=$IMKLDIR/lib/intel64
|
||||||
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# settings for Metis
|
# settings for Metis
|
||||||
#
|
#
|
||||||
METIS="-I$METIS_SOURCE/include"
|
METIS="-I$METIS_SOURCE/include"
|
||||||
METISLIBS="$MARC_LIB/metis.a "
|
METISLIBS="$METISLIB_DIR/libmarcddm.a $METISLIB_DIR/libmarcmetis.a "
|
||||||
|
|
||||||
#
|
#
|
||||||
# settings for MPI
|
# settings for MPI
|
||||||
|
@ -149,13 +160,31 @@ fi
|
||||||
#BCSGPUSOLVER=NONE
|
#BCSGPUSOLVER=NONE
|
||||||
BCSGPUSOLVER=BCSGPU
|
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/"
|
||||||
|
|
||||||
|
# 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=
|
SOLVERFLAGS=
|
||||||
if test "$BCSGPUSOLVER" = BCSGPU
|
if test "$BCSGPUSOLVER" = BCSGPU
|
||||||
then
|
then
|
||||||
SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA"
|
SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA"
|
||||||
BCS_DIR=bcsgpusolver
|
BCS_DIR=bcsgpusolver
|
||||||
export PATH=$MARC_CUDA/bin:$MARC_CUDA/nvvm:$PATH
|
|
||||||
export LD_LIBRARY_PATH=$MARC_CUDA/lib64:$LD_LIBRARY_PATH
|
|
||||||
else
|
else
|
||||||
BCS_DIR=bcssolver
|
BCS_DIR=bcssolver
|
||||||
fi
|
fi
|
||||||
|
@ -198,18 +227,18 @@ then
|
||||||
INTELMPI_VERSION=HYDRA
|
INTELMPI_VERSION=HYDRA
|
||||||
FCOMPMPI=mpiifort
|
FCOMPMPI=mpiifort
|
||||||
MPI_ROOT=$MARC_INTELMPI
|
MPI_ROOT=$MARC_INTELMPI
|
||||||
DDM="-I${MPI_ROOT}/include64 -DDDM"
|
DDM="-I${MPI_ROOT}/include -DDDM"
|
||||||
PATH=$MPI_ROOT/bin64:$PATH
|
PATH=$MPI_ROOT/bin:$PATH
|
||||||
export PATH
|
export PATH
|
||||||
LD_LIBRARY_PATH=$MPI_ROOT/lib64:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MPI_ROOT/lib:$LD_LIBRARY_PATH
|
||||||
export LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH
|
||||||
if test $INTELMPI_VERSION = HYDRA
|
if test $INTELMPI_VERSION = HYDRA
|
||||||
then
|
then
|
||||||
RUN_JOB1="${MPI_ROOT}/bin64/mpiexec.hydra -genvall -n "
|
RUN_JOB1="${MPI_ROOT}/bin/mpiexec.hydra -genvall -n "
|
||||||
RUN_JOB2="${MPI_ROOT}/bin64/mpiexec.hydra -genvall"
|
RUN_JOB2="${MPI_ROOT}/bin/mpiexec.hydra -genvall"
|
||||||
else
|
else
|
||||||
RUN_JOB1="${MPI_ROOT}/bin64/mpiexec -n "
|
RUN_JOB1="${MPI_ROOT}/bin/mpiexec -n "
|
||||||
RUN_JOB2="${MPI_ROOT}/bin64/mpiexec -configfile "
|
RUN_JOB2="${MPI_ROOT}/bin/mpiexec -configfile "
|
||||||
fi
|
fi
|
||||||
RUN_JOB0=
|
RUN_JOB0=
|
||||||
MPI_CLEAN=
|
MPI_CLEAN=
|
||||||
|
@ -283,6 +312,15 @@ then
|
||||||
BCSGPUSOLVER=NONE
|
BCSGPUSOLVER=NONE
|
||||||
MARC_DLL=NONE
|
MARC_DLL=NONE
|
||||||
fi
|
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
|
# define Fortran and C compile syntax
|
||||||
|
@ -356,12 +394,10 @@ if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||||
I8FFLAGS="-real-size 64 -integer-size 32"
|
I8FFLAGS="-real-size 64 -integer-size 32"
|
||||||
I8DEFINES="-DFLOAT=8 -DINT=4"
|
I8DEFINES="-DFLOAT=8 -DINT=4"
|
||||||
I8CDEFINES=
|
I8CDEFINES=
|
||||||
I8CASIDEFS=
|
|
||||||
else
|
else
|
||||||
I8FFLAGS="-i8 -real-size 64 -integer-size 64"
|
I8FFLAGS="-i8 -real-size 64 -integer-size 64"
|
||||||
I8DEFINES="-DI64 -DFLOAT=8 -DINT=8"
|
I8DEFINES="-DI64 -DFLOAT=8 -DINT=8"
|
||||||
I8CDEFINES="-U_DOUBLE -D_SINGLE"
|
I8CDEFINES="-U_DOUBLE -D_SINGLE"
|
||||||
I8CASIDEFS="-DCASI_64BIT_INT=1"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
MTHREAD=OPENMP
|
MTHREAD=OPENMP
|
||||||
|
@ -373,6 +409,18 @@ if test "$_OEM_NASTRAN" -ne 0
|
||||||
then
|
then
|
||||||
MTHREAD=NONE
|
MTHREAD=NONE
|
||||||
fi
|
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=NO
|
||||||
OMP_COMPAT=YES
|
OMP_COMPAT=YES
|
||||||
|
@ -406,40 +454,45 @@ fi
|
||||||
FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT $MARC_SIMUFACT"
|
FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT $MARC_SIMUFACT"
|
||||||
CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES"
|
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"
|
CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource $METIS"
|
||||||
if test "$_OEM_NASTRAN" -ne 0
|
if test "$_OEM_NASTRAN" -ne 0
|
||||||
then
|
then
|
||||||
CINCL="$CINCL -I../../include"
|
CINCL="$CINCL -I../../include"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CC="icc -c -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS "
|
CC_OPT=
|
||||||
CCLOW="icc -c -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS "
|
if test "$MTHREAD" = "OPENMP"
|
||||||
CCHIGH="icc -c -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS "
|
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"
|
if test "$MARCDEBUG" = "ON"
|
||||||
then
|
then
|
||||||
CC="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS "
|
CC="icc -c $CC_OPT -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||||
CCLOW="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS "
|
CCLOW="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||||
CCHIGH="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS "
|
CCHIGH="icc $CC_OPT -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||||
fi
|
fi
|
||||||
|
|
||||||
LOAD_CC="icc -O1 -DLinux -DLINUX -DLinux_intel"
|
LOAD_CC="icc $CC_OPT -O1 -DLinux -DLINUX -DLinux_intel"
|
||||||
CCT="$CC"
|
CCT="$CC"
|
||||||
CCTLOW="$CCLOW"
|
CCTLOW="$CCLOW"
|
||||||
CCTHIGH="$CCHIGH"
|
CCTHIGH="$CCHIGH"
|
||||||
|
|
||||||
CC_CASI="$CC -std=c99 $I8CASIDEFS"
|
|
||||||
CCLOW_CASI="$CCLOW -std=c99 $I8CASIDEFS"
|
|
||||||
CCHIGH_CASI="$CCHIGH -std=c99 $I8CASIDEFS"
|
|
||||||
|
|
||||||
CCT_CASI="$CCT -std=c99 $I8CASIDEFS"
|
|
||||||
CCTLOW_CASI="$CCLOW -std=c99 $I8CASIDEFS"
|
|
||||||
CCTHIGH_CASI="$CCHIGH -std=c99 $I8CASIDEFS"
|
|
||||||
|
|
||||||
#PROFILE="-Mprof=func"
|
#PROFILE="-Mprof=func"
|
||||||
#PROFILE="-Mprof=lines"
|
#PROFILE="-Mprof=lines"
|
||||||
#PROFILE="-Mprof=func,mpi"
|
#PROFILE="-Mprof=func,mpi"
|
||||||
PROFILE=
|
PROFILE=
|
||||||
|
#PROFILE="-init=snan,arrays -CB -traceback -fpe0 -fp-stack-check -check all -check uninit -ftrapuv"
|
||||||
if test "$MARCCODECOV" = "ON"
|
if test "$MARCCODECOV" = "ON"
|
||||||
then
|
then
|
||||||
PROFILE="-prof-gen=srcpos"
|
PROFILE="-prof-gen=srcpos"
|
||||||
|
@ -449,7 +502,7 @@ then
|
||||||
PROFILE=" $PROFILE -pg"
|
PROFILE=" $PROFILE -pg"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FORT_OPT="-c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr -mp1 -WB -fp-model source"
|
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"
|
if test "$MTHREAD" = "OPENMP"
|
||||||
then
|
then
|
||||||
FORT_OPT=" $FORT_OPT -qopenmp"
|
FORT_OPT=" $FORT_OPT -qopenmp"
|
||||||
|
@ -463,13 +516,15 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
$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 \
|
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
$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 \
|
FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
$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
|
# determine DAMASK version
|
||||||
if test -n "$DAMASK_USER"; then
|
if test -n "$DAMASK_USER"; then
|
||||||
|
@ -480,46 +535,54 @@ else
|
||||||
DAMASKVERSION="'N/A'"
|
DAMASKVERSION="'N/A'"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "$DAMASK_HDF5" = "ON";then
|
||||||
|
DFCOMP="$(h5fc -show) -DDAMASKHDF5"
|
||||||
|
else
|
||||||
|
DFCOMP=$FCOMP
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
# DAMASK compiler calls: additional flags are in line 2 OpenMP flags in line 3
|
# DAMASK compiler calls: additional flags are in line 2 OpenMP flags in line 3
|
||||||
DFORTLOWMP="$FCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTLOWMP="$DFCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2016 -DDAMASKVERSION=$DAMASKVERSION \
|
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2018.1 -DDAMASKVERSION=$DAMASKVERSION \
|
||||||
-qopenmp -qopenmp-threadprivate=compat\
|
-qopenmp -qopenmp-threadprivate=compat\
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||||
DFORTRANMP="$FCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTRANMP="$DFCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2016 -DDAMASKVERSION=$DAMASKVERSION \
|
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2018.1 -DDAMASKVERSION=$DAMASKVERSION \
|
||||||
-qopenmp -qopenmp-threadprivate=compat\
|
-qopenmp -qopenmp-threadprivate=compat\
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||||
DFORTHIGHMP="$FCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB -fno-alias -O2 $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTHIGHMP="$DFCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB -fno-alias -O2 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2016 -DDAMASKVERSION=$DAMASKVERSION \
|
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2018.1 -DDAMASKVERSION=$DAMASKVERSION \
|
||||||
-qopenmp -qopenmp-threadprivate=compat\
|
-qopenmp -qopenmp-threadprivate=compat\
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||||
|
|
||||||
|
|
||||||
if test "$MARCDEBUG" = "ON"
|
if test "$MARCDEBUG" = "ON"
|
||||||
then
|
then
|
||||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
$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 \
|
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||||
FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||||
|
fi
|
||||||
|
|
||||||
# DAMASK compiler calls: additional flags are in line 2 OpenMP flags in line 3
|
# DAMASK compiler calls: additional flags are in line 2 OpenMP flags in line 3
|
||||||
DFORTLOWMP="$FCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTLOWMP="$DFCOMP -c -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=2016 -DDAMASKVERSION=$DAMASKVERSION \
|
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2018.1 -DDAMASKVERSION=$DAMASKVERSION \
|
||||||
-qopenmp -qopenmp-threadprivate=compat\
|
-qopenmp -qopenmp-threadprivate=compat\
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||||
DFORTRANMP="$FCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTRANMP="$DFCOMP -c -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=2016 -DDAMASKVERSION=$DAMASKVERSION \
|
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2018.1 -DDAMASKVERSION=$DAMASKVERSION \
|
||||||
-qopenmp -qopenmp-threadprivate=compat\
|
-qopenmp -qopenmp-threadprivate=compat\
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||||
DFORTHIGHMP="$FCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
DFORTHIGHMP="$DFCOMP -c -implicitnone -stand f08 -standard-semantics -assume nostd_mod_proc_name -safe_cray_ptr $PROFILE -zero -mp1 -WB -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2016 -DDAMASKVERSION=$DAMASKVERSION \
|
-fpp -ftz -diag-disable 5268 -warn declarations -warn general -warn usage -warn interfaces -warn ignore_loc -warn alignments -DMarc4DAMASK=2018.1 -DDAMASKVERSION=$DAMASKVERSION \
|
||||||
-qopenmp -qopenmp-threadprivate=compat\
|
-qopenmp -qopenmp-threadprivate=compat\
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
FORTLOWT="$FORTLOW"
|
FORTLOWT="$FORTLOW"
|
||||||
FORTRANT="$FORTRAN"
|
FORTRANT="$FORTRAN"
|
||||||
|
@ -528,25 +591,6 @@ FORTHIGHT="$FORTHIGH"
|
||||||
FORTRANMNF="$FCOMP -c $FDEFINES "
|
FORTRANMNF="$FCOMP -c $FDEFINES "
|
||||||
CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE"
|
CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE"
|
||||||
|
|
||||||
FORTRANMUMPS="$FCOMP -fpp $FORT_OPT $PROFILE -fno-alias -O1 -fp-model precise $FDEFINES -D_IMPLICITNONE $I8FFLAGS $I8DEFINES $DDM -I$MARC_SOURCE/mumpssolver/include -Dintel_ -DALLOW_NON_INIT -Dmetis -nofor_main"
|
|
||||||
CCMUMPS="icc -c -DAdd_ -Dmetis -I$MARC_SOURCE/mumpssolver/include"
|
|
||||||
|
|
||||||
|
|
||||||
BCSCC="icc -c -O3 -DLOWERCASE_ -I${MARC_SOURCE}/${BCS_DIR}/bcslib_csrc $CDEFINES $CINCL"
|
|
||||||
NVCC="nvcc -c -O3 -arch sm_20 -DLOWERCASE_ -I${MARC_SOURCE}/${BCS_DIR}/bcslib_cuda/include -I${MARC_CUDA}/include -I$MARC_SOURCE/mdsrc $I8DEFINES -Xcompiler -fvisibility=hidden -Xcompiler -fPIC $I8DEFINES "
|
|
||||||
NVCCLIB="ar rvl"
|
|
||||||
NVCCLD=icc
|
|
||||||
BCSFORTLOW="$FORTLOW -I${MARC_SOURCE}/${BCS_DIR}/common"
|
|
||||||
BCSFORTRAN="$FORTRAN -I${MARC_SOURCE}/${BCS_DIR}/common"
|
|
||||||
BCSFORTHIGH="$FORTHIGH -I${MARC_SOURCE}/${BCS_DIR}/common"
|
|
||||||
BCSFORT90HIGH="$BCSFORTHIGH"
|
|
||||||
if test "$MARCDEBUG" = "ON"
|
|
||||||
then
|
|
||||||
BCSFORTRAN=$BCSFORTLOW
|
|
||||||
BCSFORTHIGH=$BCSFORTLOW
|
|
||||||
BCSFORT90HIGH=$BCSFORTLOW
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $MPITYPE != none
|
if test $MPITYPE != none
|
||||||
then
|
then
|
||||||
if test $MPITYPE = hpmpi
|
if test $MPITYPE = hpmpi
|
||||||
|
@ -557,9 +601,9 @@ then
|
||||||
# Uncomment the following lines to turn on the tracer and commnet out the next 5 lines
|
# Uncomment the following lines to turn on the tracer and commnet out the next 5 lines
|
||||||
# if test $MPITYPE = intelmpi
|
# if test $MPITYPE = intelmpi
|
||||||
# then
|
# then
|
||||||
# INCLUDEMPI="-I$MPI_ROOT/include64 -I$VT_ROOT/include"
|
# INCLUDEMPI="-I$MPI_ROOT/include -I$VT_ROOT/include"
|
||||||
# LOAD="$MPI_ROOT/bin64/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
# LOAD="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
||||||
# LOADT="$MPI_ROOT/bin64/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
# LOADT="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
||||||
# fi
|
# fi
|
||||||
if test $MPITYPE = intelmpi
|
if test $MPITYPE = intelmpi
|
||||||
then
|
then
|
||||||
|
@ -579,9 +623,6 @@ then
|
||||||
FORTRANMNF="$FORTRANMNF -fpp -fPIC"
|
FORTRANMNF="$FORTRANMNF -fpp -fPIC"
|
||||||
CC="$CC -fPIC"
|
CC="$CC -fPIC"
|
||||||
CCMNF="$CCMNF -fPIC"
|
CCMNF="$CCMNF -fPIC"
|
||||||
CC_CASI="$CC_CASI -fPIC"
|
|
||||||
CCLOW_CASI="$CCLOW_CASI -fPIC"
|
|
||||||
CCHIGH_CASI="$CCHIGH_CASI -fPIC"
|
|
||||||
LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread"
|
LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread"
|
||||||
LINK_MARC_DLL="-shared -fPIC"
|
LINK_MARC_DLL="-shared -fPIC"
|
||||||
LOAD_DLL=$LOAD
|
LOAD_DLL=$LOAD
|
||||||
|
@ -589,6 +630,21 @@ then
|
||||||
EXT_DLL="so"
|
EXT_DLL="so"
|
||||||
fi
|
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 "
|
XLIBS="-L/usr/X11/lib -lX11 "
|
||||||
|
|
||||||
|
@ -614,7 +670,7 @@ fi
|
||||||
|
|
||||||
if test "$CASISOLVER" = CASI
|
if test "$CASISOLVER" = CASI
|
||||||
then
|
then
|
||||||
CASISOLVERLIBS="$MARC_CASI/casilib.a"
|
CASISOLVERLIBS="$CASILIB_DIR/libmarccasi.a $CASILIB_DIR/libcasi.a"
|
||||||
else
|
else
|
||||||
CASISOLVERLIBS=
|
CASISOLVERLIBS=
|
||||||
fi
|
fi
|
||||||
|
@ -637,7 +693,7 @@ fi
|
||||||
|
|
||||||
if test "$MUMPSSOLVER" = MUMPS
|
if test "$MUMPSSOLVER" = MUMPS
|
||||||
then
|
then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a"
|
||||||
if test $MPITYPE = none
|
if test $MPITYPE = none
|
||||||
then
|
then
|
||||||
MUMPSSOLVERLIBS2=
|
MUMPSSOLVERLIBS2=
|
||||||
|
@ -654,9 +710,9 @@ then
|
||||||
if test $MPITYPE = hpmpi
|
if test $MPITYPE = hpmpi
|
||||||
then
|
then
|
||||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_lp64.a"
|
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a"
|
||||||
else
|
else
|
||||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_ilp64.a"
|
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
@ -666,29 +722,35 @@ fi
|
||||||
|
|
||||||
if test "$BCSGPUSOLVER" = BCSGPU
|
if test "$BCSGPUSOLVER" = BCSGPU
|
||||||
then
|
then
|
||||||
BCSSOLVERLIBS="${MARC_LIB}/bcsgpulib.a "
|
BCSSOLVERLIBS="${BCSLIB_DIR}/bcsgpulib.a "
|
||||||
MARCCUDALIBS1="-L${MARC_LIB}/cuda_dummy -lmarccuda "
|
MARCCUDALIBS1="-L${BCSLIB_DIR}/cuda_dummy -lmarccuda "
|
||||||
MARCCUDALIBS2="-L${MARC_LIB}/cuda -lmarccuda "
|
MARCCUDALIBS2="-L${BCSLIB_DIR}/cuda -lmarccuda "
|
||||||
MARCCUDALIBS=$MARCCUDALIBS1
|
MARCCUDALIBS=$MARCCUDALIBS1
|
||||||
CUDALIBS="-L$MARC_CUDA/lib64 -lcudart -lcublas -L/usr/lib64 -lcuda "
|
|
||||||
else
|
else
|
||||||
BCSSOLVERLIBS="${MARC_LIB}/bcslib.a "
|
BCSSOLVERLIBS="${MARC_LIB}/bcslib.a "
|
||||||
fi
|
fi
|
||||||
|
if test "$AEM_DLL" -eq 1
|
||||||
|
then
|
||||||
|
BCSSOLVERLIBS=
|
||||||
|
fi
|
||||||
|
|
||||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
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_core.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group"
|
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
|
else
|
||||||
MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a -Wl,--start-group $MARC_MKL/libmkl_intel_ilp64.a $MARC_MKL/libmkl_core.a $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a -Wl,--end-group"
|
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
|
fi
|
||||||
|
|
||||||
SECLIBS="-L$MARC_LIB -llapi"
|
SECLIBS="-L$MARC_LIB -llapi"
|
||||||
|
|
||||||
SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS} ${MUMPSSOLVERLIBS2} \
|
SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS} \
|
||||||
$MKLLIB -L$MARC_MKL -liomp5 \
|
$MKLLIB -L$MARC_MKL -liomp5 \
|
||||||
$MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a "
|
$MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/kdtree2.a "
|
||||||
|
|
||||||
SOLVERLIBS_DLL=${SOLVERLIBS}
|
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}"
|
MRCLIBS="$MARC_LIB/clib.a ${CASISOLVERLIBS}"
|
||||||
MRCLIBSPAR="$MARC_LIB/clib.a"
|
MRCLIBSPAR="$MARC_LIB/clib.a"
|
||||||
STUBS="$MARC_LIB/stubs.a "
|
STUBS="$MARC_LIB/stubs.a "
|
||||||
|
@ -703,7 +765,15 @@ fi
|
||||||
|
|
||||||
OPENMP="-qopenmp"
|
OPENMP="-qopenmp"
|
||||||
|
|
||||||
SYSLIBS=" $OPENMP -lpthread "
|
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
|
# Uncomment the following lines to turn on the trace and comment out the next 4 lines
|
||||||
# if test $MPITYPE = intelmpi
|
# if test $MPITYPE = intelmpi
|
||||||
|
@ -713,7 +783,7 @@ SYSLIBS=" $OPENMP -lpthread "
|
||||||
# fi
|
# fi
|
||||||
if test $MPITYPE = intelmpi
|
if test $MPITYPE = intelmpi
|
||||||
then
|
then
|
||||||
SYSLIBS="-L${MPI_ROOT}/lib64 -lmpi_mt -lmpifort -lrt $OPENMP -threads -lpthread "
|
SYSLIBS="-L${MPI_ROOT}/lib -lmpi_mt -lmpifort -lrt $OPENMP -threads -lpthread -cxxlib"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
@ -740,13 +810,11 @@ LOW_OPT_CODES="are163.f contro.f ndext.f omarc.f omarca.f omarcb.f omarcc.f \
|
||||||
if test "$MARC_INTEGER_SIZE" = "i8" ; then
|
if test "$MARC_INTEGER_SIZE" = "i8" ; then
|
||||||
LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f"
|
LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f"
|
||||||
fi
|
fi
|
||||||
LOW_OPT_CODES_CASI=""
|
|
||||||
|
|
||||||
HIGH_OPT_CODES="dpsmsa1.f dpsmsa2.f dpsmsa3.f dpsmsa4.f dpsmsa5.f dpsmsa6.f \
|
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 \
|
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 "
|
dpsmsa13.f dpsmsa14.f dpsmsa15.f dpsmsa16.f dpsmsah.f tpsmsah.f cn_qsort4_11.f "
|
||||||
|
|
||||||
|
|
||||||
HIGH_OPT_CODES_CASI="arithkernels.c blockedroutines.c blockedroutines_fd.c elemmatgenkernels.c longvecroutines.c sfmultutils.c solvewithbd.c"
|
|
||||||
|
|
||||||
MAXNUM=1000000
|
MAXNUM=1000000
|
|
@ -1,17 +1,17 @@
|
||||||
#
|
#
|
||||||
# General definitions for the Marc 2017 version
|
# General definitions for the Marc 2018.1 version
|
||||||
#
|
#
|
||||||
# EM64T
|
# EM64T
|
||||||
#
|
#
|
||||||
# Linux RedHat 6.7 / RedHat 7.1 / SuSE 11 SP3
|
# Linux RedHat 7.1 / SuSE 11 SP4
|
||||||
#
|
#
|
||||||
# 64 bit MPI version
|
# 64 bit MPI version
|
||||||
#
|
#
|
||||||
# Intel(R) Fortran Intel(R) 64 Compiler XE for applications
|
# Intel(R) Fortran Intel(R) 64 Compiler XE for applications
|
||||||
# running on Intel(R) 64, Version 16.0.2.181 Build 20160204
|
# running on Intel(R) 64, Version 17.0.2.174 Build 20170213
|
||||||
#
|
#
|
||||||
# Intel(R) C Intel(R) 64 Compiler XE for applications
|
# Intel(R) C Intel(R) 64 Compiler XE for applications
|
||||||
# running on Intel(R) 64, Version 16.0.2.181 Build 20160204
|
# running on Intel(R) 64, Version 17.0.2.174 Build 20170213
|
||||||
#
|
#
|
||||||
# To check the O/S level, type:
|
# To check the O/S level, type:
|
||||||
# uname -a
|
# uname -a
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
# 1) HP MPI 2.3
|
# 1) HP MPI 2.3
|
||||||
# To check the mpi version, type:
|
# To check the mpi version, type:
|
||||||
# mpirun -version
|
# mpirun -version
|
||||||
# 2) Intel MPI 5.1.3
|
# 2) Intel MPI 2017.1
|
||||||
# To check the mpi version, type:
|
# To check the mpi version, type:
|
||||||
# mpiexec.hydra -version
|
# mpiexec.hydra -version
|
||||||
#
|
#
|
||||||
|
@ -64,7 +64,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FCOMP=ifort
|
FCOMP=ifort
|
||||||
INTELPATH="/opt/intel/compilers_and_libraries_2016/linux"
|
INTELPATH="/opt/intel/compilers_and_libraries_2017/linux"
|
||||||
|
|
||||||
# find the root directory of the compiler installation:
|
# find the root directory of the compiler installation:
|
||||||
# - if ifort is found in $PATH, then the root directory is derived
|
# - if ifort is found in $PATH, then the root directory is derived
|
||||||
|
@ -99,14 +99,25 @@ else
|
||||||
FCOMPROOT=
|
FCOMPROOT=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# AEM
|
||||||
|
if test "$MARCDLLOUTDIR" = ""; then
|
||||||
|
DLLOUTDIR="$MARC_LIB"
|
||||||
|
else
|
||||||
|
DLLOUTDIR="$MARCDLLOUTDIR"
|
||||||
|
fi
|
||||||
|
|
||||||
# settings for MKL
|
# settings for MKL
|
||||||
MARC_MKL="$FCOMPROOT/mkl/lib/intel64"
|
if test "$IMKLDIR" = ""; then
|
||||||
|
MARC_MKL="$FCOMPROOT/mkl/lib/intel64"
|
||||||
|
else
|
||||||
|
MARC_MKL=$IMKLDIR/lib/intel64
|
||||||
|
fi
|
||||||
|
|
||||||
#
|
#
|
||||||
# settings for Metis
|
# settings for Metis
|
||||||
#
|
#
|
||||||
METIS="-I$METIS_SOURCE/include"
|
METIS="-I$METIS_SOURCE/include"
|
||||||
METISLIBS="$MARC_LIB/metis.a "
|
METISLIBS="$METISLIB_DIR/libmarcddm.a $METISLIB_DIR/libmarcmetis.a "
|
||||||
|
|
||||||
#
|
#
|
||||||
# settings for MPI
|
# settings for MPI
|
||||||
|
@ -156,14 +167,24 @@ then
|
||||||
fi
|
fi
|
||||||
OPENSSL_INCLUDE=-I"$MARC_OPENSSL/include/"
|
OPENSSL_INCLUDE=-I"$MARC_OPENSSL/include/"
|
||||||
|
|
||||||
|
# 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=
|
SOLVERFLAGS=
|
||||||
if test "$BCSGPUSOLVER" = BCSGPU
|
if test "$BCSGPUSOLVER" = BCSGPU
|
||||||
then
|
then
|
||||||
SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA"
|
SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU -DCUDA"
|
||||||
BCS_DIR=bcsgpusolver
|
BCS_DIR=bcsgpusolver
|
||||||
export PATH=$MARC_CUDA/bin:$MARC_CUDA/nvvm:$PATH
|
|
||||||
export LD_LIBRARY_PATH=$MARC_CUDA/lib64:$LD_LIBRARY_PATH
|
|
||||||
else
|
else
|
||||||
BCS_DIR=bcssolver
|
BCS_DIR=bcssolver
|
||||||
fi
|
fi
|
||||||
|
@ -206,18 +227,18 @@ then
|
||||||
INTELMPI_VERSION=HYDRA
|
INTELMPI_VERSION=HYDRA
|
||||||
FCOMPMPI=mpiifort
|
FCOMPMPI=mpiifort
|
||||||
MPI_ROOT=$MARC_INTELMPI
|
MPI_ROOT=$MARC_INTELMPI
|
||||||
DDM="-I${MPI_ROOT}/include64 -DDDM"
|
DDM="-I${MPI_ROOT}/include -DDDM"
|
||||||
PATH=$MPI_ROOT/bin64:$PATH
|
PATH=$MPI_ROOT/bin:$PATH
|
||||||
export PATH
|
export PATH
|
||||||
LD_LIBRARY_PATH=$MPI_ROOT/lib64:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MPI_ROOT/lib:$LD_LIBRARY_PATH
|
||||||
export LD_LIBRARY_PATH
|
export LD_LIBRARY_PATH
|
||||||
if test $INTELMPI_VERSION = HYDRA
|
if test $INTELMPI_VERSION = HYDRA
|
||||||
then
|
then
|
||||||
RUN_JOB1="${MPI_ROOT}/bin64/mpiexec.hydra -genvall -n "
|
RUN_JOB1="${MPI_ROOT}/bin/mpiexec.hydra -genvall -n "
|
||||||
RUN_JOB2="${MPI_ROOT}/bin64/mpiexec.hydra -genvall"
|
RUN_JOB2="${MPI_ROOT}/bin/mpiexec.hydra -genvall"
|
||||||
else
|
else
|
||||||
RUN_JOB1="${MPI_ROOT}/bin64/mpiexec -n "
|
RUN_JOB1="${MPI_ROOT}/bin/mpiexec -n "
|
||||||
RUN_JOB2="${MPI_ROOT}/bin64/mpiexec -configfile "
|
RUN_JOB2="${MPI_ROOT}/bin/mpiexec -configfile "
|
||||||
fi
|
fi
|
||||||
RUN_JOB0=
|
RUN_JOB0=
|
||||||
MPI_CLEAN=
|
MPI_CLEAN=
|
||||||
|
@ -291,6 +312,15 @@ then
|
||||||
BCSGPUSOLVER=NONE
|
BCSGPUSOLVER=NONE
|
||||||
MARC_DLL=NONE
|
MARC_DLL=NONE
|
||||||
fi
|
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
|
# define Fortran and C compile syntax
|
||||||
|
@ -364,12 +394,10 @@ if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||||
I8FFLAGS=
|
I8FFLAGS=
|
||||||
I8DEFINES=
|
I8DEFINES=
|
||||||
I8CDEFINES=
|
I8CDEFINES=
|
||||||
I8CASIDEFS=
|
|
||||||
else
|
else
|
||||||
I8FFLAGS="-i8"
|
I8FFLAGS="-i8"
|
||||||
I8DEFINES="-DI64"
|
I8DEFINES="-DI64"
|
||||||
I8CDEFINES="-U_DOUBLE -D_SINGLE"
|
I8CDEFINES="-U_DOUBLE -D_SINGLE"
|
||||||
I8CASIDEFS="-DCASI_64BIT_INT=1"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
MTHREAD=OPENMP
|
MTHREAD=OPENMP
|
||||||
|
@ -381,6 +409,18 @@ if test "$_OEM_NASTRAN" -ne 0
|
||||||
then
|
then
|
||||||
MTHREAD=NONE
|
MTHREAD=NONE
|
||||||
fi
|
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=NO
|
||||||
OMP_COMPAT=YES
|
OMP_COMPAT=YES
|
||||||
|
@ -414,40 +454,45 @@ fi
|
||||||
FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT $MARC_SIMUFACT"
|
FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT $MARC_SIMUFACT"
|
||||||
CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES"
|
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"
|
CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource $METIS"
|
||||||
if test "$_OEM_NASTRAN" -ne 0
|
if test "$_OEM_NASTRAN" -ne 0
|
||||||
then
|
then
|
||||||
CINCL="$CINCL -I../../include"
|
CINCL="$CINCL -I../../include"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CC="icc -c -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
CC_OPT=
|
||||||
CCLOW="icc -c -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
if test "$MTHREAD" = "OPENMP"
|
||||||
CCHIGH="icc -c -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
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"
|
if test "$MARCDEBUG" = "ON"
|
||||||
then
|
then
|
||||||
CC="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
CC="icc -c $CC_OPT -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL $SOLVERFLAGS $OPENSSL_INCLUDE "
|
||||||
CCLOW="icc -c -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 -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
|
fi
|
||||||
|
|
||||||
LOAD_CC="icc -O1 -DLinux -DLINUX -DLinux_intel"
|
LOAD_CC="icc $CC_OPT -O1 -DLinux -DLINUX -DLinux_intel"
|
||||||
CCT="$CC"
|
CCT="$CC"
|
||||||
CCTLOW="$CCLOW"
|
CCTLOW="$CCLOW"
|
||||||
CCTHIGH="$CCHIGH"
|
CCTHIGH="$CCHIGH"
|
||||||
|
|
||||||
CC_CASI="$CC -std=c99 $I8CASIDEFS"
|
|
||||||
CCLOW_CASI="$CCLOW -std=c99 $I8CASIDEFS"
|
|
||||||
CCHIGH_CASI="$CCHIGH -std=c99 $I8CASIDEFS"
|
|
||||||
|
|
||||||
CCT_CASI="$CCT -std=c99 $I8CASIDEFS"
|
|
||||||
CCTLOW_CASI="$CCLOW -std=c99 $I8CASIDEFS"
|
|
||||||
CCTHIGH_CASI="$CCHIGH -std=c99 $I8CASIDEFS"
|
|
||||||
|
|
||||||
#PROFILE="-Mprof=func"
|
#PROFILE="-Mprof=func"
|
||||||
#PROFILE="-Mprof=lines"
|
#PROFILE="-Mprof=lines"
|
||||||
#PROFILE="-Mprof=func,mpi"
|
#PROFILE="-Mprof=func,mpi"
|
||||||
PROFILE=
|
PROFILE=
|
||||||
|
#PROFILE="-init=snan,arrays -CB -traceback -fpe0 -fp-stack-check -check all -check uninit -ftrapuv"
|
||||||
if test "$MARCCODECOV" = "ON"
|
if test "$MARCCODECOV" = "ON"
|
||||||
then
|
then
|
||||||
PROFILE="-prof-gen=srcpos"
|
PROFILE="-prof-gen=srcpos"
|
||||||
|
@ -471,26 +516,26 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
FORTLOW="$FCOMP $FORT_OPT $PROFILE -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
FORTRAN="$FCOMP $FORT_OPT $PROFILE -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
$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 \
|
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
$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 \
|
FORTNA="$FCOMP $FORT_OPT -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||||
# for compiling free form f90 files. high opt, integer(4)
|
# for compiling free form f90 files. high opt, integer(4)
|
||||||
FORTF90="$FCOMP -c -O3"
|
FORTF90="$FCOMP -c -O3"
|
||||||
|
|
||||||
if test "$MARCDEBUG" = "ON"
|
if test "$MARCDEBUG" = "ON"
|
||||||
then
|
then
|
||||||
FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
FORTLOW="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||||
FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
FORTRAN="$FCOMP $FORT_OPT $PROFILE $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
$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 \
|
FORTHIGH="$FCOMP $FORT_OPT $PROFILE -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS -I$KDTREE2_MOD"
|
||||||
FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
FORTNA="$FCOMP $FORT_OPT -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
-I$MARC_SOURCE/${BCS_DIR}/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
$MUMPS_INCLUDE $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FORTLOWT="$FORTLOW"
|
FORTLOWT="$FORTLOW"
|
||||||
|
@ -500,27 +545,6 @@ FORTHIGHT="$FORTHIGH"
|
||||||
FORTRANMNF="$FCOMP -c $FDEFINES "
|
FORTRANMNF="$FCOMP -c $FDEFINES "
|
||||||
CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE"
|
CCMNF="icc -c -O1 -DLinux -DLINUX -DLinux_intel -Dport2egcs -I$MARC_SOURCE/marctoadams/mnf/include -D_LARGEFILE64_SOURCE"
|
||||||
|
|
||||||
FORTRANMUMPS="$FCOMP -fpp $FORT_OPT $PROFILE -fno-alias -O1 -fp-model precise $FDEFINES -D_IMPLICITNONE $I8FFLAGS $I8DEFINES $DDM -I$MARC_SOURCE/mumpssolver/include -Dintel_ -DALLOW_NON_INIT -Dmetis -DMPI_I8 -nofor_main"
|
|
||||||
CCMUMPS="icc -c -DAdd_ -Dmetis -I$MARC_SOURCE/mumpssolver/include"
|
|
||||||
if test "$MARC_INTEGER_SIZE" = "i8" ; then
|
|
||||||
CCMUMPS="$CCMUMPS -DINTSIZE64"
|
|
||||||
fi
|
|
||||||
|
|
||||||
BCSCC="icc -c -O3 -DLOWERCASE_ -I${MARC_SOURCE}/${BCS_DIR}/bcslib_csrc $CDEFINES $CINCL"
|
|
||||||
NVCC="nvcc -c -O3 -arch sm_20 -DLOWERCASE_ -I${MARC_SOURCE}/${BCS_DIR}/bcslib_cuda/include -I${MARC_CUDA}/include -I$MARC_SOURCE/mdsrc $I8DEFINES -Xcompiler -fvisibility=hidden -Xcompiler -fPIC $I8DEFINES "
|
|
||||||
NVCCLIB="ar rvl"
|
|
||||||
NVCCLD=icc
|
|
||||||
BCSFORTLOW="$FORTLOW -I${MARC_SOURCE}/${BCS_DIR}/common"
|
|
||||||
BCSFORTRAN="$FORTRAN -I${MARC_SOURCE}/${BCS_DIR}/common"
|
|
||||||
BCSFORTHIGH="$FORTHIGH -I${MARC_SOURCE}/${BCS_DIR}/common"
|
|
||||||
BCSFORT90HIGH="$BCSFORTHIGH"
|
|
||||||
if test "$MARCDEBUG" = "ON"
|
|
||||||
then
|
|
||||||
BCSFORTRAN=$BCSFORTLOW
|
|
||||||
BCSFORTHIGH=$BCSFORTLOW
|
|
||||||
BCSFORT90HIGH=$BCSFORTLOW
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $MPITYPE != none
|
if test $MPITYPE != none
|
||||||
then
|
then
|
||||||
if test $MPITYPE = hpmpi
|
if test $MPITYPE = hpmpi
|
||||||
|
@ -531,9 +555,9 @@ then
|
||||||
# Uncomment the following lines to turn on the tracer and commnet out the next 5 lines
|
# Uncomment the following lines to turn on the tracer and commnet out the next 5 lines
|
||||||
# if test $MPITYPE = intelmpi
|
# if test $MPITYPE = intelmpi
|
||||||
# then
|
# then
|
||||||
# INCLUDEMPI="-I$MPI_ROOT/include64 -I$VT_ROOT/include"
|
# INCLUDEMPI="-I$MPI_ROOT/include -I$VT_ROOT/include"
|
||||||
# LOAD="$MPI_ROOT/bin64/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
# LOAD="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
||||||
# LOADT="$MPI_ROOT/bin64/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
# LOADT="$MPI_ROOT/bin/$FCOMPMPI $PROFILE $INCLUDEMPI -g -t=log $LINK_OPT -o "
|
||||||
# fi
|
# fi
|
||||||
if test $MPITYPE = intelmpi
|
if test $MPITYPE = intelmpi
|
||||||
then
|
then
|
||||||
|
@ -553,9 +577,6 @@ then
|
||||||
FORTRANMNF="$FORTRANMNF -fpp -fPIC"
|
FORTRANMNF="$FORTRANMNF -fpp -fPIC"
|
||||||
CC="$CC -fPIC"
|
CC="$CC -fPIC"
|
||||||
CCMNF="$CCMNF -fPIC"
|
CCMNF="$CCMNF -fPIC"
|
||||||
CC_CASI="$CC_CASI -fPIC"
|
|
||||||
CCLOW_CASI="$CCLOW_CASI -fPIC"
|
|
||||||
CCHIGH_CASI="$CCHIGH_CASI -fPIC"
|
|
||||||
LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread"
|
LINK_EXE_MARC="-L$MARC_LIB -lmarc -L$MARC_LIB_SHARED -lguide -lpthread"
|
||||||
LINK_MARC_DLL="-shared -fPIC"
|
LINK_MARC_DLL="-shared -fPIC"
|
||||||
LOAD_DLL=$LOAD
|
LOAD_DLL=$LOAD
|
||||||
|
@ -563,6 +584,21 @@ then
|
||||||
EXT_DLL="so"
|
EXT_DLL="so"
|
||||||
fi
|
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 "
|
XLIBS="-L/usr/X11/lib -lX11 "
|
||||||
|
|
||||||
|
@ -588,7 +624,7 @@ fi
|
||||||
|
|
||||||
if test "$CASISOLVER" = CASI
|
if test "$CASISOLVER" = CASI
|
||||||
then
|
then
|
||||||
CASISOLVERLIBS="$MARC_CASI/casilib.a"
|
CASISOLVERLIBS="$CASILIB_DIR/libmarccasi.a $CASILIB_DIR/libcasi.a"
|
||||||
else
|
else
|
||||||
CASISOLVERLIBS=
|
CASISOLVERLIBS=
|
||||||
fi
|
fi
|
||||||
|
@ -611,7 +647,7 @@ fi
|
||||||
|
|
||||||
if test "$MUMPSSOLVER" = MUMPS
|
if test "$MUMPSSOLVER" = MUMPS
|
||||||
then
|
then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a"
|
||||||
if test $MPITYPE = none
|
if test $MPITYPE = none
|
||||||
then
|
then
|
||||||
MUMPSSOLVERLIBS2=
|
MUMPSSOLVERLIBS2=
|
||||||
|
@ -628,9 +664,9 @@ then
|
||||||
if test $MPITYPE = hpmpi
|
if test $MPITYPE = hpmpi
|
||||||
then
|
then
|
||||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_lp64.a"
|
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_lp64.a"
|
||||||
else
|
else
|
||||||
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_ilp64.a"
|
MUMPSSOLVERLIBS2=" $MARC_MKL/libmkl_blacs_intelmpi_ilp64.a"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
@ -640,19 +676,22 @@ fi
|
||||||
|
|
||||||
if test "$BCSGPUSOLVER" = BCSGPU
|
if test "$BCSGPUSOLVER" = BCSGPU
|
||||||
then
|
then
|
||||||
BCSSOLVERLIBS="${MARC_LIB}/bcsgpulib.a "
|
BCSSOLVERLIBS="${BCSLIB_DIR}/bcsgpulib.a "
|
||||||
MARCCUDALIBS1="-L${MARC_LIB}/cuda_dummy -lmarccuda "
|
MARCCUDALIBS1="-L${BCSLIB_DIR}/cuda_dummy -lmarccuda "
|
||||||
MARCCUDALIBS2="-L${MARC_LIB}/cuda -lmarccuda "
|
MARCCUDALIBS2="-L${BCSLIB_DIR}/cuda -lmarccuda "
|
||||||
MARCCUDALIBS=$MARCCUDALIBS1
|
MARCCUDALIBS=$MARCCUDALIBS1
|
||||||
CUDALIBS="-L$MARC_CUDA/lib64 -lcudart -lcublas -L/usr/lib64 -lcuda "
|
|
||||||
else
|
else
|
||||||
BCSSOLVERLIBS="${MARC_LIB}/bcslib.a "
|
BCSSOLVERLIBS="${MARC_LIB}/bcslib.a "
|
||||||
fi
|
fi
|
||||||
|
if test "$AEM_DLL" -eq 1
|
||||||
|
then
|
||||||
|
BCSSOLVERLIBS=
|
||||||
|
fi
|
||||||
|
|
||||||
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||||
MKLLIB="$MARC_MKL/libmkl_scalapack_lp64.a $MARC_MKL/libmkl_blacs_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"
|
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
|
else
|
||||||
MKLLIB="$MARC_MKL/libmkl_scalapack_ilp64.a $MARC_MKL/libmkl_blacs_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"
|
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
|
fi
|
||||||
|
|
||||||
SECLIBS="-L$MARC_LIB -llapi"
|
SECLIBS="-L$MARC_LIB -llapi"
|
||||||
|
@ -662,7 +701,10 @@ SOLVERLIBS="${BCSSOLVERLIBS} ${VKISOLVERLIBS} ${CASISOLVERLIBS} ${MF2SOLVERLIBS}
|
||||||
$MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/kdtree2.a "
|
$MARC_LIB/blas_src.a ${ACSI_LIB}/ACSI_MarcLib.a $KDTREE2_LIB/kdtree2.a "
|
||||||
|
|
||||||
SOLVERLIBS_DLL=${SOLVERLIBS}
|
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}"
|
MRCLIBS="$MARC_LIB/clib.a ${CASISOLVERLIBS}"
|
||||||
MRCLIBSPAR="$MARC_LIB/clib.a"
|
MRCLIBSPAR="$MARC_LIB/clib.a"
|
||||||
STUBS="$MARC_LIB/stubs.a "
|
STUBS="$MARC_LIB/stubs.a "
|
||||||
|
@ -677,6 +719,14 @@ fi
|
||||||
|
|
||||||
OPENMP="-qopenmp"
|
OPENMP="-qopenmp"
|
||||||
|
|
||||||
|
if test "$AEM_DLL" -eq 1
|
||||||
|
then
|
||||||
|
LOAD_DLL=$LOAD
|
||||||
|
OPENMP=
|
||||||
|
LIBMNF=
|
||||||
|
OPENSSL=NONE
|
||||||
|
fi
|
||||||
|
|
||||||
SYSLIBS=" $OPENMP -lpthread -shared-intel -cxxlib"
|
SYSLIBS=" $OPENMP -lpthread -shared-intel -cxxlib"
|
||||||
|
|
||||||
# Uncomment the following lines to turn on the trace and comment out the next 4 lines
|
# Uncomment the following lines to turn on the trace and comment out the next 4 lines
|
||||||
|
@ -687,7 +737,7 @@ SYSLIBS=" $OPENMP -lpthread -shared-intel -cxxlib"
|
||||||
# fi
|
# fi
|
||||||
if test $MPITYPE = intelmpi
|
if test $MPITYPE = intelmpi
|
||||||
then
|
then
|
||||||
SYSLIBS="-L${MPI_ROOT}/lib64 -lmpi_mt -lmpifort -lrt $OPENMP -threads -lpthread -shared-intel -cxxlib"
|
SYSLIBS="-L${MPI_ROOT}/lib -lmpi_mt -lmpifort -lrt $OPENMP -threads -lpthread -shared-intel -cxxlib"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
@ -714,13 +764,11 @@ LOW_OPT_CODES="are163.f contro.f ndext.f omarc.f omarca.f omarcb.f omarcc.f \
|
||||||
if test "$MARC_INTEGER_SIZE" = "i8" ; then
|
if test "$MARC_INTEGER_SIZE" = "i8" ; then
|
||||||
LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f"
|
LOW_OPT_CODES="$LOW_OPT_CODES bbcseg.f"
|
||||||
fi
|
fi
|
||||||
LOW_OPT_CODES_CASI=""
|
|
||||||
|
|
||||||
HIGH_OPT_CODES="dpsmsa1.f dpsmsa2.f dpsmsa3.f dpsmsa4.f dpsmsa5.f dpsmsa6.f \
|
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 \
|
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 "
|
dpsmsa13.f dpsmsa14.f dpsmsa15.f dpsmsa16.f dpsmsah.f tpsmsah.f cn_qsort4_11.f "
|
||||||
|
|
||||||
|
|
||||||
HIGH_OPT_CODES_CASI="arithkernels.c blockedroutines.c blockedroutines_fd.c elemmatgenkernels.c longvecroutines.c sfmultutils.c solvewithbd.c"
|
|
||||||
|
|
||||||
MAXNUM=1000000
|
MAXNUM=1000000
|
|
@ -374,6 +374,12 @@ fi
|
||||||
# the one for IBM is defined futher down
|
# the one for IBM is defined futher down
|
||||||
|
|
||||||
LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH
|
||||||
|
if test -f "/etc/redhat-release"; then
|
||||||
|
ver=`cat /etc/redhat-release | sed 's/.* release \([0-9]\).\([0-9]\+\) .*/\1\2/'`
|
||||||
|
case "$ver" in
|
||||||
|
6*) LD_LIBRARY_PATH="${MARC_LIB_SHARED}rh67:$LD_LIBRARY_PATH" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH
|
||||||
LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH
|
||||||
LD_LIBRARY_PATH=$SFMATDIR:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$SFMATDIR:$LD_LIBRARY_PATH
|
||||||
|
@ -533,7 +539,7 @@ if test -n "$value"; then
|
||||||
. $MARC_INCLUDE
|
. $MARC_INCLUDE
|
||||||
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
||||||
if test "$MUMPSSOLVER" = MUMPS; then
|
if test "$MUMPSSOLVER" = MUMPS; then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a_$value"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a_$value"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -807,14 +813,14 @@ do
|
||||||
. $MARC_INCLUDE
|
. $MARC_INCLUDE
|
||||||
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
||||||
if test "$MUMPSSOLVER" = MUMPS; then
|
if test "$MUMPSSOLVER" = MUMPS; then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a_$value"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a_$value"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
exefile=marc
|
exefile=marc
|
||||||
. $MARC_INCLUDE
|
. $MARC_INCLUDE
|
||||||
MDSRCLIB=$MARC_LIB/mdsrc.a
|
MDSRCLIB=$MARC_LIB/mdsrc.a
|
||||||
if test "$MUMPSSOLVER" = MUMPS; then
|
if test "$MUMPSSOLVER" = MUMPS; then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
|
@ -374,6 +374,12 @@ fi
|
||||||
# the one for IBM is defined futher down
|
# the one for IBM is defined futher down
|
||||||
|
|
||||||
LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH
|
||||||
|
if test -f "/etc/redhat-release"; then
|
||||||
|
ver=`cat /etc/redhat-release | sed 's/.* release \([0-9]\).\([0-9]\+\) .*/\1\2/'`
|
||||||
|
case "$ver" in
|
||||||
|
6*) LD_LIBRARY_PATH="${MARC_LIB_SHARED}rh67:$LD_LIBRARY_PATH" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH
|
||||||
LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH
|
||||||
LD_LIBRARY_PATH=$SFMATDIR:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$SFMATDIR:$LD_LIBRARY_PATH
|
||||||
|
@ -533,7 +539,7 @@ if test -n "$value"; then
|
||||||
. $MARC_INCLUDE
|
. $MARC_INCLUDE
|
||||||
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
||||||
if test "$MUMPSSOLVER" = MUMPS; then
|
if test "$MUMPSSOLVER" = MUMPS; then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a_$value"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a_$value"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -807,14 +813,14 @@ do
|
||||||
. $MARC_INCLUDE
|
. $MARC_INCLUDE
|
||||||
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
||||||
if test "$MUMPSSOLVER" = MUMPS; then
|
if test "$MUMPSSOLVER" = MUMPS; then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a_$value"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a_$value"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
exefile=marc
|
exefile=marc
|
||||||
. $MARC_INCLUDE
|
. $MARC_INCLUDE
|
||||||
MDSRCLIB=$MARC_LIB/mdsrc.a
|
MDSRCLIB=$MARC_LIB/mdsrc.a
|
||||||
if test "$MUMPSSOLVER" = MUMPS; then
|
if test "$MUMPSSOLVER" = MUMPS; then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
|
@ -374,6 +374,12 @@ fi
|
||||||
# the one for IBM is defined futher down
|
# the one for IBM is defined futher down
|
||||||
|
|
||||||
LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH
|
||||||
|
if test -f "/etc/redhat-release"; then
|
||||||
|
ver=`cat /etc/redhat-release | sed 's/.* release \([0-9]\).\([0-9]\+\) .*/\1\2/'`
|
||||||
|
case "$ver" in
|
||||||
|
6*) LD_LIBRARY_PATH="${MARC_LIB_SHARED}rh67:$LD_LIBRARY_PATH" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH
|
||||||
LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH
|
||||||
LD_LIBRARY_PATH=$SFMATDIR:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$SFMATDIR:$LD_LIBRARY_PATH
|
||||||
|
@ -533,7 +539,7 @@ if test -n "$value"; then
|
||||||
. $MARC_INCLUDE
|
. $MARC_INCLUDE
|
||||||
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
||||||
if test "$MUMPSSOLVER" = MUMPS; then
|
if test "$MUMPSSOLVER" = MUMPS; then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a_$value"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a_$value"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -807,14 +813,14 @@ do
|
||||||
. $MARC_INCLUDE
|
. $MARC_INCLUDE
|
||||||
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
||||||
if test "$MUMPSSOLVER" = MUMPS; then
|
if test "$MUMPSSOLVER" = MUMPS; then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a_$value"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a_$value"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
exefile=marc
|
exefile=marc
|
||||||
. $MARC_INCLUDE
|
. $MARC_INCLUDE
|
||||||
MDSRCLIB=$MARC_LIB/mdsrc.a
|
MDSRCLIB=$MARC_LIB/mdsrc.a
|
||||||
if test "$MUMPSSOLVER" = MUMPS; then
|
if test "$MUMPSSOLVER" = MUMPS; then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
|
@ -358,6 +358,12 @@ fi
|
||||||
# the one for IBM is defined futher down
|
# the one for IBM is defined futher down
|
||||||
|
|
||||||
LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MARC_LIB_SHARED:$LD_LIBRARY_PATH
|
||||||
|
if test -f "/etc/redhat-release"; then
|
||||||
|
ver=`cat /etc/redhat-release | sed 's/.* release \([0-9]\).\([0-9]\+\) .*/\1\2/'`
|
||||||
|
case "$ver" in
|
||||||
|
6*) LD_LIBRARY_PATH="${MARC_LIB_SHARED}rh67:$LD_LIBRARY_PATH" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MARC_LIB:$LD_LIBRARY_PATH
|
||||||
LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$MESHERDIR:$LD_LIBRARY_PATH
|
||||||
LD_LIBRARY_PATH=$SFMATDIR:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$SFMATDIR:$LD_LIBRARY_PATH
|
||||||
|
@ -517,7 +523,7 @@ if test -n "$value"; then
|
||||||
. $MARC_INCLUDE
|
. $MARC_INCLUDE
|
||||||
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
||||||
if test "$MUMPSSOLVER" = MUMPS; then
|
if test "$MUMPSSOLVER" = MUMPS; then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a_$value"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a_$value"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -822,14 +828,14 @@ do
|
||||||
. $MARC_INCLUDE
|
. $MARC_INCLUDE
|
||||||
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
MDSRCLIB=$MARC_LIB/mdsrc.a_$value
|
||||||
if test "$MUMPSSOLVER" = MUMPS; then
|
if test "$MUMPSSOLVER" = MUMPS; then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a_$value"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a_$value"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
exefile=marc
|
exefile=marc
|
||||||
. $MARC_INCLUDE
|
. $MARC_INCLUDE
|
||||||
MDSRCLIB=$MARC_LIB/mdsrc.a
|
MDSRCLIB=$MARC_LIB/mdsrc.a
|
||||||
if test "$MUMPSSOLVER" = MUMPS; then
|
if test "$MUMPSSOLVER" = MUMPS; then
|
||||||
MUMPSSOLVERLIBS="$MARC_LIB/libmumps.a"
|
MUMPSSOLVERLIBS="$MUMPSLIB_DIR/libmumps.a"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
|
@ -4,7 +4,7 @@
|
||||||
# Normal exit status is 0.
|
# Normal exit status is 0.
|
||||||
#
|
#
|
||||||
|
|
||||||
DIR=/msc/marc2016
|
DIR=/nethome/f.roters/temp/msc/marc2018.1
|
||||||
if test $MARCDIR1
|
if test $MARCDIR1
|
||||||
then
|
then
|
||||||
DIR=$MARCDIR1
|
DIR=$MARCDIR1
|
|
@ -2,11 +2,9 @@
|
||||||
popmenu job_title_pm file jobs.ms
|
popmenu job_title_pm file jobs.ms
|
||||||
popdown job_title_ok file jobs.ms
|
popdown job_title_ok file jobs.ms
|
||||||
|
|
||||||
group job_solver_gr file job_common.ms
|
|
||||||
group user_domains_gr file domain_decomposition.ms
|
group user_domains_gr file domain_decomposition.ms
|
||||||
group user_domains_generate_gr file domain_decomposition.ms
|
group user_domains_generate_gr file domain_decomposition.ms
|
||||||
group user_domains_tail_gr file domain_decomposition.ms
|
group user_domains_tail_gr file domain_decomposition.ms
|
||||||
group job_solver_opts_gr file job_common.ms
|
|
||||||
group matrix_solver_gr file job_common.ms
|
group matrix_solver_gr file job_common.ms
|
||||||
popmenu ddm_options file job_common.ms
|
popmenu ddm_options file job_common.ms
|
||||||
|
|
||||||
|
@ -277,7 +275,7 @@ popmenu job_run_popmenu {
|
||||||
text "ADVANCED JOB SUBMISSION"
|
text "ADVANCED JOB SUBMISSION"
|
||||||
popmenu job_submit_adv_pm
|
popmenu job_submit_adv_pm
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
position +16 =
|
position +16 =
|
||||||
size 18 6
|
size 18 6
|
||||||
|
@ -384,7 +382,7 @@ popmenu job_run_popmenu {
|
||||||
border_color black
|
border_color black
|
||||||
}
|
}
|
||||||
|
|
||||||
float {
|
display {
|
||||||
position +32 =
|
position +32 =
|
||||||
size 18 4
|
size 18 4
|
||||||
display "job_time"
|
display "job_time"
|
||||||
|
@ -714,12 +712,15 @@ popmenu job_submit_adv_pm {
|
||||||
roller {
|
roller {
|
||||||
position +9 =
|
position +9 =
|
||||||
size 14 4
|
size 14 4
|
||||||
nvalues 23
|
nvalues 26
|
||||||
nvisible 23
|
nvisible 26
|
||||||
texts "DEFAULT"
|
texts "DEFAULT"
|
||||||
#if 0
|
#if 0
|
||||||
"2017"
|
"2018.1"
|
||||||
#endif
|
#endif
|
||||||
|
"2018"
|
||||||
|
"2017.1"
|
||||||
|
"2017"
|
||||||
"2016"
|
"2016"
|
||||||
"2015"
|
"2015"
|
||||||
"2014.2"
|
"2014.2"
|
||||||
|
@ -748,8 +749,11 @@ popmenu job_submit_adv_pm {
|
||||||
help job_param_version
|
help job_param_version
|
||||||
rollers "job_input_version_default"
|
rollers "job_input_version_default"
|
||||||
#if 0
|
#if 0
|
||||||
"job_input_version_2017"
|
"job_input_version_2018.1"
|
||||||
#endif
|
#endif
|
||||||
|
"job_input_version_2018"
|
||||||
|
"job_input_version_2017.1"
|
||||||
|
"job_input_version_2017"
|
||||||
"job_input_version_2016"
|
"job_input_version_2016"
|
||||||
"job_input_version_2015"
|
"job_input_version_2015"
|
||||||
"job_input_version_2014.2"
|
"job_input_version_2014.2"
|
||||||
|
@ -777,8 +781,11 @@ popmenu job_submit_adv_pm {
|
||||||
"job_input_version_k4"
|
"job_input_version_k4"
|
||||||
commands "*job_option version:default"
|
commands "*job_option version:default"
|
||||||
#if 0
|
#if 0
|
||||||
"*job_option version:2017"
|
"*job_option version:2018.1"
|
||||||
#endif
|
#endif
|
||||||
|
"*job_option version:2018"
|
||||||
|
"*job_option version:2017.1"
|
||||||
|
"*job_option version:2017"
|
||||||
"*job_option version:2016"
|
"*job_option version:2016"
|
||||||
"*job_option version:2015"
|
"*job_option version:2015"
|
||||||
"*job_option version:2014.2"
|
"*job_option version:2014.2"
|
||||||
|
@ -806,8 +813,11 @@ popmenu job_submit_adv_pm {
|
||||||
"*job_option version:k4"
|
"*job_option version:k4"
|
||||||
visibles "job_allows_input_version_default"
|
visibles "job_allows_input_version_default"
|
||||||
#if 0
|
#if 0
|
||||||
"job_allows_input_version_2017"
|
"job_allows_input_version_2018.1"
|
||||||
#endif
|
#endif
|
||||||
|
"job_allows_input_version_2018"
|
||||||
|
"job_allows_input_version_2017.1"
|
||||||
|
"job_allows_input_version_2017"
|
||||||
"job_allows_input_version_2016"
|
"job_allows_input_version_2016"
|
||||||
"job_allows_input_version_2015"
|
"job_allows_input_version_2015"
|
||||||
"job_allows_input_version_2014.2"
|
"job_allows_input_version_2014.2"
|
||||||
|
@ -1147,8 +1157,6 @@ popmenu damask {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
window {
|
window {
|
||||||
parent mentat
|
parent mentat
|
||||||
origin 38 8
|
origin 38 8
|
||||||
|
@ -1329,7 +1337,8 @@ group job_ddm_gr {
|
||||||
help job_run_ddm_use
|
help job_run_ddm_use
|
||||||
true_command "*job_option parallel:on"
|
true_command "*job_option parallel:on"
|
||||||
false_command "*job_option parallel:off"
|
false_command "*job_option parallel:off"
|
||||||
active "not(job_solver_it_ext)"
|
active "and(not(job_solver_it_ext),\
|
||||||
|
not(job_solver_mixed_direct_iterative))"
|
||||||
}
|
}
|
||||||
|
|
||||||
frame {
|
frame {
|
||||||
|
@ -1351,6 +1360,7 @@ group job_ddm_use_gr {
|
||||||
position 0 0
|
position 0 0
|
||||||
size 12 4
|
size 12 4
|
||||||
text "DECOMPOSITION IN"
|
text "DECOMPOSITION IN"
|
||||||
|
help job_run_ddm_generator
|
||||||
}
|
}
|
||||||
oneonly{
|
oneonly{
|
||||||
position +12 =
|
position +12 =
|
||||||
|
@ -1358,6 +1368,7 @@ group job_ddm_use_gr {
|
||||||
text "MARC"
|
text "MARC"
|
||||||
oneonly "*job_option ddm_generator:fea_solver"
|
oneonly "*job_option ddm_generator:fea_solver"
|
||||||
command "*job_option ddm_generator:fea_solver"
|
command "*job_option ddm_generator:fea_solver"
|
||||||
|
help job_run_ddm_generator
|
||||||
}
|
}
|
||||||
oneonly{
|
oneonly{
|
||||||
position +12 =
|
position +12 =
|
||||||
|
@ -1365,6 +1376,7 @@ group job_ddm_use_gr {
|
||||||
text "MENTAT"
|
text "MENTAT"
|
||||||
oneonly "*job_option ddm_generator:preprocessor"
|
oneonly "*job_option ddm_generator:preprocessor"
|
||||||
command "*job_option ddm_generator:preprocessor"
|
command "*job_option ddm_generator:preprocessor"
|
||||||
|
help job_run_ddm_generator
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,11 +2,9 @@
|
||||||
popmenu job_title_pm file jobs.ms
|
popmenu job_title_pm file jobs.ms
|
||||||
popdown job_title_ok file jobs.ms
|
popdown job_title_ok file jobs.ms
|
||||||
|
|
||||||
group job_solver_gr file job_common.ms
|
|
||||||
group user_domains_gr file domain_decomposition.ms
|
group user_domains_gr file domain_decomposition.ms
|
||||||
group user_domains_generate_gr file domain_decomposition.ms
|
group user_domains_generate_gr file domain_decomposition.ms
|
||||||
group user_domains_tail_gr file domain_decomposition.ms
|
group user_domains_tail_gr file domain_decomposition.ms
|
||||||
group job_solver_opts_gr file job_common.ms
|
|
||||||
group matrix_solver_gr file job_common.ms
|
group matrix_solver_gr file job_common.ms
|
||||||
popmenu ddm_options file job_common.ms
|
popmenu ddm_options file job_common.ms
|
||||||
|
|
||||||
|
@ -377,7 +375,7 @@ popmenu job_run_popmenu {
|
||||||
border_color black
|
border_color black
|
||||||
}
|
}
|
||||||
|
|
||||||
float {
|
display {
|
||||||
position +32 =
|
position +32 =
|
||||||
size 18 4
|
size 18 4
|
||||||
display "job_time"
|
display "job_time"
|
||||||
|
@ -707,12 +705,15 @@ popmenu job_submit_adv_pm {
|
||||||
roller {
|
roller {
|
||||||
position +9 =
|
position +9 =
|
||||||
size 14 4
|
size 14 4
|
||||||
nvalues 23
|
nvalues 26
|
||||||
nvisible 23
|
nvisible 26
|
||||||
texts "DEFAULT"
|
texts "DEFAULT"
|
||||||
#if 0
|
#if 0
|
||||||
"2017"
|
"2018.1"
|
||||||
#endif
|
#endif
|
||||||
|
"2018"
|
||||||
|
"2017.1"
|
||||||
|
"2017"
|
||||||
"2016"
|
"2016"
|
||||||
"2015"
|
"2015"
|
||||||
"2014.2"
|
"2014.2"
|
||||||
|
@ -741,8 +742,11 @@ popmenu job_submit_adv_pm {
|
||||||
help job_param_version
|
help job_param_version
|
||||||
rollers "job_input_version_default"
|
rollers "job_input_version_default"
|
||||||
#if 0
|
#if 0
|
||||||
"job_input_version_2017"
|
"job_input_version_2018.1"
|
||||||
#endif
|
#endif
|
||||||
|
"job_input_version_2018"
|
||||||
|
"job_input_version_2017.1"
|
||||||
|
"job_input_version_2017"
|
||||||
"job_input_version_2016"
|
"job_input_version_2016"
|
||||||
"job_input_version_2015"
|
"job_input_version_2015"
|
||||||
"job_input_version_2014.2"
|
"job_input_version_2014.2"
|
||||||
|
@ -770,8 +774,11 @@ popmenu job_submit_adv_pm {
|
||||||
"job_input_version_k4"
|
"job_input_version_k4"
|
||||||
commands "*job_option version:default"
|
commands "*job_option version:default"
|
||||||
#if 0
|
#if 0
|
||||||
"*job_option version:2017"
|
"*job_option version:2018.1"
|
||||||
#endif
|
#endif
|
||||||
|
"*job_option version:2018"
|
||||||
|
"*job_option version:2017.1"
|
||||||
|
"*job_option version:2017"
|
||||||
"*job_option version:2016"
|
"*job_option version:2016"
|
||||||
"*job_option version:2015"
|
"*job_option version:2015"
|
||||||
"*job_option version:2014.2"
|
"*job_option version:2014.2"
|
||||||
|
@ -799,8 +806,11 @@ popmenu job_submit_adv_pm {
|
||||||
"*job_option version:k4"
|
"*job_option version:k4"
|
||||||
visibles "job_allows_input_version_default"
|
visibles "job_allows_input_version_default"
|
||||||
#if 0
|
#if 0
|
||||||
"job_allows_input_version_2017"
|
"job_allows_input_version_2018.1"
|
||||||
#endif
|
#endif
|
||||||
|
"job_allows_input_version_2018"
|
||||||
|
"job_allows_input_version_2017.1"
|
||||||
|
"job_allows_input_version_2017"
|
||||||
"job_allows_input_version_2016"
|
"job_allows_input_version_2016"
|
||||||
"job_allows_input_version_2015"
|
"job_allows_input_version_2015"
|
||||||
"job_allows_input_version_2014.2"
|
"job_allows_input_version_2014.2"
|
||||||
|
@ -1192,7 +1202,8 @@ group job_ddm_gr {
|
||||||
help job_run_ddm_use
|
help job_run_ddm_use
|
||||||
true_command "*job_option parallel:on"
|
true_command "*job_option parallel:on"
|
||||||
false_command "*job_option parallel:off"
|
false_command "*job_option parallel:off"
|
||||||
active "not(job_solver_it_ext)"
|
active "and(not(job_solver_it_ext),\
|
||||||
|
not(job_solver_mixed_direct_iterative))"
|
||||||
}
|
}
|
||||||
|
|
||||||
frame {
|
frame {
|
||||||
|
@ -1214,6 +1225,7 @@ group job_ddm_use_gr {
|
||||||
position 0 0
|
position 0 0
|
||||||
size 12 4
|
size 12 4
|
||||||
text "DECOMPOSITION IN"
|
text "DECOMPOSITION IN"
|
||||||
|
help job_run_ddm_generator
|
||||||
}
|
}
|
||||||
oneonly{
|
oneonly{
|
||||||
position +12 =
|
position +12 =
|
||||||
|
@ -1221,6 +1233,7 @@ group job_ddm_use_gr {
|
||||||
text "MARC"
|
text "MARC"
|
||||||
oneonly "*job_option ddm_generator:fea_solver"
|
oneonly "*job_option ddm_generator:fea_solver"
|
||||||
command "*job_option ddm_generator:fea_solver"
|
command "*job_option ddm_generator:fea_solver"
|
||||||
|
help job_run_ddm_generator
|
||||||
}
|
}
|
||||||
oneonly{
|
oneonly{
|
||||||
position +12 =
|
position +12 =
|
||||||
|
@ -1228,6 +1241,7 @@ group job_ddm_use_gr {
|
||||||
text "MENTAT"
|
text "MENTAT"
|
||||||
oneonly "*job_option ddm_generator:preprocessor"
|
oneonly "*job_option ddm_generator:preprocessor"
|
||||||
command "*job_option ddm_generator:preprocessor"
|
command "*job_option ddm_generator:preprocessor"
|
||||||
|
help job_run_ddm_generator
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,8 +1,8 @@
|
||||||
#! /usr/bin/env bash
|
#! /usr/bin/env bash
|
||||||
if [ $1x != 3to2x ]; then
|
if [ $1x != 3to2x ]; then
|
||||||
echo 'python2.7 to python'
|
echo 'python2.7 to python3'
|
||||||
find . -name '*.py' -type f | xargs sed -i 's/usr\/bin\/env python2.7/usr\/bin\/env python/g'
|
find . -name '*.py' -type f | xargs sed -i 's/usr\/bin\/env python2.7/usr\/bin\/env python3/g'
|
||||||
else
|
else
|
||||||
echo 'python to python2.7'
|
echo 'python3 to python2.7'
|
||||||
find . -name '*.py' -type f | xargs sed -i 's/usr\/bin\/env python/usr\/bin\/env python2.7/g'
|
find . -name '*.py' -type f | xargs sed -i 's/usr\/bin\/env python3/usr\/bin\/env python2.7/g'
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
# Makes postprocessing routines acessible from everywhere.
|
# Makes postprocessing routines acessible from everywhere.
|
||||||
|
|
|
@ -8,55 +8,37 @@ class Marc(Solver):
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.solver = 'Marc'
|
self.solver = 'Marc'
|
||||||
self.releases = { \
|
|
||||||
'2017': ['linux64',''],
|
|
||||||
'2016': ['linux64',''],
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#--------------------------
|
#--------------------------
|
||||||
def version(self):
|
def version(self):
|
||||||
import os,damask.environment
|
import damask.environment
|
||||||
|
|
||||||
MSCpath = damask.environment.Environment().options['MSC_ROOT']
|
return damask.environment.Environment().options['MARC_VERSION']
|
||||||
|
|
||||||
for release,subdirs in sorted(list(self.releases.items()),reverse=True):
|
|
||||||
for subdir in subdirs:
|
|
||||||
path = '%s/mentat%s/shlib/%s'%(MSCpath,release,subdir)
|
|
||||||
if os.path.exists(path): return release
|
|
||||||
else: continue
|
|
||||||
|
|
||||||
return ''
|
|
||||||
|
|
||||||
|
|
||||||
#--------------------------
|
#--------------------------
|
||||||
def libraryPath(self,releases = []):
|
def libraryPath(self,release = ''):
|
||||||
import os,damask.environment
|
import os,damask.environment
|
||||||
|
|
||||||
MSCpath = damask.environment.Environment().options['MSC_ROOT']
|
MSCpath = damask.environment.Environment().options['MSC_ROOT']
|
||||||
|
if len(release) == 0: release = self.version()
|
||||||
|
|
||||||
if len(releases) == 0: releases = list(self.releases.keys())
|
path = '{}/mentat{}/shlib/linux64'.format(MSCpath,release)
|
||||||
if type(releases) is not list: releases = [releases]
|
|
||||||
for release in sorted(releases,reverse=True):
|
return path if os.path.exists(path) else ''
|
||||||
if release not in self.releases: continue
|
|
||||||
for subdir in self.releases[release]:
|
|
||||||
libPath = '%s/mentat%s/shlib/%s'%(MSCpath,release,subdir)
|
|
||||||
if os.path.exists(libPath): return libPath
|
|
||||||
else: continue
|
|
||||||
|
|
||||||
return ''
|
|
||||||
|
|
||||||
|
|
||||||
#--------------------------
|
#--------------------------
|
||||||
def toolsPath(self,release = ''):
|
def toolsPath(self,release = ''):
|
||||||
import os,damask.environment
|
import os,damask.environment
|
||||||
|
|
||||||
MSCpath = damask.environment.Environment().options['MSC_ROOT']
|
MSCpath = damask.environment.Environment().options['MSC_ROOT']
|
||||||
|
|
||||||
if len(release) == 0: release = self.version()
|
if len(release) == 0: release = self.version()
|
||||||
|
|
||||||
path = '%s/marc%s/tools'%(MSCpath,release)
|
path = '%s/marc%s/tools'%(MSCpath,release)
|
||||||
if os.path.exists(path): return path
|
|
||||||
else: return ''
|
return path if os.path.exists(path) else ''
|
||||||
|
|
||||||
|
|
||||||
#--------------------------
|
#--------------------------
|
||||||
|
@ -67,31 +49,25 @@ class Marc(Solver):
|
||||||
logfile = None,
|
logfile = None,
|
||||||
compile = False,
|
compile = False,
|
||||||
optimization ='',
|
optimization ='',
|
||||||
openMP = False
|
|
||||||
):
|
):
|
||||||
|
|
||||||
import os,damask.environment
|
import os,damask.environment
|
||||||
import subprocess,shlex
|
import subprocess,shlex
|
||||||
|
|
||||||
if len(release) == 0: release = self.version()
|
if len(release) == 0: release = self.version()
|
||||||
|
|
||||||
if release not in self.releases:
|
|
||||||
raise Exception("Unknown MSC.Marc Version %s"%release)
|
|
||||||
|
|
||||||
|
|
||||||
damaskEnv = damask.environment.Environment()
|
damaskEnv = damask.environment.Environment()
|
||||||
|
|
||||||
user = os.path.join(damaskEnv.relPath('src/'),'DAMASK_marc') # might be updated if special version (symlink) is found
|
user = 'not found'
|
||||||
|
|
||||||
if compile:
|
if compile:
|
||||||
if os.path.isfile(os.path.join(damaskEnv.relPath('src/'),'DAMASK_marc%s.f90'%release)):
|
if os.path.isfile(os.path.join(damaskEnv.relPath('src/'),'DAMASK_marc{}.f90'.format(release))):
|
||||||
user = os.path.join(damaskEnv.relPath('src/'),'DAMASK_marc%s'%release)
|
user = os.path.join(damaskEnv.relPath('src/'),'DAMASK_marc{}'.format(release))
|
||||||
else:
|
else:
|
||||||
if os.path.isfile(os.path.join(damaskEnv.relPath('src/'),'DAMASK_marc%s.marc'%release)):
|
if os.path.isfile(os.path.join(damaskEnv.relPath('src/'),'DAMASK_marc{}.marc'.format(release))):
|
||||||
user = os.path.join(damaskEnv.relPath('src/'),'DAMASK_marc%s'%release)
|
user = os.path.join(damaskEnv.relPath('src/'),'DAMASK_marc{}'.format(release))
|
||||||
|
|
||||||
# Define options [see Marc Installation and Operation Guide, pp 23]
|
# Define options [see Marc Installation and Operation Guide, pp 23]
|
||||||
script = 'run_damask%s'%({False:'',True:'_'}[optimization!='' or openMP])
|
script = 'run_damask_{}mp'.format(optimization)
|
||||||
script = script+'%s%s'%({False:'',True:optimization}[optimization!=''],{False:'',True:'mp'}[openMP])
|
|
||||||
|
|
||||||
cmd = os.path.join(self.toolsPath(release),script) + \
|
cmd = os.path.join(self.toolsPath(release),script) + \
|
||||||
' -jid ' + model + '_' + job + \
|
' -jid ' + model + '_' + job + \
|
||||||
|
@ -100,24 +76,24 @@ class Marc(Solver):
|
||||||
if compile: cmd += ' -u ' + user+'.f90' + ' -save y'
|
if compile: cmd += ' -u ' + user+'.f90' + ' -save y'
|
||||||
else: cmd += ' -prog ' + user
|
else: cmd += ' -prog ' + user
|
||||||
|
|
||||||
print('job submission with%s compilation: %s'%({False:'out',True:''}[compile],user))
|
print('job submission with{} compilation: {}'.format({False:'out',True:''}[compile],user))
|
||||||
if logfile:
|
if logfile:
|
||||||
log = open(logfile, 'w')
|
log = open(logfile, 'w')
|
||||||
print(cmd)
|
print(cmd)
|
||||||
self.p = subprocess.Popen(shlex.split(cmd),stdout = log,stderr = subprocess.STDOUT)
|
process = subprocess.Popen(shlex.split(cmd),stdout = log,stderr = subprocess.STDOUT)
|
||||||
log.close()
|
log.close()
|
||||||
self.p.wait()
|
process.wait()
|
||||||
|
|
||||||
#--------------------------
|
#--------------------------
|
||||||
def exit_number_from_outFile(self,outFile=None):
|
def exit_number_from_outFile(self,outFile=None):
|
||||||
import string
|
import string
|
||||||
exitnumber = -1
|
exitnumber = -1
|
||||||
fid_out = open(outFile,'r')
|
fid_out = open(outFile,'r')
|
||||||
for ln in fid_out:
|
for line in fid_out:
|
||||||
if (string.find(ln,'tress iteration') is not -1):
|
if (string.find(line,'tress iteration') is not -1):
|
||||||
print(ln)
|
print(line)
|
||||||
elif (string.find(ln,'Exit number') is not -1):
|
elif (string.find(line,'Exit number') is not -1):
|
||||||
substr = ln[string.find(ln,'Exit number'):len(ln)]
|
substr = line[string.find(line,'Exit number'):len(line)]
|
||||||
exitnumber = int(substr[12:16])
|
exitnumber = int(substr[12:16])
|
||||||
|
|
||||||
fid_out.close()
|
fid_out.close()
|
||||||
|
|
|
@ -384,10 +384,10 @@ class Test():
|
||||||
while table0.data_read(): # read next data line of ASCII table
|
while table0.data_read(): # read next data line of ASCII table
|
||||||
if line0 not in skipLines:
|
if line0 not in skipLines:
|
||||||
for i in range(dataLength):
|
for i in range(dataLength):
|
||||||
myData = np.array(map(float,table0.data[column[0][i]:\
|
myData = np.array(list(map(float,table0.data[column[0][i]:\
|
||||||
column[0][i]+length[i]]),'d')
|
column[0][i]+length[i]])),'d')
|
||||||
normData = np.array(map(float,table0.data[normColumn[i]:\
|
normData = np.array(list(map(float,table0.data[normColumn[i]:\
|
||||||
normColumn[i]+normLength[i]]),'d')
|
normColumn[i]+normLength[i]])),'d')
|
||||||
data[i] = np.append(data[i],np.reshape(myData,shape[i]))
|
data[i] = np.append(data[i],np.reshape(myData,shape[i]))
|
||||||
if normType == 'pInf':
|
if normType == 'pInf':
|
||||||
norm[i] = np.append(norm[i],np.max(np.abs(normData)))
|
norm[i] = np.append(norm[i],np.max(np.abs(normData)))
|
||||||
|
@ -410,8 +410,8 @@ class Test():
|
||||||
while table1.data_read(): # read next data line of ASCII table
|
while table1.data_read(): # read next data line of ASCII table
|
||||||
if line1 not in skipLines:
|
if line1 not in skipLines:
|
||||||
for i in range(dataLength):
|
for i in range(dataLength):
|
||||||
myData = np.array(map(float,table1.data[column[1][i]:\
|
myData = np.array(list(map(float,table1.data[column[1][i]:\
|
||||||
column[1][i]+length[i]]),'d')
|
column[1][i]+length[i]])),'d')
|
||||||
maxError[i] = max(maxError[i],np.linalg.norm(np.reshape(myData-data[i][line1-len(skipLines),:],shape[i]))/
|
maxError[i] = max(maxError[i],np.linalg.norm(np.reshape(myData-data[i][line1-len(skipLines),:],shape[i]))/
|
||||||
norm[i][line1-len(skipLines)])
|
norm[i][line1-len(skipLines)])
|
||||||
line1 +=1
|
line1 +=1
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,re,sys,collections
|
import os,re,sys,collections
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
@ -49,7 +49,7 @@ def curlFFT(geomdim,field):
|
||||||
|
|
||||||
curl_fourier = np.einsum(einsums[n],e,k_s,field_fourier)*TWOPIIMG
|
curl_fourier = np.einsum(einsums[n],e,k_s,field_fourier)*TWOPIIMG
|
||||||
|
|
||||||
return np.fft.irfftn(curl_fourier,axes=(0,1,2),s=shapeFFT).reshape([N,n])
|
return np.fft.irfftn(curl_fourier,s=shapeFFT,axes=(0,1,2)).reshape([N,n])
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
@ -45,7 +45,7 @@ def divFFT(geomdim,field):
|
||||||
|
|
||||||
div_fourier = np.einsum(einsums[n],k_s,field_fourier)*TWOPIIMG
|
div_fourier = np.einsum(einsums[n],k_s,field_fourier)*TWOPIIMG
|
||||||
|
|
||||||
return np.fft.irfftn(div_fourier,axes=(0,1,2),s=shapeFFT).reshape([N,n/3])
|
return np.fft.irfftn(div_fourier,s=shapeFFT,axes=(0,1,2)).reshape([N,n//3])
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,itertools
|
import os,sys,itertools
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
@ -45,7 +45,7 @@ def gradFFT(geomdim,field):
|
||||||
k_s = np.concatenate((ki[:,:,:,None],kj[:,:,:,None],kk[:,:,:,None]),axis = 3).astype('c16')
|
k_s = np.concatenate((ki[:,:,:,None],kj[:,:,:,None],kk[:,:,:,None]),axis = 3).astype('c16')
|
||||||
grad_fourier = np.einsum(einsums[n],field_fourier,k_s)*TWOPIIMG
|
grad_fourier = np.einsum(einsums[n],field_fourier,k_s)*TWOPIIMG
|
||||||
|
|
||||||
return np.fft.irfftn(grad_fourier,axes=(0,1,2),s=shapeFFT).reshape([N,3*n])
|
return np.fft.irfftn(grad_fourier,s=shapeFFT,axes=(0,1,2)).reshape([N,3*n])
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
@ -94,11 +94,9 @@ for name in filenames:
|
||||||
|
|
||||||
if (any(options.grid) == 0 or any(options.size) == 0.0):
|
if (any(options.grid) == 0 or any(options.size) == 0.0):
|
||||||
grid,size = damask.util.coordGridAndSize(table.data[:,table.label_indexrange(options.pos)])
|
grid,size = damask.util.coordGridAndSize(table.data[:,table.label_indexrange(options.pos)])
|
||||||
|
|
||||||
else:
|
else:
|
||||||
grid = np.array(options.grid,'i')
|
grid = np.array(options.grid,'i')
|
||||||
size = np.array(options.size,'d')
|
size = np.array(options.size,'d')
|
||||||
origin = np.zeros(3,'d')
|
|
||||||
|
|
||||||
packing = np.where(grid == 1,1,packing) # reset packing to 1 where grid==1
|
packing = np.where(grid == 1,1,packing) # reset packing to 1 where grid==1
|
||||||
shift = np.where(grid == 1,0,shift) # reset shift to 0 where grid==1
|
shift = np.where(grid == 1,0,shift) # reset shift to 0 where grid==1
|
||||||
|
@ -113,7 +111,7 @@ for name in filenames:
|
||||||
-shift[2],axis = 2),
|
-shift[2],axis = 2),
|
||||||
size = list(packing) + [1],
|
size = list(packing) + [1],
|
||||||
mode = 'wrap',
|
mode = 'wrap',
|
||||||
origin = list(-(packing/2)) + [0])\
|
origin = list(-(packing//2)) + [0])\
|
||||||
[::packing[0],::packing[1],::packing[2],:].reshape((packedGrid.prod(),table.data.shape[1]),order = 'F')
|
[::packing[0],::packing[1],::packing[2],:].reshape((packedGrid.prod(),table.data.shape[1]),order = 'F')
|
||||||
|
|
||||||
|
|
||||||
|
@ -121,15 +119,15 @@ for name in filenames:
|
||||||
|
|
||||||
#--- generate grid --------------------------------------------------------------------------------
|
#--- generate grid --------------------------------------------------------------------------------
|
||||||
|
|
||||||
x = (0.5 + shift[0] + np.arange(packedGrid[0],dtype=float))/packedGrid[0]*size[0] + origin[0]
|
x = (0.5 + shift[0] + np.arange(packedGrid[0],dtype=float))/packedGrid[0]*size[0]
|
||||||
y = (0.5 + shift[1] + np.arange(packedGrid[1],dtype=float))/packedGrid[1]*size[1] + origin[1]
|
y = (0.5 + shift[1] + np.arange(packedGrid[1],dtype=float))/packedGrid[1]*size[1]
|
||||||
z = (0.5 + shift[2] + np.arange(packedGrid[2],dtype=float))/packedGrid[2]*size[2] + origin[2]
|
z = (0.5 + shift[2] + np.arange(packedGrid[2],dtype=float))/packedGrid[2]*size[2]
|
||||||
|
|
||||||
xx = np.tile( x, packedGrid[1]* packedGrid[2])
|
xx = np.tile( x, packedGrid[1]* packedGrid[2])
|
||||||
yy = np.tile(np.repeat(y,packedGrid[0] ),packedGrid[2])
|
yy = np.tile(np.repeat(y,packedGrid[0] ),packedGrid[2])
|
||||||
zz = np.repeat(z,packedGrid[0]*packedGrid[1])
|
zz = np.repeat(z,packedGrid[0]*packedGrid[1])
|
||||||
|
|
||||||
table.data[:,table.label_indexragen(options.pos)] = np.squeeze(np.dstack((xx,yy,zz)))
|
table.data[:,table.label_indexrange(options.pos)] = np.squeeze(np.dstack((xx,yy,zz)))
|
||||||
|
|
||||||
# ------------------------------------------ output result -----------------------------------------
|
# ------------------------------------------ output result -----------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,re,sys,fnmatch
|
import os,re,sys,fnmatch
|
||||||
|
@ -139,6 +139,7 @@ for name in filenames:
|
||||||
table.data_readArray(positions+1) # read desired columns (indexed 1,...)
|
table.data_readArray(positions+1) # read desired columns (indexed 1,...)
|
||||||
table.data_writeArray() # directly write out
|
table.data_writeArray() # directly write out
|
||||||
except:
|
except:
|
||||||
|
table.data_rewind()
|
||||||
atOnce = False # data contains items that prevent array chunking
|
atOnce = False # data contains items that prevent array chunking
|
||||||
|
|
||||||
if not atOnce: # read data line by line
|
if not atOnce: # read data line by line
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import sys,os
|
import sys,os
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math,re,time,struct
|
import os,sys,math,re,time,struct
|
||||||
|
@ -79,7 +79,7 @@ class MPIEspectral_result: # mimic py_post result object
|
||||||
self.dataOffset = 0
|
self.dataOffset = 0
|
||||||
while self.dataOffset < self.filesize:
|
while self.dataOffset < self.filesize:
|
||||||
self.file.seek(self.dataOffset)
|
self.file.seek(self.dataOffset)
|
||||||
if self.file.read(3) == 'eoh': break
|
if self.file.read(3) == b'eoh': break
|
||||||
self.dataOffset += 1
|
self.dataOffset += 1
|
||||||
self.dataOffset += 7
|
self.dataOffset += 7
|
||||||
#search first for the new keywords with ':', if not found try to find the old ones
|
#search first for the new keywords with ':', if not found try to find the old ones
|
||||||
|
@ -135,7 +135,7 @@ class MPIEspectral_result: # mimic py_post result object
|
||||||
if self.N_element_scalars is None:
|
if self.N_element_scalars is None:
|
||||||
self.N_element_scalars = self._keyedPackedArray('materialpoint_sizeResults',count=1,type='i')[0]
|
self.N_element_scalars = self._keyedPackedArray('materialpoint_sizeResults',count=1,type='i')[0]
|
||||||
|
|
||||||
self.N_positions = (self.filesize-self.dataOffset)/(self.N_elements*self.N_element_scalars*8)
|
self.N_positions = (self.filesize-self.dataOffset)//(self.N_elements*self.N_element_scalars*8)
|
||||||
self.N_increments = 1 # add zero'th entry
|
self.N_increments = 1 # add zero'th entry
|
||||||
for i in range(self.N_loadcases):
|
for i in range(self.N_loadcases):
|
||||||
self.N_increments += self._increments[i]//self._frequencies[i]
|
self.N_increments += self._increments[i]//self._frequencies[i]
|
||||||
|
@ -179,7 +179,7 @@ class MPIEspectral_result: # mimic py_post result object
|
||||||
self.file.seek(filepos)
|
self.file.seek(filepos)
|
||||||
# read the starting tag in front of the keyword (Fortran indicates start and end of writing by a 4 byte tag indicating the length of the following data)
|
# read the starting tag in front of the keyword (Fortran indicates start and end of writing by a 4 byte tag indicating the length of the following data)
|
||||||
dataLen=struct.unpack('i',self.file.read(4))[0]
|
dataLen=struct.unpack('i',self.file.read(4))[0]
|
||||||
name = self.file.read(len(identifier)) # anticipate identifier
|
name = self.file.read(len(identifier)).decode(errors="ignore") # anticipate identifier
|
||||||
start=filepos+(4+len(identifier)) # position of the values for the found key
|
start=filepos+(4+len(identifier)) # position of the values for the found key
|
||||||
filepos=filepos+(4+dataLen+4) # forward to next keyword
|
filepos=filepos+(4+dataLen+4) # forward to next keyword
|
||||||
|
|
||||||
|
@ -202,7 +202,7 @@ class MPIEspectral_result: # mimic py_post result object
|
||||||
def _keyedString(self,identifier,default=None):
|
def _keyedString(self,identifier,default=None):
|
||||||
value = default
|
value = default
|
||||||
self.file.seek(0)
|
self.file.seek(0)
|
||||||
m = re.search(r'(.{4})%s(.*?)\1'%identifier,self.file.read(self.dataOffset),re.DOTALL)
|
m = re.search(r'(.{4})%s(.*?)\1'%identifier,self.file.read(self.dataOffset).decode(errors="ignore"),re.DOTALL)
|
||||||
if m:
|
if m:
|
||||||
value = m.group(2)
|
value = m.group(2)
|
||||||
return value
|
return value
|
||||||
|
@ -244,9 +244,9 @@ class MPIEspectral_result: # mimic py_post result object
|
||||||
a = self.grid[0]+1
|
a = self.grid[0]+1
|
||||||
b = self.grid[1]+1
|
b = self.grid[1]+1
|
||||||
c = self.grid[2]+1
|
c = self.grid[2]+1
|
||||||
return vector([self.size[0] * (n%a) / self.grid[0],
|
return vector([self.size[0] * (n%a) / self.grid[0],
|
||||||
self.size[1] * ((n/a)%b) / self.grid[1],
|
self.size[1] * ((n//a)%b) / self.grid[1],
|
||||||
self.size[2] * ((n/a/b)%c) / self.grid[2],
|
self.size[2] * ((n//a//b)%c) / self.grid[2],
|
||||||
])
|
])
|
||||||
|
|
||||||
def element_sequence(self,e):
|
def element_sequence(self,e):
|
||||||
|
@ -258,7 +258,7 @@ class MPIEspectral_result: # mimic py_post result object
|
||||||
def element(self,e):
|
def element(self,e):
|
||||||
a = self.grid[0]+1
|
a = self.grid[0]+1
|
||||||
b = self.grid[1]+1
|
b = self.grid[1]+1
|
||||||
basenode = 1 + e+e/self.grid[0] + e/self.grid[0]/self.grid[1]*a
|
basenode = 1 + e+e//self.grid[0] + e//self.grid[0]//self.grid[1]*a
|
||||||
basenode2 = basenode+a*b
|
basenode2 = basenode+a*b
|
||||||
return (element([basenode ,basenode +1,basenode +a+1,basenode +a,
|
return (element([basenode ,basenode +1,basenode +a+1,basenode +a,
|
||||||
basenode2 ,basenode2+1,basenode2+a+1,basenode2+a,
|
basenode2 ,basenode2+1,basenode2+a+1,basenode2+a,
|
||||||
|
@ -434,17 +434,17 @@ def mapIncremental(label, mapping, N, base, new):
|
||||||
'unique': lambda n,b,a: a if n==0 or b==a else 'nan'
|
'unique': lambda n,b,a: a if n==0 or b==a else 'nan'
|
||||||
}
|
}
|
||||||
if mapping in theMap:
|
if mapping in theMap:
|
||||||
mapped = map(theMap[mapping],[N]*len(base),base,new) # map one of the standard functions to data
|
mapped = list(map(theMap[mapping],[N for i in range(len(base))],base,new)) # map one of the standard functions to data
|
||||||
if label.lower() == 'orientation': # orientation is special case:...
|
if label.lower() == 'orientation': # orientation is special case:...
|
||||||
orientationNorm = math.sqrt(sum([q*q for q in mapped])) # ...calc norm of average quaternion
|
orientationNorm = math.sqrt(sum([q*q for q in mapped])) # ...calc norm of average quaternion
|
||||||
mapped = map(lambda x: x/orientationNorm, mapped) # ...renormalize quaternion
|
mapped = list(map(lambda x: x/orientationNorm, mapped)) # ...renormalize quaternion
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
mapped = eval('map(%s,[N]*len(base),base,new)'%mapping) # map user defined function to colums in chunks
|
mapped = list(eval('map(%s,[N for i in range(len(base))],base,new)'%mapping)) # map user defined function to colums in chunks
|
||||||
except:
|
except:
|
||||||
mapped = ['nan']*len(base)
|
mapped = ['nan' for i in range(len(base))]
|
||||||
|
|
||||||
return mapped
|
return list(mapped)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -466,7 +466,7 @@ def ParseOutputFormat(filename,what,me):
|
||||||
"""Parse .output* files in order to get a list of outputs"""
|
"""Parse .output* files in order to get a list of outputs"""
|
||||||
content = []
|
content = []
|
||||||
format = {'outputs':{},'specials':{'brothers':[]}}
|
format = {'outputs':{},'specials':{'brothers':[]}}
|
||||||
for prefix in ['']+map(str,range(1,17)):
|
for prefix in ['']+list(map(str,range(1,17))):
|
||||||
if os.path.exists(prefix+filename+'.output'+what):
|
if os.path.exists(prefix+filename+'.output'+what):
|
||||||
try:
|
try:
|
||||||
file = open(prefix+filename+'.output'+what)
|
file = open(prefix+filename+'.output'+what)
|
||||||
|
@ -674,6 +674,9 @@ parser.add_option('-p','--type', dest='filetype',
|
||||||
parser.add_option('-q','--quiet', dest='verbose',
|
parser.add_option('-q','--quiet', dest='verbose',
|
||||||
action = 'store_false',
|
action = 'store_false',
|
||||||
help = 'suppress verbose output')
|
help = 'suppress verbose output')
|
||||||
|
parser.add_option('--verbose', dest='verbose',
|
||||||
|
action = 'store_true',
|
||||||
|
help = 'enable verbose output')
|
||||||
|
|
||||||
group_material = OptionGroup(parser,'Material identifier')
|
group_material = OptionGroup(parser,'Material identifier')
|
||||||
|
|
||||||
|
@ -715,7 +718,7 @@ parser.add_option_group(group_general)
|
||||||
parser.add_option_group(group_special)
|
parser.add_option_group(group_special)
|
||||||
|
|
||||||
parser.set_defaults(info = False,
|
parser.set_defaults(info = False,
|
||||||
verbose = True,
|
verbose = False,
|
||||||
legacy = False,
|
legacy = False,
|
||||||
nodal = False,
|
nodal = False,
|
||||||
prefix = '',
|
prefix = '',
|
||||||
|
@ -850,7 +853,7 @@ for opt in ['nodalScalar','elemScalar','elemTensor','homogenizationResult','crys
|
||||||
if (opt in ['nodalScalar','elemScalar','elemTensor'] and label not in stat['IndexOfLabel'] and label not in ['elements',]) \
|
if (opt in ['nodalScalar','elemScalar','elemTensor'] and label not in stat['IndexOfLabel'] and label not in ['elements',]) \
|
||||||
or (opt in ['homogenizationResult','crystalliteResult','constitutiveResult'] \
|
or (opt in ['homogenizationResult','crystalliteResult','constitutiveResult'] \
|
||||||
and (not outputFormat[opt[:-6].capitalize()]['outputs'] \
|
and (not outputFormat[opt[:-6].capitalize()]['outputs'] \
|
||||||
or label not in zip(*outputFormat[opt[:-6].capitalize()]['outputs'])[0])):
|
or label not in list(zip(*outputFormat[opt[:-6].capitalize()]['outputs']))[0])):
|
||||||
parser.error('%s "%s" unknown...'%(opt,label))
|
parser.error('%s "%s" unknown...'%(opt,label))
|
||||||
|
|
||||||
|
|
||||||
|
@ -935,8 +938,8 @@ else:
|
||||||
for e in range(stat['NumberOfElements']):
|
for e in range(stat['NumberOfElements']):
|
||||||
if options.verbose and e%1000 == 0: bg.set_message('scan elem %i...'%e)
|
if options.verbose and e%1000 == 0: bg.set_message('scan elem %i...'%e)
|
||||||
myElemID = p.element_id(e)
|
myElemID = p.element_id(e)
|
||||||
myIpCoordinates = ipCoords(p.element(e).type, map(lambda node: [node.x, node.y, node.z],
|
myIpCoordinates = ipCoords(p.element(e).type, list(map(lambda node: [node.x, node.y, node.z],
|
||||||
map(p.node, map(p.node_sequence, p.element(e).items))))
|
list(map(p.node, map(p.node_sequence, p.element(e).items))))))
|
||||||
myIpIDs = ipIDs(p.element(e).type)
|
myIpIDs = ipIDs(p.element(e).type)
|
||||||
Nips = len(myIpIDs)
|
Nips = len(myIpIDs)
|
||||||
myNodeIDs = p.element(e).items[:Nips]
|
myNodeIDs = p.element(e).items[:Nips]
|
||||||
|
@ -1023,7 +1026,7 @@ if options.verbose: bg.set_message('getting map between positions and increments
|
||||||
incAtPosition = {}
|
incAtPosition = {}
|
||||||
positionOfInc = {}
|
positionOfInc = {}
|
||||||
|
|
||||||
for position in range(stat['NumberOfIncrements']):
|
for position in range(int(stat['NumberOfIncrements'])):
|
||||||
p.moveto(position+offset_pos)
|
p.moveto(position+offset_pos)
|
||||||
incAtPosition[position] = p.increment # remember "real" increment at this position
|
incAtPosition[position] = p.increment # remember "real" increment at this position
|
||||||
positionOfInc[p.increment] = position # remember position of "real" increment
|
positionOfInc[p.increment] = position # remember position of "real" increment
|
||||||
|
@ -1130,7 +1133,7 @@ for incCount,position in enumerate(locations): # walk through locations
|
||||||
['Crystallite']*len(options.crystalliteResult) +
|
['Crystallite']*len(options.crystalliteResult) +
|
||||||
['Constitutive']*len(options.constitutiveResult)
|
['Constitutive']*len(options.constitutiveResult)
|
||||||
):
|
):
|
||||||
outputIndex = list(zip(*outputFormat[resultType]['outputs'])[0]).index(label) # find the position of this output in the outputFormat
|
outputIndex = (list(zip(*outputFormat[resultType]['outputs']))[0]).index(label) # find the position of this output in the outputFormat
|
||||||
length = int(outputFormat[resultType]['outputs'][outputIndex][1])
|
length = int(outputFormat[resultType]['outputs'][outputIndex][1])
|
||||||
thisHead = heading('_',[[component,''.join( label.split() )] for component in range(int(length>1),length+int(length>1))])
|
thisHead = heading('_',[[component,''.join( label.split() )] for component in range(int(length>1),length+int(length>1))])
|
||||||
if assembleHeader: header += thisHead
|
if assembleHeader: header += thisHead
|
||||||
|
@ -1164,14 +1167,12 @@ for incCount,position in enumerate(locations): # walk through locations
|
||||||
file.write('\t'.join(standard + header) + '\n')
|
file.write('\t'.join(standard + header) + '\n')
|
||||||
headerWritten = True
|
headerWritten = True
|
||||||
|
|
||||||
file.write('\t'.join(map(str,[p.increment] + \
|
file.write('\t'.join(list(map(str,[p.increment] + \
|
||||||
{True:[p.time],False:[]}[options.time] + \
|
{True:[p.time],False:[]}[options.time] + \
|
||||||
group[0] + \
|
group[0] + \
|
||||||
mappedResult)
|
mappedResult)
|
||||||
) + '\n')
|
)) + '\n')
|
||||||
|
|
||||||
if fileOpen:
|
if fileOpen:
|
||||||
file.close()
|
file.close()
|
||||||
|
|
||||||
|
|
||||||
# --------------------------- DONE --------------------------------
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,re
|
import os,sys,re
|
||||||
|
@ -66,7 +66,7 @@ for name in filenames:
|
||||||
for i,index in enumerate(indices):
|
for i,index in enumerate(indices):
|
||||||
if index == -1: remarks.append('label "{}" not present...'.format(options.label[i]))
|
if index == -1: remarks.append('label "{}" not present...'.format(options.label[i]))
|
||||||
else:
|
else:
|
||||||
m = pattern[dimensions[i]>1].match(table.tags[index]) # isolate label name
|
m = pattern[int(dimensions[i]>1)].match(table.tags[index]) # isolate label name
|
||||||
for j in range(dimensions[i]):
|
for j in range(dimensions[i]):
|
||||||
table.tags[index+j] = table.tags[index+j].replace(m.group(2),options.substitute[i]) # replace name with substitute
|
table.tags[index+j] = table.tags[index+j].replace(m.group(2),options.substitute[i]) # replace name with substitute
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
@ -63,7 +63,7 @@ parser.set_defaults(center = (.0,.0,.0),
|
||||||
if options.dimension is None:
|
if options.dimension is None:
|
||||||
parser.error('no dimension specified.')
|
parser.error('no dimension specified.')
|
||||||
if options.angleaxis is not None:
|
if options.angleaxis is not None:
|
||||||
options.angleaxis = map(float,options.angleaxis)
|
options.angleaxis = list(map(float,options.angleaxis))
|
||||||
rotation = damask.Quaternion().fromAngleAxis(np.radians(options.angleaxis[0]) if options.degrees else options.angleaxis[0],
|
rotation = damask.Quaternion().fromAngleAxis(np.radians(options.angleaxis[0]) if options.degrees else options.angleaxis[0],
|
||||||
options.angleaxis[1:4])
|
options.angleaxis[1:4])
|
||||||
elif options.quaternion is not None:
|
elif options.quaternion is not None:
|
||||||
|
@ -137,17 +137,17 @@ for name in filenames:
|
||||||
indexing='ij')
|
indexing='ij')
|
||||||
# Padding handling
|
# Padding handling
|
||||||
X = np.roll(np.roll(np.roll(X,
|
X = np.roll(np.roll(np.roll(X,
|
||||||
-grid[0]/2, axis=0),
|
-grid[0]//2, axis=0),
|
||||||
-grid[1]/2, axis=1),
|
-grid[1]//2, axis=1),
|
||||||
-grid[2]/2, axis=2)
|
-grid[2]//2, axis=2)
|
||||||
Y = np.roll(np.roll(np.roll(Y,
|
Y = np.roll(np.roll(np.roll(Y,
|
||||||
-grid[0]/2, axis=0),
|
-grid[0]//2, axis=0),
|
||||||
-grid[1]/2, axis=1),
|
-grid[1]//2, axis=1),
|
||||||
-grid[2]/2, axis=2)
|
-grid[2]//2, axis=2)
|
||||||
Z = np.roll(np.roll(np.roll(Z,
|
Z = np.roll(np.roll(np.roll(Z,
|
||||||
-grid[0]/2, axis=0),
|
-grid[0]//2, axis=0),
|
||||||
-grid[1]/2, axis=1),
|
-grid[1]//2, axis=1),
|
||||||
-grid[2]/2, axis=2)
|
-grid[2]//2, axis=2)
|
||||||
else: # nonperiodic, much lighter on resources
|
else: # nonperiodic, much lighter on resources
|
||||||
# change to coordinate space where the primitive is the unit sphere/cube/etc
|
# change to coordinate space where the primitive is the unit sphere/cube/etc
|
||||||
(X, Y, Z) = np.meshgrid(np.arange(0, grid[0], dtype=np.float32),
|
(X, Y, Z) = np.meshgrid(np.arange(0, grid[0], dtype=np.float32),
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math,time
|
import os,sys,math,time
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
@ -245,9 +245,9 @@ for name in filenames:
|
||||||
hasEulers = table.label_dimension(options.eulers) == 3
|
hasEulers = table.label_dimension(options.eulers) == 3
|
||||||
hasWeights = table.label_dimension(options.weight) == 1 and options.laguerre
|
hasWeights = table.label_dimension(options.weight) == 1 and options.laguerre
|
||||||
|
|
||||||
if np.any(info['grid'] < 1): errors.append('invalid grid a b c.')
|
if np.any(np.array(info['grid']) < 1): errors.append('invalid grid a b c.')
|
||||||
if np.any(info['size'] <= 0.0) \
|
if np.any(np.array(info['size']) <= 0.0) \
|
||||||
and np.all(info['grid'] < 1): errors.append('invalid size x y z.')
|
and np.all(np.array(info['grid']) < 1): errors.append('invalid size x y z.')
|
||||||
else:
|
else:
|
||||||
for i in range(3):
|
for i in range(3):
|
||||||
if info['size'][i] <= 0.0: # any invalid size?
|
if info['size'][i] <= 0.0: # any invalid size?
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys
|
import os,sys
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
@ -82,11 +82,11 @@ for name in filenames:
|
||||||
'microstructures': 0,
|
'microstructures': 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
newInfo['grid'] = np.array([{True:round(o*float(n.translate(None,'xX'))),
|
newInfo['grid'] = np.array([{True: round(o*float(n.lower().replace('x',''))),
|
||||||
False: round(float(n.translate(None,'xX')))}[n[-1].lower() == 'x']
|
False: round(float(n.lower().replace('x','')))}[n[-1].lower() == 'x']
|
||||||
for o,n in zip(info['grid'],options.grid)],'i')
|
for o,n in zip(info['grid'],options.grid)],'i')
|
||||||
newInfo['size'] = np.array([{True: o*float(n.translate(None,'xX')) ,
|
newInfo['size'] = np.array([{True: o*float(n.lower().replace('x','')),
|
||||||
False: float(n.translate(None,'xX')) }[n[-1].lower() == 'x']
|
False: float(n.lower().replace('x',''))}[n[-1].lower() == 'x']
|
||||||
for o,n in zip(info['size'],options.size)],'d')
|
for o,n in zip(info['size'],options.size)],'d')
|
||||||
newInfo['grid'] = np.where(newInfo['grid'] <= 0 , info['grid'],newInfo['grid'])
|
newInfo['grid'] = np.where(newInfo['grid'] <= 0 , info['grid'],newInfo['grid'])
|
||||||
newInfo['size'] = np.where(newInfo['size'] <= 0.0, info['size'],newInfo['size'])
|
newInfo['size'] = np.where(newInfo['size'] <= 0.0, info['size'],newInfo['size'])
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
@ -46,7 +46,7 @@ parser.set_defaults(origin = (0.0,0.0,0.0),
|
||||||
datatype = 'f' if options.real else 'i'
|
datatype = 'f' if options.real else 'i'
|
||||||
|
|
||||||
sub = {}
|
sub = {}
|
||||||
for i in range(len(options.substitute)/2): # split substitution list into "from" -> "to"
|
for i in range(len(options.substitute)//2): # split substitution list into "from" -> "to"
|
||||||
sub[int(options.substitute[i*2])] = int(options.substitute[i*2+1])
|
sub[int(options.substitute[i*2])] = int(options.substitute[i*2+1])
|
||||||
|
|
||||||
# --- loop over input files ----------------------------------------------------------------------
|
# --- loop over input files ----------------------------------------------------------------------
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
import os,sys,math
|
import os,sys,math
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/usr/bin/env python2.7
|
#!/usr/bin/env python3
|
||||||
# -*- coding: UTF-8 no BOM -*-
|
# -*- coding: UTF-8 no BOM -*-
|
||||||
|
|
||||||
from optparse import OptionParser
|
from optparse import OptionParser
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue