#
#        DAMASK Abaqus Environment File
#
#       ------------------------------------
# originally taken from Abaqus ver. 6.11.1
#
#
# Linux (Opteron/EM64T) Settings:
#
# Compile and Link command for user subroutines.
# Compile_cpp and link_exe for Abaqus make utility.
#
import os, re, glob, driverUtils
from damask import version as DAMASKVERSION

# Use the version in $PATH
fortCmd = "ifort"

# -free                        to use free-format FORTRAN 90 syntax
# -O <0-3>                     optimization level
# -fpp                         use FORTRAN preprocessor on source code
# -openmp                      build with openMP support
# -w90 -w95                    suppress messages about use of non-standard Fortran (previous version of abaqus_v6.env only)
# -WB                          turn a compile-time bounds check into a warning (previous version of abaqus_v6.env only)
# -mP2OPT_hpo_vec_divbyzero=F  inofficial compiler switch, proposed by abaqus but highly dubios (previous version of abaqus_v6.env only)
# -ftz                         flush underflow to zero
# -diag-disable 5268           disable warnings about line length > 132 (only comments there anyway)
# -implicitnone                assume no implicit types (e.g. i for integer)
# -assume byterecl             count record length in bytes
# -real-size 64 -DFLOAT=8      assume size of real to be 8 bytes, matches our definition of pReal
# -integer-size 32 -DINT=4     assume size of integer to be 4 bytes, matches our definition of pInt

compile_fortran = (fortCmd + " -c -fPIC -auto -shared-intel " + 
                   "-I%I -free -O1 -fpp -openmp " +
                   "-ftz -diag-disable 5268 " +
                   "-implicitnone -assume byterecl -stand f08 -standard-semantics " +
                   "-real-size 64 -integer-size 32 -DFLOAT=8 -DINT=4 " +
                   '-DDAMASKVERSION=\\\"%s\\\"'%DAMASKVERSION)

# Abaqus/CAE will generate an input file without parts and assemblies.
cae_no_parts_input_file=ON
# Both the Abaqus/Explicit packager and analysis are run in double precision.
double_precision=BOTH
# The user will not be asked whether old job files of the same name should be deleted.
ask_delete=OFF

# usub_lib_dir='your_prefered_location/abqlib'

# Remove the temporary names from the namespace
del fortCmd
del DAMASKVERSION