#
#        System-Wide Abaqus Environment File
#       -------------------------------------
standard_parallel = ALL
mp_mode = MPI
mp_file_system = (DETECT,DETECT)
mp_num_parallel_ftps = (4, 4)
mp_environment_export = ('MPI_PROPAGATE_TSTP',
                         'ABA_CM_BUFFERING',
                         'ABA_CM_BUFFERING_LIMIT',
                         'ABA_ITERATIVE_SOLVER_VERBOSE',
                         'ABA_DMPSOLVER_BWDPARALLELOFF',
                         'ABA_ELP_SURFACE_SPLIT',
                         'ABA_ELP_SUSPEND',
                         'ABA_HOME',
                         'ABA_MEMORY_MODE',
                         'ABA_MPI_MESSAGE_TRACKING',
                         'ABA_MPI_VERBOSE_LEVEL',
                         'ABA_PATH',
                         'ABAQUS_CSE_RELTIMETOLERANCE',
                         'ABA_RESOURCE_MONITOR',
                         'ABA_RESOURCE_USEMALLINFO',
                         'ABAQUS_LANG',
                         'ABAQUS_CSE_CURRCONFIGMAPPING',
                         'ABAQUS_MPF_DIAGNOSTIC_LEVEL',
                         'ABAQUSLM_LICENSE_FILE',
                         'ABQ_CRTMALLOC',
                         'ABQ_DATACHECK',
                         'ABQ_RECOVER',
                         'ABQ_RESTART',
                         'ABQ_SPLITFILE',
                         'ABQ_XPL_WINDOWDUMP',
                         'ABQ_XPL_PARTITIONSIZE',
                         'ABQLMHANGLIMIT',
                         'ABQLMQUEUE',
                         'ABQLMUSER',
                         'CCI_RENDEZVOUS',
                         'DOMAIN',
                         'DOMAIN_CPUS',
                         'DOUBLE_PRECISION',
                         'FLEXLM_DIAGNOSTICS',
                         'FOR0006',
                         'FOR0064',
                         'FOR_IGNORE_EXCEPTIONS',
                         'FOR_DISABLE_DIAGNOSTIC_DISPLAY',
                         'LD_PRELOAD',
                         'MP_NUMBER_OF_THREADS',
                         'MPC_GANG',
                         'MPI_FLAGS',
                         'MPI_FLUSH_FCACHE',
                         'MPI_RDMA_NENVELOPE',
                         'MPI_SOCKBUFSIZE',
                         'MPI_USE_MALLOPT_MMAP_MAX',
                         'MPI_USE_MALLOPT_MMAP_THRESHOLD',
                         'MPI_USE_MALLOPT_SBRK_PROTECTION',
                         'MPI_WORKDIR',
                         'MPCCI_DEBUG',
                         'MPCCI_CODEID',
                         'MPCCI_JOBID',
                         'MPCCI_NETDEVICE',
                         'MPCCI_TINFO',
                         'MPCCI_SERVER',
                         'ABAQUS_CCI_DEBUG',
                         'NCPUS',
                         'OMP_DYNAMIC',
                         'OMP_NUM_THREADS', 
                         'OUTDIR',
                         'PAIDUP',
                         'PARALLEL_METHOD',
                         'RAIDEV_NDREG_LAZYMEM',
                         'ABA_SYMBOLIC_GENERALCOLLAPSE',
                         'ABA_SYMBOLIC_GENERAL_MAXCLIQUERANK',
                         'ABA_ADM_MINIMUMINCREASE',
                         'ABA_ADM_MINIMUMDECREASE',
                         'IPATH_NO_CPUAFFINITY',
                         'MALLOC_MMAP_THRESHOLD_',
                         'ABA_EXT_SIMOUTPUT',
			 'SMA_WS',
			 'SMA_PARENT',
			 'SMA_PLATFORM',
                         'ABA_PRE_DECOMPOSITION',
                         'ACML_FAST_MALLOC',
                         'ACML_FAST_MALLOC_CHUNK_SIZE',
                         'ACML_FAST_MALLOC_MAX_CHUNKS',
                         'ACML_FAST_MALLOC_DEBUG')

import driverUtils, os
#-*- mode: python -*-

#                                                                           #
#    Compile and Link command settings for the Windows 64 Platform          #
#                 ( AMD Opteron / Intel EM64T )                             #
#                                                                           #


compile_fortran=['ifort',
                 '/c','/DABQ_WIN86_64', '/u', 
                 '/iface:cref', '/recursive', '/Qauto-scalar',
                 '/QxSSE3', '/QaxAVX', 
                 '/heap-arrays:1', 
                 # '/Od', '/Ob0'   # <-- Optimization 
                 # '/Zi',          # <-- Debugging
                 '/include:%I', '/free', '/O1', '/fpp', '/openmp', '/Qmkl']

