# # DAMASK Abaqus Environment File # # $Id$ # ------------------------------------ # 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 -I../lib -free -O1 -fpp " + "-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 # 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