# # DAMASK Abaqus Environment File # # $Id$ # ------------------------------------ # originally taken from Abaqus ver. 6.9.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 # Always use the newest version fortDefPath = '/' dirLst = glob.glob('/opt/intel/fce/*') if dirLst: dirLst.sort() fortDefPath = dirLst[-1] + '/bin' fortCompiler = "ifort" if os.path.exists(os.path.join(fortDefPath, fortCompiler)): fortCmd = os.path.join(fortDefPath, fortCompiler) else: fortCmd = fortCompiler # "-free" to use free-format FORTRAN 90 syntax # "-heap-arrays" increase heap size # "-O3" maximum optimization level # "-fpp" use FORTRAN preprocessor on source code # "-openmp" build with openMP support compile_fortran = (fortCmd + " -c -fPIC -auto -w90 -w95 " + "-WB -I%I -free -heap-arrays 500000000 -O3 -fpp -openmp") # Do not use parts in input file cae_no_parts_input_file=ON # You can compile DAMASK into a library to be used with abaqus # it saves you from compiling the subroutine for each job # in this case you do not have to specify a usersubroutine file # however if you still do, the compiled version will override that in the library # Procedure: # 1. create a library directory, e.g. abqlib, in your prefered location # 2. build the library replacing your_prefered_location/abqlib with the correct path to the directory created in 1.: # abaqus make -l DAMASK_abaqus_std.f -dir your_prefered_location/abqlib # abaqus make -l DAMASK_abaqus_exp.f -dir your_prefered_location/abqlib # 3. uncomment the next line after replacing your_prefered_location/abqlib with the correct path to the directory created in 1. # usub_lib_dir='your_prefered_location/abqlib' # Remove the temporary names from the namespace del fortCmd del fortDefPath del fortCompiler del dirLst