link_sl=['LINK',
         '/nologo', '/NOENTRY', '/INCREMENTAL:NO', '/subsystem:console', '/machine:AMD64',
         '/NODEFAULTLIB:LIBC.LIB', '/NODEFAULTLIB:LIBCMT.LIB',
         '/DEFAULTLIB:OLDNAMES.LIB', '/DEFAULTLIB:LIBIFCOREMD.LIB', '/DEFAULTLIB:LIBIFPORTMD', '/DEFAULTLIB:LIBMMD.LIB',
         '/DEFAULTLIB:kernel32.lib', '/DEFAULTLIB:user32.lib', '/DEFAULTLIB:advapi32.lib',
         '/FIXED:NO', '/dll',
         '/def:%E', '/out:%U', '%F', '%A', '%L', '%B', 
         'oldnames.lib', 'user32.lib', 'ws2_32.lib', 'netapi32.lib', 'advapi32.lib']

link_exe=['LINK',
          '/nologo', '/INCREMENTAL:NO', '/subsystem:console', '/machine:AMD64', '/STACK:20000000',
          '/NODEFAULTLIB:LIBC.LIB', '/NODEFAULTLIB:LIBCMT.LIB', '/DEFAULTLIB:OLDNAMES.LIB', '/DEFAULTLIB:LIBIFCOREMD.LIB',
          '/DEFAULTLIB:LIBIFPORTMD', '/DEFAULTLIB:LIBMMD.LIB', '/DEFAULTLIB:kernel32.lib',
          '/DEFAULTLIB:user32.lib', '/DEFAULTLIB:advapi32.lib',
          '/FIXED:NO', '/LARGEADDRESSAWARE',
          '/out:%J', '%F', '%M', '%L', '%B', '%O',
          'oldnames.lib', 'user32.lib', 'ws2_32.lib', 'netapi32.lib', 'advapi32.lib']

# Link command to be used for MAKE w/o fortran compiler.
# remove the pound signs in order to remove the comments and have the file take effect.
#
#link_exe=['LINK', '/nologo', 'INCREMENTAL:NO', '/subsystem:console', '/machine:AMD64', '/NODEFAULTLIB:LIBC.LIB', '/NODEFAULTLIB:LIBCMT.LIB',
#          '/DEFAULTLIB:OLDNAMES.LIB', '/DEFAULTLIB:MSVCRT.LIB', '/DEFAULTLIB:kernel32.lib', 'DEFAULTLIB:user32.lib', '/DEFAULTLIB:advapi32.lib',
#          '/FIXED:NO', '/LARGEADDRESSAWARE', '/DEBUG', '/out:%J', '%F', '%M', '%L', '%B', '%O', 'oldnames.lib', 'user32.lib', 'ws2_32.lib',
#          'netapi32.lib', 'advapi32.lib]

# MPI Configuration
mp_mode = THREADS

mp_mpi_implementation = NATIVE
mp_rsh_command = 'dummy %H -l %U -n %C'
mp_mpirun_path = {}
mpirun = ''
progDir = os.environ.get('ProgramFiles','C:\\Program Files')

for mpiDir in ('Microsoft HPC Pack', 'Microsoft HPC Pack 2008 R2', 'Microsoft HPC Pack 2008', 'Microsoft HPC Pack 2008 SDK'):
    mpirun = progDir + os.sep +  mpiDir + os.sep + 'bin' + os.sep + 'mpiexec.exe'
    if os.path.exists(mpirun):
       mp_mpirun_path[NATIVE] = mpirun
       mp_mpirun_path[MSSDK] = os.path.join(progDir, mpiDir)
       break

if os.environ.has_key('CCP_HOME'):
   from queueCCS import QueueCCS
   queues['default'] = QueueCCS(queueName='share')
   queues['share'] = QueueCCS(queueName='share')
   queues['local'] = QueueCCS(queueName='local')
   queues['genxmlshare'] = QueueCCS(queueName='genxmlshare')
   queues['genxmllocal'] = QueueCCS(queueName='genxmllocal')
   del QueueCCS
   mpirun = os.path.join(os.environ['CCP_HOME'], 'bin', 'mpiexec.exe')
   if os.path.exists(mpirun):
       mp_mpirun_path[NATIVE] = mpirun
       run_mode=BATCH

if mp_mpirun_path:
    mp_mode=MPI

del progDir, mpiDir, mpirun

graphicsEnv = driverUtils.locateFile(os.environ['ABA_PATH'],'site','graphicsConfig','env')
if graphicsEnv:
    execfile(graphicsEnv)
else:
    raise 'Cannot find the graphics configuration environment file (graphicsConfig.env)'

del driverUtils, os, graphicsEnv
license_server_type=FLEXNET

abaquslm_license_file=""
doc_root="
doc_root_type="html"
academic=RESEARCH
