# # 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 from damask import Environment myEnv = Environment() if myEnv.options['DAMASK_HDF5'] == 'ON': # use hdf5 compiler wrapper in $PATH fortCmd = os.popen('h5fc -shlib -show').read().replace('\n','') # complicated way needed to pass in DAMASKVERSION string link_sl += fortCmd.split()[1:] fortCmd +=" -DDAMASKHDF5" else: # 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 # -fopenmp 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) # -standard-semantics sets standard (Fortran 2008) and some other conventions # -assume nostd_mod_proc_name avoid problems with libraries compiled without that option # -real-size 64 assume size of real to be 8 bytes, matches our definition of pReal compile_fortran = (fortCmd + " -c -fPIC -auto -shared-intel " + "-I%I -free -O3 -fpp -fopenmp " + "-ftz -diag-disable 5268 " + "-implicitnone -standard-semantics " + "-assume nostd_mod_proc_name " + "-real-size 64 " + '-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 Environment del myEnv del DAMASKVERSION