corrected error in apply_DAMASK_modifications
added support for Marc/Mentat2011 (classic)
This commit is contained in:
parent
2bfbb97c11
commit
c4a4c5cdca
|
@ -0,0 +1,205 @@
|
||||||
|
! common block definition file taken from respective MSC.Marc release and reformated to free format
|
||||||
|
!***********************************************************************
|
||||||
|
!
|
||||||
|
! File: concom.cmn
|
||||||
|
!
|
||||||
|
! MSC.Marc include file
|
||||||
|
!
|
||||||
|
integer(pInt) &
|
||||||
|
iacous, iasmbl, iautth, ibear, icompl, iconj, icreep, ideva, idyn, idynt,&
|
||||||
|
ielas, ielcma, ielect, iform, ifour, iharm, ihcps, iheat, iheatt, ihresp,&
|
||||||
|
ijoule, ilem, ilnmom, iloren, inc, incext, incsub, ipass, iplres, ipois,&
|
||||||
|
ipoist, irpflo, ismall, ismalt, isoil, ispect, ispnow, istore, iswep, ithcrp,&
|
||||||
|
itherm, iupblg, iupdat, jacflg, jel, jparks, largst, lfond, loadup, loaduq,&
|
||||||
|
lodcor, lovl, lsub, magnet, ncycle, newtnt, newton, noshr, linear, ivscpl,&
|
||||||
|
icrpim, iradrt, ipshft, itshr, iangin, iupmdr, iconjf, jincfl, jpermg, jhour,&
|
||||||
|
isolvr, jritz, jtable, jshell, jdoubl, jform, jcentr, imini, kautth, iautof,&
|
||||||
|
ibukty, iassum, icnstd, icnstt, kmakmas, imethvp, iradrte, iradrtp, iupdate, iupdatp,&
|
||||||
|
ncycnt, marmen , idynme, ihavca, ispf, kmini, imixex, largtt, kdoela, iautofg,&
|
||||||
|
ipshftp, idntrc, ipore, jtablm, jtablc, isnecma, itrnspo, imsdif, jtrnspo, mcnear,&
|
||||||
|
imech, imecht, ielcmat, ielectt, magnett, imsdift, noplas, jtabls, jactch, jtablth,&
|
||||||
|
kgmsto , jpzo, ifricsh, iremkin, iremfor, ishearp, jspf, machining, jlshell, icompsol,&
|
||||||
|
iupblgfo, jcondir, nstcrp, nactive, ipassref, nstspnt, ibeart, icheckmpc, noline, icuring,&
|
||||||
|
ishrink, ioffsflg, isetoff, ioffsetm,iharmt, inc_incdat, iautspc, ibrake, icbush, istream_input,&
|
||||||
|
iprsinp, ivlsinp, ifirst_time,ipin_m, jgnstr_glb, imarc_return,iqvcinp, nqvceid, istpnx, imicro1,&
|
||||||
|
iaxisymm, jbreakglue,iglstif, jfastasm,iwear, iwearcf, imixmeth, ielcmadyn, idinout, igena_meth,&
|
||||||
|
magf_meth, non_assumed, iredoboudry
|
||||||
|
integer(pInt) num_concom
|
||||||
|
parameter(num_concom=232)
|
||||||
|
common/marc_concom/&
|
||||||
|
iacous, iasmbl, iautth, ibear, icompl, iconj, icreep, ideva(60), idyn, idynt,&
|
||||||
|
ielas, ielcma, ielect, iform, ifour, iharm, ihcps, iheat, iheatt, ihresp,&
|
||||||
|
ijoule, ilem, ilnmom, iloren, inc, incext, incsub, ipass, iplres, ipois,&
|
||||||
|
ipoist, irpflo, ismall, ismalt, isoil, ispect, ispnow, istore, iswep, ithcrp,&
|
||||||
|
itherm, iupblg, iupdat, jacflg, jel, jparks, largst, lfond, loadup, loaduq,&
|
||||||
|
lodcor, lovl, lsub, magnet, ncycle, newtnt, newton, noshr, linear, ivscpl,&
|
||||||
|
icrpim, iradrt, ipshft, itshr, iangin, iupmdr, iconjf, jincfl, jpermg, jhour,&
|
||||||
|
isolvr, jritz, jtable, jshell, jdoubl, jform, jcentr, imini, kautth, iautof,&
|
||||||
|
ibukty, iassum, icnstd, icnstt, kmakmas, imethvp, iradrte, iradrtp, iupdate, iupdatp,&
|
||||||
|
ncycnt, marmen, idynme, ihavca, ispf, kmini, imixex, largtt, kdoela, iautofg,&
|
||||||
|
ipshftp, idntrc, ipore, jtablm, jtablc, isnecma, itrnspo, imsdif, jtrnspo, mcnear,&
|
||||||
|
imech, imecht, ielcmat, ielectt, magnett, imsdift, noplas, jtabls, jactch, jtablth,&
|
||||||
|
kgmsto , jpzo, ifricsh, iremkin, iremfor, ishearp, jspf, machining, jlshell, icompsol,&
|
||||||
|
iupblgfo, jcondir, nstcrp, nactive, ipassref, nstspnt, ibeart, icheckmpc, noline, icuring,&
|
||||||
|
ishrink, ioffsflg, isetoff, ioffsetm,iharmt, inc_incdat, iautspc, ibrake, icbush , istream_input,&
|
||||||
|
iprsinp, ivlsinp, ifirst_time,ipin_m, jgnstr_glb, imarc_return,iqvcinp, nqvceid, istpnx, imicro1,&
|
||||||
|
iaxisymm, jbreakglue,iglstif, jfastasm,iwear, iwearcf, imixmeth, ielcmadyn, idinout,igena_meth,&
|
||||||
|
magf_meth, non_assumed, iredoboudry
|
||||||
|
!
|
||||||
|
! comments of variables:
|
||||||
|
!
|
||||||
|
! ideva(60) - debug print out flag
|
||||||
|
! 1 print element stiffness matrices, mass matrix
|
||||||
|
! 2 output matrices used in tying
|
||||||
|
! 3 force the solution of a nonpositive definite matrix
|
||||||
|
! 4 print info of connections to each node
|
||||||
|
! 5 info of gap convergence, internal heat generated, contact
|
||||||
|
! touching and separation
|
||||||
|
! 6 nodal value array during rezoning
|
||||||
|
! 7 tying info in CONRAD GAP option, fluid element numbers in
|
||||||
|
! CHANNEL option
|
||||||
|
! 8 output incremental displacements in local coord. system
|
||||||
|
! 9 latent heat output
|
||||||
|
! 10 stress-strain in local coord. system
|
||||||
|
! 11 additional info on interlaminar stress
|
||||||
|
! 12 output right hand side and solution vector
|
||||||
|
! 13 info of CPU resources used and memory available on NT
|
||||||
|
! 14 info of mesh adaption process, 2D outline information
|
||||||
|
! info of penetration checking for remeshing
|
||||||
|
! save .fem files after afmesh3d meshing
|
||||||
|
! 15 surface energy balance flag
|
||||||
|
! 16 print info regarding pyrolysis
|
||||||
|
! 17 print info of "streamline topology"
|
||||||
|
! 18 print mesh data changes after remeshing
|
||||||
|
! 19 print material flow stress data read in from *.mat file
|
||||||
|
! if unit flag is on, print out flow stress after conversion
|
||||||
|
! 20 print information on table input
|
||||||
|
! 21 print out information regarding kinematic boundary conditions
|
||||||
|
! 22 print out information regarding dist loads, point loads, film
|
||||||
|
! and foundations
|
||||||
|
! 23 print out information about automatic domain decomposition
|
||||||
|
! 24 print out iteration information in SuperForm status report file
|
||||||
|
! 25 print out information for ablation
|
||||||
|
! 26 print out information for films - Table input
|
||||||
|
! 27 print out the tying forces
|
||||||
|
! 28 print out for CASI solver, convection,
|
||||||
|
! 29 DDM single file debug printout
|
||||||
|
! 30 print out cavity debug info
|
||||||
|
! 31 print out welding related info
|
||||||
|
! 32 prints categorized DDM memory usage
|
||||||
|
! 33 print out the cutting info regarding machining feature
|
||||||
|
! 34 print out the list of quantities which can be defined via a table
|
||||||
|
! and for each quantity the supported independent variables
|
||||||
|
! 35 print out detailed coupling region info
|
||||||
|
! 36 print out solver debug info level 1 (Least Detailed)
|
||||||
|
! 37 print out solver debug info level 1 (Medium Detailed)
|
||||||
|
! 38 print out solver debug info level 1 (Very Detailed)
|
||||||
|
! 39 print detailed memory allocation info
|
||||||
|
! 40 print out marc-adams debug info
|
||||||
|
! 41 output rezone mapping post file for debugging
|
||||||
|
! 42 output post file after calling oprofos() for debugging
|
||||||
|
! 43 debug printout for vcct
|
||||||
|
! 44 debug printout for progressive failure
|
||||||
|
! 45 print out automatically generated midside node coordinates (arecrd)
|
||||||
|
! 46 print out message about routine and location, where the ibort is raised (ibort_inc)
|
||||||
|
! 47 print out summary message of element variables on a
|
||||||
|
! group-basis after all the automatic changes have been
|
||||||
|
! made (em_ellibp)
|
||||||
|
! 48 Automatically generate check results based on max and min vals.
|
||||||
|
! These vals are stored in the checkr file, which is inserted
|
||||||
|
! into the *dat file by the generate_check_results script from /marc/tools
|
||||||
|
! 49 Automatically generate check results based on the real calculated values
|
||||||
|
! at the sppecified check result locations.
|
||||||
|
! These vals are stored in the checkr file, which is inserted
|
||||||
|
! into the *dat file by the update_check_results script from /marc/tools
|
||||||
|
! 50 generate a file containing the resistance or capacity matrix;
|
||||||
|
! this file can be used to compare results with a reference file
|
||||||
|
! 51 print out detailed information for segment-to-segment contact
|
||||||
|
! 52 print out detailed relative displacement information
|
||||||
|
! for uniaxial sliding contact
|
||||||
|
! 53 print out detailed sliding direction information for
|
||||||
|
! uniaxial sliding contact
|
||||||
|
! 54 print out detailed information for edges attached to a curve
|
||||||
|
!
|
||||||
|
!
|
||||||
|
! irpflo global flag for rigid plastic flow analysis
|
||||||
|
! = 1 eularian formulation
|
||||||
|
! = 2 regular formulation; rigid material present in the analysis
|
||||||
|
!
|
||||||
|
! jactch = 1 or 2 if elements are activated or deactivated
|
||||||
|
! = 3 if elements are adaptively remeshed or rezoned
|
||||||
|
! = 0 normally / reset to 0 when assembly is done
|
||||||
|
! ifricsh = 0 call to fricsh in otest not needed
|
||||||
|
! = 1 call to fricsh (nodal friction) in otest needed
|
||||||
|
! iremkin = 0 remove deactivated kinematic boundary conditions
|
||||||
|
! immediately - only in new input format (this is default)
|
||||||
|
! = 1 remove deactivated kinematic boundary conditions
|
||||||
|
! gradually - only in new input format
|
||||||
|
! iremfor = 0 remove force boundary conditions immediately -
|
||||||
|
! only in new input format (this is default)
|
||||||
|
! = 1 remove force boundary conditions gradually -
|
||||||
|
! only in new input format (this is default)
|
||||||
|
! ishearp set to 1 if shear panel elements are present in the model
|
||||||
|
!
|
||||||
|
! jspf = 0 not in spf loadcase
|
||||||
|
! > 0 in spf loadcase (jspf=1 during first increment)
|
||||||
|
! machining = 1 if the metal cutting feature is used, for memory allocation purpose
|
||||||
|
! = 0 (default) if no metal cutting feature required
|
||||||
|
!
|
||||||
|
! jlshell = 1 if there is a shell element in the mesh
|
||||||
|
! icompsol = 1 if there is a composite solid element in the mesh
|
||||||
|
! iupblgfo = 1 if follower force for point loads
|
||||||
|
! jcondir = 1 if contact priority option is used
|
||||||
|
! nstcrp = 0 (default) steady state creep flag (undocumented feature.
|
||||||
|
! if not 0, turns off special ncycle = 0 code in radial.f)
|
||||||
|
! nactive = number of active passes, if =1 then it's not a coupled analysis
|
||||||
|
! ipassref = reference ipass, if not in a multiphysics pass ipass=ipassref
|
||||||
|
! icheckmpc = value of mpc-check parameter option
|
||||||
|
! noline = set to 1 in osolty if no line seacrh should be done in ogetst
|
||||||
|
! icuring = set to 1 if the curing is included for the heat transfer analysis.
|
||||||
|
! ishrink = set to 1 if shrinkage strain is included for mechancial analysis.
|
||||||
|
! ioffsflg = 1 for small displacement beam/shell offsets
|
||||||
|
! = 2 for large displacement beam/shell offsets
|
||||||
|
! isetoff = 0 - do not apply beam/shell offsets
|
||||||
|
! = 1 - apply beam/shell offsets
|
||||||
|
! ioffsetm = min. value of offset flag
|
||||||
|
! inc_incdat = flag to record increment number of a new loadcase in incdat.f
|
||||||
|
! iautspc = flag for AutoSPC option
|
||||||
|
! ibrake = brake squeal in this increment
|
||||||
|
! icbush = set to 1 if cbush elements present in model
|
||||||
|
! istream_input = set to 1 for streaming input calling Marc as library
|
||||||
|
! iprsinp = set to 1 if pressure input, introduced so other variables
|
||||||
|
! such as h could be a function of pressure
|
||||||
|
! ivlsinp = set to 1 if velocity input, introduced so other variables
|
||||||
|
! such as h could be a function of velocity
|
||||||
|
! ipin_m = # of beam element with PIN flag
|
||||||
|
! jgnstr_glb = global control over pre or fast integrated composite shells
|
||||||
|
! imarc_return = Marc return flag for streaming input control
|
||||||
|
! iqvcimp = if non-zero, then the number of QVECT boundary conditions
|
||||||
|
! nqvceid = number of QVECT boundary conditions, where emisivity/absorbtion id entered
|
||||||
|
! istpnx = 1 if to stop at end of increment
|
||||||
|
! imicro1 = 1 if micro1 interface is used
|
||||||
|
! iaxisymm = set to 1 if axisymmetric analysis
|
||||||
|
! jbreakglue = set to 1 if breaking glued option is used
|
||||||
|
! iglstif = 1 if ddm and global stiffness matrix formed (sgi solver 6 or solver9)
|
||||||
|
! jfastasm = 1 do fast assembly using SuperForm code
|
||||||
|
! iwear = set to 1 if wear model, set to 2 if wear model and coordinates updated
|
||||||
|
! iwearcf = set to 1 to store nodal coefficient of friction for wear calculation
|
||||||
|
! imixmeth = set=1 then use nonlinear mixture material - allocate memory
|
||||||
|
! ielcmadyn = flag for magnetodynamics
|
||||||
|
! 0 - electromagnetics using newmark beta
|
||||||
|
! 1 - transient magnetics using backward euler
|
||||||
|
! idinout = flag to control if inside out elements should be deactivated
|
||||||
|
! igena_meth = 0 - generalized alpha parameters depend on whether or not contact
|
||||||
|
! is flagged (dynamic,7)
|
||||||
|
! 10 - generalized alpha parameters are optimized for a contact
|
||||||
|
! analysis (dynamic,8)
|
||||||
|
! 11 - generalized alpha parameters are optimized for an analysis
|
||||||
|
! without contact (dynamic,8)
|
||||||
|
! magf_meth = - Method to compute force in magnetostatic - structural
|
||||||
|
! = 1 - Virtual work method
|
||||||
|
! = 2 - Maxwell stress tensor
|
||||||
|
! non_assumed = 1 no assumed strain formulation (forced)
|
||||||
|
! iredoboudry set to 1 if contact boundary needs to be recalculated
|
||||||
|
!
|
||||||
|
!***********************************************************************
|
|
@ -0,0 +1,28 @@
|
||||||
|
! common block definition file taken from respective MSC.Marc release and reformated to free format
|
||||||
|
!***********************************************************************
|
||||||
|
!
|
||||||
|
! File: creeps.cmn
|
||||||
|
!
|
||||||
|
! MSC.Marc include file
|
||||||
|
!
|
||||||
|
real(pReal) cptim,timinc,timinc_p,timinc_s,timincm,timinc_a,timinc_b,creept
|
||||||
|
integer(pInt) icptim,icfte,icfst,icfeq,icftm,icetem,mcreep,jcreep,icpa,icftmp,icfstr,&
|
||||||
|
icfqcp,icfcpm,icrppr,icrcha,icpb,iicpmt,iicpa
|
||||||
|
real(pReal) time_beg_lcase,time_beg_inc,fractol,time_beg_pst
|
||||||
|
!
|
||||||
|
integer(pInt) num_creepsr,num_creepsi,num_creeps2r
|
||||||
|
parameter(num_creepsr=40)
|
||||||
|
parameter(num_creepsi=18)
|
||||||
|
parameter(num_creeps2r=4)
|
||||||
|
common/marc_creeps/cptim,timinc,timinc_p,timinc_s,timincm,timinc_a,timinc_b,creept(33),icptim,icfte,icfst,&
|
||||||
|
icfeq,icftm,icetem,mcreep,jcreep,icpa,icftmp,icfstr,icfqcp,icfcpm,icrppr,icrcha,icpb,iicpmt,iicpa
|
||||||
|
common/marc_creeps2/time_beg_lcase,time_beg_inc,fractol,time_beg_pst
|
||||||
|
!
|
||||||
|
! time_beg_lcase time at the beginning of the current load case
|
||||||
|
! time_beg_inc time at the beginning of the current increment
|
||||||
|
! fractol fraction of loadcase or increment time when we
|
||||||
|
! consider it to be finished
|
||||||
|
! time_beg_pst time corresponding to first increment to be
|
||||||
|
! read in from thermal post file for auto step
|
||||||
|
!
|
||||||
|
!***********************************************************************
|
|
@ -6,7 +6,7 @@ import os,sys,string,re,damask
|
||||||
architectures = {
|
architectures = {
|
||||||
'marc': {
|
'marc': {
|
||||||
'parent': 'DAMASK_marc.f90',
|
'parent': 'DAMASK_marc.f90',
|
||||||
'versions' : ['%%MARCVERSION%%','2007r1','2008r1','2010'],
|
'versions' : ['%%MARCVERSION%%','2007r1','2008r1','2010','2011'],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
#!/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`
|
||||||
|
. $DIR/tools/include
|
||||||
|
DIRJOB=$2
|
||||||
|
cd $DIRJOB
|
||||||
|
echo "Compiling and linking user subroutine $user on host `hostname`"
|
||||||
|
echo "program: $program"
|
||||||
|
$FORTRAN $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 \
|
||||||
|
$SYSLIBS || \
|
||||||
|
{
|
||||||
|
echo "$0: link failed for $usernoext.o on host `hostname`"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
/bin/rm $userobj
|
||||||
|
/bin/rm $DIRJOB/*.mod
|
|
@ -0,0 +1,41 @@
|
||||||
|
#!/bin/ksh
|
||||||
|
# 1st arg: $DIR
|
||||||
|
# 2nd arg: $DIRJOB
|
||||||
|
# 3rd arg: $user
|
||||||
|
# 4th arg: $program
|
||||||
|
DIR=$1
|
||||||
|
user=$3
|
||||||
|
program=$4
|
||||||
|
. $DIR/tools/include
|
||||||
|
DIRJOB=$2
|
||||||
|
cd $DIRJOB
|
||||||
|
echo "Compiling and linking user subroutine $user.f on host `hostname`"
|
||||||
|
echo "program: $program"
|
||||||
|
$FORTRAN $user.f || \
|
||||||
|
{
|
||||||
|
echo "$0: compile failed for $user.f"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
/bin/rm $program 2>/dev/null
|
||||||
|
userobj=$user.o
|
||||||
|
|
||||||
|
|
||||||
|
$LOAD ${program} $DIR/lib/main.o\
|
||||||
|
$DIR/lib/blkdta.o $DIR/lib/comm?.o \
|
||||||
|
${userobj-} \
|
||||||
|
$DIR/lib/srclib.a \
|
||||||
|
$MNFLIBS \
|
||||||
|
$MDUSER \
|
||||||
|
../lib/mdsrc.a \
|
||||||
|
../lib/mcvfit.a \
|
||||||
|
$STUBS \
|
||||||
|
${SOLVERLIBS} \
|
||||||
|
$TKLIBS \
|
||||||
|
$MRCLIBS \
|
||||||
|
$METISLIBS \
|
||||||
|
$SYSLIBS || \
|
||||||
|
{
|
||||||
|
echo "$0: link failed for $user.o on host `hostname`"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
/bin/rm $userobj
|
|
@ -0,0 +1,47 @@
|
||||||
|
#!/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`
|
||||||
|
. $DIR/tools/include
|
||||||
|
DIRJOB=$2
|
||||||
|
cd $DIRJOB
|
||||||
|
echo "Compiling and linking user subroutine $user on host `hostname`"
|
||||||
|
echo "program: $program"
|
||||||
|
$FORTHIGH $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 \
|
||||||
|
$SYSLIBS || \
|
||||||
|
{
|
||||||
|
echo "$0: link failed for $usernoext.o on host `hostname`"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
/bin/rm $userobj
|
||||||
|
/bin/rm $DIRJOB/*.mod
|
|
@ -0,0 +1,47 @@
|
||||||
|
#!/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`
|
||||||
|
. $DIR/tools/include
|
||||||
|
DIRJOB=$2
|
||||||
|
cd $DIRJOB
|
||||||
|
echo "Compiling and linking user subroutine $user on host `hostname`"
|
||||||
|
echo "program: $program"
|
||||||
|
$FORTHIGHMP $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 \
|
||||||
|
$SYSLIBS || \
|
||||||
|
{
|
||||||
|
echo "$0: link failed for $usernoext.o on host `hostname`"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
/bin/rm $userobj
|
||||||
|
/bin/rm $DIRJOB/*.mod
|
|
@ -0,0 +1,647 @@
|
||||||
|
#
|
||||||
|
# General definitions for the Marc 2011 version
|
||||||
|
#
|
||||||
|
# EM64T
|
||||||
|
# ( LP64 - i4 version)
|
||||||
|
# (ILP64 - i8 version)
|
||||||
|
#
|
||||||
|
# Linux RedHat 5.4
|
||||||
|
#
|
||||||
|
# 64 bit MPI version
|
||||||
|
#
|
||||||
|
# Intel(R) Fortran Compiler
|
||||||
|
# Version 12.0.4
|
||||||
|
#
|
||||||
|
# Intel(R) C Compiler
|
||||||
|
# Version 12.0.4
|
||||||
|
#
|
||||||
|
# DATE
|
||||||
|
#
|
||||||
|
# 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 4.0.1.007
|
||||||
|
# To check the mpi version, type:
|
||||||
|
# mpirun -version
|
||||||
|
#
|
||||||
|
# MKL Libraries:
|
||||||
|
# Intel(R) MKL 10.3.0.084
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
|
||||||
|
#
|
||||||
|
# settings for Metis
|
||||||
|
#
|
||||||
|
METIS="-I$METIS_SOURCE"
|
||||||
|
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
|
||||||
|
#
|
||||||
|
# select MPITYPE based upon what is installed
|
||||||
|
MPITYPE=none
|
||||||
|
if test -d $MARC_INTELMPI
|
||||||
|
then
|
||||||
|
MPITYPE=intelmpi
|
||||||
|
fi
|
||||||
|
if test -d $MARC_HPMPI
|
||||||
|
then
|
||||||
|
MPITYPE=hpmpi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $AUTOFORGE
|
||||||
|
then
|
||||||
|
if test $AUTOFORGE = 1
|
||||||
|
then
|
||||||
|
MPITYPE=none
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
# uncomment one of the definitions of MPITYPE below to
|
||||||
|
# explicitly choose the type of MPI to use
|
||||||
|
#MPITYPE=none
|
||||||
|
#MPITYPE=hpmpi
|
||||||
|
#MPITYPE=intelmpi
|
||||||
|
|
||||||
|
MPI_DEFAULT=hpmpi
|
||||||
|
MPI_OTHER=intelmpi
|
||||||
|
|
||||||
|
INTELMPI_VERSION=HYDRA
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
#
|
||||||
|
# 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"
|
||||||
|
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
|
||||||
|
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 -n "
|
||||||
|
RUN_JOB2="${MPI_ROOT}/bin64/mpiexec.hydra "
|
||||||
|
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
|
||||||
|
#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 lines to build with GPGPU version of BCS Solver for
|
||||||
|
# NVIDIA platforms
|
||||||
|
BCSGPUSOLVER=NONE
|
||||||
|
#BCSGPUSOLVER=BCSGPU
|
||||||
|
|
||||||
|
# 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
|
||||||
|
#
|
||||||
|
SOLVERFLAGS=
|
||||||
|
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 "$BCSGPUSOLVER" = BCSGPU
|
||||||
|
then
|
||||||
|
SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU"
|
||||||
|
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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
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 -DOPENMP -DMKL"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# -D_MSCMARC
|
||||||
|
FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT"
|
||||||
|
CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES"
|
||||||
|
|
||||||
|
CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource"
|
||||||
|
if test "$_OEM_NASTRAN" -ne 0
|
||||||
|
then
|
||||||
|
CINCL="$CINCL -I../../include"
|
||||||
|
fi
|
||||||
|
|
||||||
|
CC="icc -c -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL"
|
||||||
|
CCLOW="icc -c -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL"
|
||||||
|
CCHIGH="icc -c -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL"
|
||||||
|
|
||||||
|
if test "$MARCDEBUG" = "ON"
|
||||||
|
then
|
||||||
|
CC="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL"
|
||||||
|
CCLOW="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL"
|
||||||
|
CCHIGH="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LOAD_CC="icc -O1 -DLinux -DLINUX -DLinux_intel"
|
||||||
|
CCT="$CC"
|
||||||
|
CCTLOW="$CCLOW"
|
||||||
|
CCTHIGH="$CCHIGH"
|
||||||
|
|
||||||
|
CC_CASI="$CC -c99 $I8CASIDEFS"
|
||||||
|
CCLOW_CASI="$CCLOW -c99 $I8CASIDEFS"
|
||||||
|
CCHIGH_CASI="$CCHIGH -c99 $I8CASIDEFS"
|
||||||
|
|
||||||
|
CCT_CASI="$CCT -c99 $I8CASIDEFS"
|
||||||
|
CCTLOW_CASI="$CCLOW -c99 $I8CASIDEFS"
|
||||||
|
CCTHIGH_CASI="$CCHIGH -c99 $I8CASIDEFS"
|
||||||
|
|
||||||
|
#PROFILE="-Mprof=func"
|
||||||
|
#PROFILE="-Mprof=lines"
|
||||||
|
#PROFILE="-Mprof=func,mpi"
|
||||||
|
PROFILE=
|
||||||
|
|
||||||
|
FORTLOW="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -fpp -zero -mp1 -WB -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTRAN="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -fpp -zero -mp1 -WB -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTHIGH="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -fpp -zero -mp1 -WB -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTHIGHMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -fpp -zero -mp1 -WB -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-openmp -openmp_report2 \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTNA="$FCOMP -c -assume byterecl -safe_cray_ptr -save -fpp -zero -mp1 -WB -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||||
|
|
||||||
|
if test "$MARCDEBUG" = "ON"
|
||||||
|
then
|
||||||
|
FORTLOW="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -fpp -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTRAN="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -fpp -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTHIGH="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -fpp -zero -mp1 -WB -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTHIGHMP="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -fpp -zero -mp1 -WB -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-openmp -openmp_report2 \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTNA="$FCOMP -c -assume byterecl -safe_cray_ptr -save -fpp -zero -mp1 -WB -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -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 -c -fpp -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}/bcsgpusolver/bcslib_csrc $CDEFINES $CINCL"
|
||||||
|
NVCC="nvcc -c -O3 -arch sm_13 -DLOWERCASE_ -I${MARC_SOURCE}/bcsgpusolver/bcslib_cuda/include "
|
||||||
|
BCSFORTLOW="$FORTLOW -I${MARC_SOURCE}/bcsgpusolver/common"
|
||||||
|
BCSFORTRAN="$FORTRAN -I${MARC_SOURCE}/bcsgpusolver/common"
|
||||||
|
BCSFORTHIGH="$FORTHIGH -I${MARC_SOURCE}/bcsgpusolver/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="$MPI_ROOT/bin64/$FCOMPMPI $PROFILE $LINK_OPT -o "
|
||||||
|
LOADT="$MPI_ROOT/bin64/$FCOMPMPI $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_LIB/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 "$INTELSOLVER" = PARDISO
|
||||||
|
then
|
||||||
|
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||||
|
INTELSOLVERLIBS="$MARC_MKL/libmkl_solver_lp64.a"
|
||||||
|
else
|
||||||
|
INTELSOLVERLIBS="$MARC_MKL/libmkl_solver_ilp64.a"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
INTELSOLVERLIBS=
|
||||||
|
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_scalapack_lp64.a $MARC_MKL/libmkl_blacs_intelmpi_lp64.a"
|
||||||
|
else
|
||||||
|
MUMPSSOLVERLIBS2="$MARC_MKL/libmkl_scalapack_ilp64.a $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_scalapack_lp64.a $MARC_MKL/libmkl_blacs_lp64.a"
|
||||||
|
else
|
||||||
|
MUMPSSOLVERLIBS2="$MARC_MKL/libmkl_scalapack_ilp64.a $MARC_MKL/libmkl_blacs_ilp64.a"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
MUMPSSOLVERLIBS=
|
||||||
|
MUMPSSOLVERLIBS2=
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$BCSGPUSOLVER" = BCSGPU
|
||||||
|
then
|
||||||
|
BCSSOLVERLIBS="${MARC_LIB}/bcsgpulib.a -L/usr/local/cuda/lib -lcudart -lcublas -lcuda "
|
||||||
|
else
|
||||||
|
BCSSOLVERLIBS="${MARC_LIB}/bcslib.a "
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||||
|
MKLLIB=$MARC_MKL/libmkl_intel_lp64.a
|
||||||
|
else
|
||||||
|
MKLLIB=$MARC_MKL/libmkl_intel_ilp64.a
|
||||||
|
fi
|
||||||
|
|
||||||
|
SECLIBS="-L$MARC_LIB -llapi"
|
||||||
|
|
||||||
|
SOLVERLIBS="${BCSSOLVERLIBS} \
|
||||||
|
${INTELSOLVERLIBS} ${MUMPSSOLVERLIBS2} ${MF2SOLVERLIBS} \
|
||||||
|
-Wl,--start-group $MKLLIB $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a -Wl,--end-group \
|
||||||
|
$MARC_MKL/libguide.a \
|
||||||
|
$MARC_LIB/blas_src.a ${VKISOLVERLIBS} ${CASISOLVERLIBS} "
|
||||||
|
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"
|
||||||
|
|
||||||
|
|
||||||
|
OPENMP="-openmp"
|
||||||
|
|
||||||
|
SYSLIBS=" $OPENMP -lpthread "
|
||||||
|
|
||||||
|
# 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 -lmpiif -lmpigi -lrt $OPENMP -lpthread"
|
||||||
|
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"
|
||||||
|
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 "
|
||||||
|
|
||||||
|
|
||||||
|
HIGH_OPT_CODES_CASI="arithkernels.c blockedroutines.c blockedroutines_fd.c elemmatgenkernels.c longvecroutines.c sfmultutils.c solvewithbd.c"
|
||||||
|
|
||||||
|
MAXNUM=1000000
|
|
@ -0,0 +1,641 @@
|
||||||
|
#
|
||||||
|
# General definitions for the Marc 2011 version
|
||||||
|
#
|
||||||
|
# EM64T
|
||||||
|
# ( LP64 - i4 version)
|
||||||
|
# (ILP64 - i8 version)
|
||||||
|
#
|
||||||
|
# Linux RedHat 5.4
|
||||||
|
#
|
||||||
|
# 64 bit MPI version
|
||||||
|
#
|
||||||
|
# Intel(R) Fortran Compiler
|
||||||
|
# Version 12.0.4
|
||||||
|
#
|
||||||
|
# Intel(R) C Compiler
|
||||||
|
# Version 12.0.4
|
||||||
|
#
|
||||||
|
# DATE
|
||||||
|
#
|
||||||
|
# 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 4.0.1.007
|
||||||
|
# To check the mpi version, type:
|
||||||
|
# mpirun -version
|
||||||
|
#
|
||||||
|
# MKL Libraries:
|
||||||
|
# Intel(R) MKL 10.3.0.084
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
|
||||||
|
#
|
||||||
|
# settings for Metis
|
||||||
|
#
|
||||||
|
METIS="-I$METIS_SOURCE"
|
||||||
|
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
|
||||||
|
#
|
||||||
|
# select MPITYPE based upon what is installed
|
||||||
|
MPITYPE=none
|
||||||
|
if test -d $MARC_INTELMPI
|
||||||
|
then
|
||||||
|
MPITYPE=intelmpi
|
||||||
|
fi
|
||||||
|
if test -d $MARC_HPMPI
|
||||||
|
then
|
||||||
|
MPITYPE=hpmpi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $AUTOFORGE
|
||||||
|
then
|
||||||
|
if test $AUTOFORGE = 1
|
||||||
|
then
|
||||||
|
MPITYPE=none
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
# uncomment one of the definitions of MPITYPE below to
|
||||||
|
# explicitly choose the type of MPI to use
|
||||||
|
#MPITYPE=none
|
||||||
|
#MPITYPE=hpmpi
|
||||||
|
#MPITYPE=intelmpi
|
||||||
|
|
||||||
|
MPI_DEFAULT=hpmpi
|
||||||
|
MPI_OTHER=intelmpi
|
||||||
|
|
||||||
|
INTELMPI_VERSION=HYDRA
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
#
|
||||||
|
# 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"
|
||||||
|
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
|
||||||
|
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 -n "
|
||||||
|
RUN_JOB2="${MPI_ROOT}/bin64/mpiexec.hydra "
|
||||||
|
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
|
||||||
|
#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 lines to build with GPGPU version of BCS Solver for
|
||||||
|
# NVIDIA platforms
|
||||||
|
BCSGPUSOLVER=NONE
|
||||||
|
#BCSGPUSOLVER=BCSGPU
|
||||||
|
|
||||||
|
# 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
|
||||||
|
#
|
||||||
|
SOLVERFLAGS=
|
||||||
|
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 "$BCSGPUSOLVER" = BCSGPU
|
||||||
|
then
|
||||||
|
SOLVERFLAGS="$SOLVERFLAGS -DBCSGPU"
|
||||||
|
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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
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 -DOPENMP -DMKL"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# -D_MSCMARC
|
||||||
|
FDEFINES="$FDEFINES -D_MSCMARC $DEBUG_OPT"
|
||||||
|
CDEFINES="$CDEFINES -D_MSCMARC $C_DEBUG_OPT $I8CDEFINES"
|
||||||
|
|
||||||
|
CINCL="-I$MARC_SOURCE/mdsrc -I$MARC_SOURCE/csource"
|
||||||
|
if test "$_OEM_NASTRAN" -ne 0
|
||||||
|
then
|
||||||
|
CINCL="$CINCL -I../../include"
|
||||||
|
fi
|
||||||
|
|
||||||
|
CC="icc -c -O1 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL"
|
||||||
|
CCLOW="icc -c -O0 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL"
|
||||||
|
CCHIGH="icc -c -O3 $I8DEFINES -DLinux -DLINUX -DLinux_intel $CDEFINES $CINCL"
|
||||||
|
|
||||||
|
if test "$MARCDEBUG" = "ON"
|
||||||
|
then
|
||||||
|
CC="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL"
|
||||||
|
CCLOW="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL"
|
||||||
|
CCHIGH="icc -c -DLinux $I8DEFINES -DLINUX -DLinux_intel $CDEFINES $CINCL"
|
||||||
|
fi
|
||||||
|
|
||||||
|
LOAD_CC="icc -O1 -DLinux -DLINUX -DLinux_intel"
|
||||||
|
CCT="$CC"
|
||||||
|
CCTLOW="$CCLOW"
|
||||||
|
CCTHIGH="$CCHIGH"
|
||||||
|
|
||||||
|
CC_CASI="$CC -c99 $I8CASIDEFS"
|
||||||
|
CCLOW_CASI="$CCLOW -c99 $I8CASIDEFS"
|
||||||
|
CCHIGH_CASI="$CCHIGH -c99 $I8CASIDEFS"
|
||||||
|
|
||||||
|
CCT_CASI="$CCT -c99 $I8CASIDEFS"
|
||||||
|
CCTLOW_CASI="$CCLOW -c99 $I8CASIDEFS"
|
||||||
|
CCTHIGH_CASI="$CCHIGH -c99 $I8CASIDEFS"
|
||||||
|
|
||||||
|
#PROFILE="-Mprof=func"
|
||||||
|
#PROFILE="-Mprof=lines"
|
||||||
|
#PROFILE="-Mprof=func,mpi"
|
||||||
|
PROFILE=
|
||||||
|
|
||||||
|
FORTLOW="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp1 -WB -O0 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTRAN="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp1 -WB -O1 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTHIGH="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp1 -WB -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTNA="$FCOMP -c -assume byterecl -safe_cray_ptr -save -zero -mp1 -WB -fno-alias -O3 $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8DEFINES -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM"
|
||||||
|
|
||||||
|
if test "$MARCDEBUG" = "ON"
|
||||||
|
then
|
||||||
|
FORTLOW="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTRAN="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp1 -WB $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTHIGH="$FCOMP -c -assume byterecl -safe_cray_ptr $PROFILE -save -zero -mp1 -WB -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -DLinux -DLINUX -DLinux_intel $FDEFINES $DDM $SOLVERFLAGS"
|
||||||
|
FORTNA="$FCOMP -c -assume byterecl -safe_cray_ptr -save -zero -mp1 -WB -fno-alias $I8FFLAGS -I$MARC_SOURCE/common \
|
||||||
|
-I$MARC_SOURCE/bcssolver/common -I$MARC_SOURCE/mumpssolver/include $I8FFLAGS -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 -c -fpp -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}/bcsgpusolver/bcslib_csrc $CDEFINES $CINCL"
|
||||||
|
NVCC="nvcc -c -O3 -arch sm_13 -DLOWERCASE_ -I${MARC_SOURCE}/bcsgpusolver/bcslib_cuda/include "
|
||||||
|
BCSFORTLOW="$FORTLOW -I${MARC_SOURCE}/bcsgpusolver/common"
|
||||||
|
BCSFORTRAN="$FORTRAN -I${MARC_SOURCE}/bcsgpusolver/common"
|
||||||
|
BCSFORTHIGH="$FORTHIGH -I${MARC_SOURCE}/bcsgpusolver/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="$MPI_ROOT/bin64/$FCOMPMPI $PROFILE $LINK_OPT -o "
|
||||||
|
LOADT="$MPI_ROOT/bin64/$FCOMPMPI $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_LIB/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 "$INTELSOLVER" = PARDISO
|
||||||
|
then
|
||||||
|
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||||
|
INTELSOLVERLIBS="$MARC_MKL/libmkl_solver_lp64.a"
|
||||||
|
else
|
||||||
|
INTELSOLVERLIBS="$MARC_MKL/libmkl_solver_ilp64.a"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
INTELSOLVERLIBS=
|
||||||
|
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_scalapack_lp64.a $MARC_MKL/libmkl_blacs_intelmpi_lp64.a"
|
||||||
|
else
|
||||||
|
MUMPSSOLVERLIBS2="$MARC_MKL/libmkl_scalapack_ilp64.a $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_scalapack_lp64.a $MARC_MKL/libmkl_blacs_lp64.a"
|
||||||
|
else
|
||||||
|
MUMPSSOLVERLIBS2="$MARC_MKL/libmkl_scalapack_ilp64.a $MARC_MKL/libmkl_blacs_ilp64.a"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
MUMPSSOLVERLIBS=
|
||||||
|
MUMPSSOLVERLIBS2=
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$BCSGPUSOLVER" = BCSGPU
|
||||||
|
then
|
||||||
|
BCSSOLVERLIBS="${MARC_LIB}/bcsgpulib.a -L/usr/local/cuda/lib -lcudart -lcublas -lcuda "
|
||||||
|
else
|
||||||
|
BCSSOLVERLIBS="${MARC_LIB}/bcslib.a "
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$MARC_INTEGER_SIZE" = "i4" ; then
|
||||||
|
MKLLIB=$MARC_MKL/libmkl_intel_lp64.a
|
||||||
|
else
|
||||||
|
MKLLIB=$MARC_MKL/libmkl_intel_ilp64.a
|
||||||
|
fi
|
||||||
|
|
||||||
|
SECLIBS="-L$MARC_LIB -llapi"
|
||||||
|
|
||||||
|
SOLVERLIBS="${BCSSOLVERLIBS} \
|
||||||
|
${INTELSOLVERLIBS} ${MUMPSSOLVERLIBS2} ${MF2SOLVERLIBS} \
|
||||||
|
-Wl,--start-group $MKLLIB $MARC_MKL/libmkl_intel_thread.a $MARC_MKL/libmkl_core.a -Wl,--end-group \
|
||||||
|
$MARC_MKL/libguide.a \
|
||||||
|
$MARC_LIB/blas_src.a ${VKISOLVERLIBS} ${CASISOLVERLIBS} "
|
||||||
|
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"
|
||||||
|
|
||||||
|
|
||||||
|
OPENMP="-openmp"
|
||||||
|
|
||||||
|
SYSLIBS=" $OPENMP -lpthread "
|
||||||
|
|
||||||
|
# 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 -lmpiif -lmpigi -lrt $OPENMP -lpthread"
|
||||||
|
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"
|
||||||
|
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 "
|
||||||
|
|
||||||
|
|
||||||
|
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
|
@ -0,0 +1,12 @@
|
||||||
|
#!/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.
|
||||||
|
|
||||||
|
if [ "`uname`" = "SunOS" ]; then
|
||||||
|
dir=/usr/openwin/bin
|
||||||
|
else
|
||||||
|
dir=/usr/bin/X11
|
||||||
|
fi
|
||||||
|
|
||||||
|
# $dir/xterm -T "vi $*" -n "vi $*" -e vi $*
|
||||||
|
kwrite $*
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/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.
|
||||||
|
|
||||||
|
if [ "`uname`" = "SunOS" ]; then
|
||||||
|
dir=/usr/openwin/bin
|
||||||
|
else
|
||||||
|
dir=/usr/bin/X11
|
||||||
|
fi
|
||||||
|
|
||||||
|
$dir/xterm -T "vi $*" -n "vi $*" -e vi $*
|
|
@ -0,0 +1,157 @@
|
||||||
|
#!/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
|
||||||
|
|
||||||
|
SRCEXT=.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
|
||||||
|
nthread=$9
|
||||||
|
shift 9 # cannot use $10, $11, ...
|
||||||
|
nsolver=$1
|
||||||
|
mode=$2
|
||||||
|
|
||||||
|
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$//"`
|
||||||
|
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 [ "$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
|
||||||
|
|
||||||
|
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_h_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 \
|
||||||
|
$nthread $nsolver $mode > /dev/null 2>&1
|
||||||
|
sleep 1
|
||||||
|
exit 0
|
|
@ -0,0 +1,156 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# The exit status of this script is read by Mentat.
|
||||||
|
# Normal exit status is 0.
|
||||||
|
#
|
||||||
|
|
||||||
|
DIR=/home/f.roters/msc/marc2011
|
||||||
|
if test $MARCDIR1
|
||||||
|
then
|
||||||
|
DIR=$MARCDIR1
|
||||||
|
fi
|
||||||
|
|
||||||
|
SRCEXT=.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
|
||||||
|
nthread=$9
|
||||||
|
shift 9 # cannot use $10, $11, ...
|
||||||
|
nsolver=$1
|
||||||
|
mode=$2
|
||||||
|
|
||||||
|
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$//"`
|
||||||
|
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 [ "$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
|
||||||
|
|
||||||
|
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 \
|
||||||
|
$nthread $nsolver $mode > /dev/null 2>&1
|
||||||
|
sleep 1
|
||||||
|
exit 0
|
|
@ -0,0 +1,157 @@
|
||||||
|
#!/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
|
||||||
|
|
||||||
|
SRCEXT=.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
|
||||||
|
nthread=$9
|
||||||
|
shift 9 # cannot use $10, $11, ...
|
||||||
|
nsolver=$1
|
||||||
|
mode=$2
|
||||||
|
|
||||||
|
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$//"`
|
||||||
|
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 [ "$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
|
||||||
|
|
||||||
|
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 \
|
||||||
|
$nthread $nsolver $mode > /dev/null 2>&1
|
||||||
|
sleep 1
|
||||||
|
exit 0
|
|
@ -0,0 +1,156 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# The exit status of this script is read by Mentat.
|
||||||
|
# Normal exit status is 0.
|
||||||
|
#
|
||||||
|
|
||||||
|
DIR=/home/f.roters/msc/marc2011
|
||||||
|
if test $MARCDIR2
|
||||||
|
then
|
||||||
|
DIR=$MARCDIR2
|
||||||
|
fi
|
||||||
|
|
||||||
|
SRCEXT=.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
|
||||||
|
nthread=$9
|
||||||
|
shift 9 # cannot use $10, $11, ...
|
||||||
|
nsolver=$1
|
||||||
|
mode=$2
|
||||||
|
|
||||||
|
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$//"`
|
||||||
|
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 [ "$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
|
||||||
|
|
||||||
|
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 \
|
||||||
|
$nthread $nsolver $mode > /dev/null 2>&1
|
||||||
|
sleep 1
|
||||||
|
exit 0
|
|
@ -0,0 +1,157 @@
|
||||||
|
#!/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
|
||||||
|
|
||||||
|
SRCEXT=.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
|
||||||
|
nthread=$9
|
||||||
|
shift 9 # cannot use $10, $11, ...
|
||||||
|
nsolver=$1
|
||||||
|
mode=$2
|
||||||
|
|
||||||
|
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$//"`
|
||||||
|
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 [ "$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
|
||||||
|
|
||||||
|
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_mp_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 \
|
||||||
|
$nthread $nsolver $mode > /dev/null 2>&1
|
||||||
|
sleep 1
|
||||||
|
exit 0
|
|
@ -0,0 +1,154 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# The exit status of this script is read by Mentat.
|
||||||
|
# Normal exit status is 0.
|
||||||
|
#
|
||||||
|
# This is an example of remote execution of MARC using NFS
|
||||||
|
#
|
||||||
|
|
||||||
|
DIR=/home/f.roters/msc/marc2011
|
||||||
|
|
||||||
|
SRCEXT=.f
|
||||||
|
RSTEXT=.t08
|
||||||
|
PSTEXT=.t19
|
||||||
|
PSTEXTB=.t16
|
||||||
|
VWFCEXT=.vfs
|
||||||
|
|
||||||
|
# Customize the following two lines:
|
||||||
|
rhost=zippy
|
||||||
|
job=/mounts/linus$PWD/$6
|
||||||
|
|
||||||
|
slv=$1
|
||||||
|
version=$2
|
||||||
|
ndom_fea_solver=$3
|
||||||
|
ndom_preprocessor=$4
|
||||||
|
hostfile=$5
|
||||||
|
compat=$6
|
||||||
|
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
|
||||||
|
nthread=$9
|
||||||
|
shift 9 # cannot use $10, $11, ...
|
||||||
|
nsolver=$1
|
||||||
|
mode=$2
|
||||||
|
|
||||||
|
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$//"`
|
||||||
|
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 [ "$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
|
||||||
|
|
||||||
|
rm -f $job.cnt
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
rsh $rhost 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 \
|
||||||
|
$nthread $nsolver $mode > /dev/null 2>&1
|
||||||
|
sleep 1
|
||||||
|
exit 0
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
DEFAULT_INSTALLDIR='/msc'
|
DEFAULT_INSTALLDIR='/msc'
|
||||||
DEFAULT_ACMLDIR='/opt/acml4.0.0'
|
DEFAULT_ACMLDIR='/opt/acml4.0.0'
|
||||||
DEFAULT_VERSION='2010.2'
|
DEFAULT_VERSION='2011'
|
||||||
|
|
||||||
WORKINGDIR=`dirname $0`
|
WORKINGDIR=`dirname $0`
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ echo "MSC installation path: $INSTALLDIR"
|
||||||
|
|
||||||
ACMLDIR=''
|
ACMLDIR=''
|
||||||
if [ -f $WORKINGDIR/../../lib/pathinfo ]; then
|
if [ -f $WORKINGDIR/../../lib/pathinfo ]; then
|
||||||
INSTALLDIR=`grep acml $WORKINGDIR/../../lib/pathinfo | head -n1 | awk 'BEGIN { FS = "[ \t]+" } ; { print $2 }'`
|
ACMLDIR=`grep acml $WORKINGDIR/../../lib/pathinfo | head -n1 | awk 'BEGIN { FS = "[ \t]+" } ; { print $2 }'`
|
||||||
fi
|
fi
|
||||||
while [ ! -d "$ACMLDIR" ] || [ -z "$ACMLDIR" ]
|
while [ ! -d "$ACMLDIR" ] || [ -z "$ACMLDIR" ]
|
||||||
do
|
do
|
|
@ -1,20 +1,17 @@
|
||||||
Install MPIE modifications to use DAMASK_marc2010
|
Install MPIE modifications to use DAMASK_marc2010/11
|
||||||
|
|
||||||
Usually you will need to be root for this to work!
|
Usually you will need to be root for this to work!
|
||||||
|
|
||||||
This is for the Linux64 version of Marc/Mentat2010(.2).
|
This is for the Linux64 version of Marc/Mentat2010(.2)/11.
|
||||||
See Marc and Mentat Release Guide for List of Build and Supported Platforms (p. 50)!
|
See Marc and Mentat Release Guide for List of Build and Supported Platforms!
|
||||||
|
|
||||||
The Intel Fortran compiler needs to be installed. The 2010 release of Marc/Mentat relies on Intel Fortran 10.1(_18)!
|
The Intel Fortran compiler needs to be installed. The 2010 release of Marc/Mentat relies on Intel Fortran 10.1(_18)! The 2011 release of Marc/Mentat relies on Intel Fortran 12.0! Make sure that ifort (the compiler executable) is in the PATH and that LD_LIBRARY_PATH is set correctly, refer to the Intel installation guide for instructions on how to do this.
|
||||||
Make sure that ifort (the compiler executable) is in the PATH and that LD_LIBRARY_PATH is set correctly,
|
|
||||||
refer to the Intel installation guide for instructions on how to do this.
|
|
||||||
|
|
||||||
The AMD Core Math Library needs to be installed in the standard path /opt/acml4.4.0,
|
The AMD Core Math Library needs to be installed.
|
||||||
otherwise the scripts run_marc, run_h_marc, and run_mp_marc need to be adopted accordingly!
|
Add acml path to LD_LIBRARY_PATH, to do so either use the script setup_shellrc.py in the installstion folder or for a systemwide setup edit /etc/csh.cshrc.local and/or /etc/bash.bashrc.local.
|
||||||
Add acml path to LD_LIBRARY_PATH, the best place to do so is: /etc/csh.cshrc.local and/or /etc/bash.bashrc.local
|
Assuming ACML is installed in path ACMLDIR the path should read: /ACMLDIR/ifort64_mp/lib (this is the version using paralllization, ie openmp):
|
||||||
The path should read: /opt/acml4.4.0/ifort64_mp/lib (this is the version using paralllization, ie openmp):
|
for bash: LD_LIBRARY_PATH="/ACMLDIR/ifort64_mp/lib:${LD_LIBRARY_PATH}"; export LD_LIBRARY_PATH
|
||||||
for bash: LD_LIBRARY_PATH="/opt/acml4.4.0/ifort64_mp/lib:${LD_LIBRARY_PATH}"; export LD_LIBRARY_PATH
|
for csh: setenv LD_LIBRARY_PATH /ACMLDIR/ifort64_mp/lib:${LD_LIBRARY_PATH}
|
||||||
for csh: setenv LD_LIBRARY_PATH /opt/acml4.4.0/ifort64_mp/lib:${LD_LIBRARY_PATH}
|
|
||||||
|
|
||||||
1) Install Marc, Mentat and Documentation as usual
|
1) Install Marc, Mentat and Documentation as usual
|
||||||
Run the test example including subroutines to confirm that the installation of both Marc/Mentat and the Intel Fortran Compiler is ok!
|
Run the test example including subroutines to confirm that the installation of both Marc/Mentat and the Intel Fortran Compiler is ok!
|
||||||
|
@ -23,7 +20,7 @@ The path should read: /opt/acml4.4.0/ifort64_mp/lib (this is the version using p
|
||||||
|
|
||||||
APPENDIX:
|
APPENDIX:
|
||||||
|
|
||||||
The structure of this directory should be (VERSION = 2010 or 2010.2):
|
The structure of this directory should be (VERSION = 2010 or 2010.2 or 2011):
|
||||||
|
|
||||||
./installation.txt this text
|
./installation.txt this text
|
||||||
./apply_MPIE_modifications script file to apply modifications to the installation
|
./apply_MPIE_modifications script file to apply modifications to the installation
|
Loading…
Reference in New Issue