User login

Navigation

You are here

Abaqus 6.13 Help needed - Subroutine UHYPER

Hello all, I am in a desperate need of some expert help

For a newbie at Abaqus with subroutines,

After months of trying, finally installed Abaqus, verified results all passed.

(Abaqus 6.13, Microsoft Visual Studio 2010, Intel Parallel Studio XE 2013)

 Couple of questions-

1) Error: Problem during compilation: What is wrong with the code below subroutine uhyper? (A former student had this subroutine working, may be in earlier versions but had it working)

 

2)     2) Isn’t there some way to check the code before running it in Abaqus (like in Intel XE Compiler and how)

3)     3) Examples provided in the documentation with the subroutines (For some reason can not get it to work, is there step by step method anywhere- searched all around but I guess it’s a secret code or something)

 

 

SUBROUTINE UHYPER(BI1,BI2,AJ,U,UI1,UI2,UI3,TEMP,NOEL,CMNAME,

     $                  INCMPFLAG,NUMSTATEV,STATEV,NUMFIELDV,

     $                  FIELDV,FIELDVINC,NUMPROPS,PROPS)

C

      INCLUDE 'ABA_PARAM.INC'

C

      CHARACTER*80 CMNAME

      DIMENSION UI1(3),UI2(6),UI3(6),STATEV(*),FIELDV(*),

     $          FIELDVINC(*),PROPS(*)

C

      PARAMETER (ZERO=0.0D0,ONE=1.0D0, TWO=2.0D0, THREE=3.0D0,SIX=6.0D0)

C

      IF (CMNAME(1:6) .EQ. 'ABC') THEN

        C10 = 0.08423

        C01 = 0.00505

        C11 = 0.76506

        C20 = 1.5

        C30 = 0.04238

                        D1 = 0.000008928

        U=C10*(BI1-THREE)+C01*(BI2-THREE)+(C20*(BI1-THREE)**2)+C11*

     $ (BI1-THREE)*(BI2-THREE)+(C30*(BI1-THREE)**3)+(((AJ-ONE)**2)/D1)

        UI1(1)=C10+C11*(BI2-THREE)+C20*(TWO*BI1-SIX)+

     $ THREE*C30*(BI1-THREE)**2

        UI1(2)=C01+C11*(BI1-THREE)

                        UI1(3)=(TWO*AJ-TWO)/D1

        UI2(1)=TWO*C20+THREE*C30*(TWO*BI1-SIX)

                        UI2(2)= ZERO

                        UI2(3)=TWO/D1

        UI2(4)=C11

                        UI2(5)=ZERO

                        UI2(6)=ZERO

                        UI3(1)=ZERO

                        UI3(2)=ZERO

                        UI3(3)=ZERO

                        UI3(4)=ZERO

                        UI3(5)=ZERO

                        UI3(6)=ZERO

       ELSE IF (CMNAME(1:5) .EQ. 'DEF') THEN

        C10 = 0.00355

        C01 = 0.00066

        C11 = 0.01868

        C20 = 0.02154

        C30 = 0.01977

                        D1=0.000000421

        U=C10*(BI1-THREE)+C01*(BI2-THREE)+(C20*(BI1-THREE)**2)+C11*

     $ (BI1-THREE)*(BI2-THREE)+(C30*(BI1-THREE)**3)+(((AJ-ONE)**2)/D1)

        UI1(1)=C10+C11*(BI2-THREE)+C20*(TWO*BI1-SIX)+

     $ THREE*C30*(BI1-THREE)**2

        UI1(2)=C01+C11*(BI1-THREE)

                        UI1(3)=(TWO*AJ-TWO)/D1

        UI2(1)=TWO*C20+THREE*C30*(TWO*BI1-SIX)

                        UI2(2)= ZERO

                        UI2(3)=TWO/D1

        UI2(4)=C11

                        UI2(5)=ZERO

                        UI2(6)=ZERO

                        UI3(1)=ZERO

                        UI3(2)=ZERO

                        UI3(3)=ZERO

                        UI3(4)=ZERO

                        UI3(5)=ZERO

                        UI3(6)=ZERO

       ELSE IF (CMNAME(1:10) .EQ. 'GHI') THEN

        C10 = 0.00714

        C01 = 0.00063

        C11 = 0.09579

        C20 = 0.00803

        C30 = 0.09931

                        D1=0.00000077

        U=C10*(BI1-THREE)+C01*(BI2-THREE)+(C20*(BI1-THREE)**2)+C11*

     $ (BI1-THREE)*(BI2-THREE)+(C30*(BI1-THREE)**3)+(((AJ-ONE)**2)/D1)

        UI1(1)=C10+C11*(BI2-THREE)+C20*(TWO*BI1-SIX)+

     $ THREE*C30*(BI1-THREE)**2

        UI1(2)=C01+C11*(BI1-THREE)

                        UI1(3)=(TWO*AJ-TWO)/D1

        UI2(1)=TWO*C20+THREE*C30*(TWO*BI1-SIX)

                        UI2(2)= ZERO

                        UI2(3)=TWO/D1

        UI2(4)=C11

                        UI2(5)=ZERO

                        UI2(6)=ZERO

                        UI3(1)=ZERO

                        UI3(2)=ZERO

                        UI3(3)=ZERO

                        UI3(4)=ZERO

                        UI3(5)=ZERO

                        UI3(6)=ZERO

      ELSE IF (CMNAME(1:7) .EQ. 'JKL') THEN

        C10=0.00753

        C01=0.00999

        C20=0.02063

        C11=0.00039

        C30=0.00078

                        D1=0.000001752

        U =C10*(BI1-THREE)+C01*(BI2-THREE)+C20*(BI1-THREE)**2+C11*

     $ (BI1-THREE)*(BI2-THREE)+C30*(BI2-THREE)**2+(((AJ-ONE)**2)/D1)

        UI1(1)=C10+C11*(BI2-THREE)+C20*(2*BI1-SIX)

        UI1(2)=C01+C11*(BI1-THREE)+C30*(TWO*BI2-SIX)

                        UI1(3)=(TWO*AJ-TWO)/D1

        UI2(1)=TWO*C20

                        UI2(2)= TWO*C30

                        UI2(3)=TWO/D1

        UI2(4)=C11

                        UI2(5)=ZERO

                        UI2(6)=ZERO

                        UI3(1)=ZERO

                        UI3(2)=ZERO

                        UI3(3)=ZERO

                        UI3(4)=ZERO

                        UI3(5)=ZERO

                        UI3(6)=ZERO

      ELSE IF (CMNAME(1:5) .EQ. 'MNO') THEN

        C10=0.00116

        C01=0.01168

        C20=0.00858

        C11=0.0006

        C30=0.00022

                        D1=0.000001284

        U =C10*(BI1-THREE)+C01*(BI2-THREE)+C20*(BI1-THREE)**2+C11*

     $ (BI1-THREE)*(BI2-THREE)+C30*(BI2-THREE)**2+(((AJ-ONE)**2)/D1)

        UI1(1)=C10+C11*(BI2-THREE)+C20*(2*BI1-SIX)

        UI1(2)=C01+C11*(BI1-THREE)+C30*(TWO*BI2-SIX)

                        UI1(3)=(TWO*AJ-TWO)/D1

        UI2(1)=TWO*C20

                        UI2(2)= TWO*C30

                        UI2(3)=TWO/D1

        UI2(4)=C11

                        UI2(5)=ZERO

                        UI2(6)=ZERO

                        UI3(1)=ZERO

                        UI3(2)=ZERO

                        UI3(3)=ZERO

                        UI3(4)=ZERO

                        UI3(5)=ZERO

                        UI3(6)=ZERO

      ELSE

        C10=0.001144

        C01=0.01357

        C20=0.06238

        C11=0.02626

        C30=0.00761

                        D1=0.0000014714

        U =C10*(BI1-THREE)+C01*(BI2-THREE)+C20*(BI1-THREE)**2+C11*

     $ (BI1-THREE)*(BI2-THREE)+C30*(BI2-THREE)**2+(((AJ-ONE)**2)/D1)

        UI1(1)=C10+C11*(BI2-THREE)+C20*(2*BI1-SIX)

        UI1(2)=C01+C11*(BI1-THREE)+C30*(TWO*BI2-SIX)

                        UI1(3)=(TWO*AJ-TWO)/D1

        UI2(1)=TWO*C20

                        UI2(2)= TWO*C30

                        UI2(3)=TWO/D1

        UI2(4)=C11

                        UI2(5)=ZERO

                        UI2(6)=ZERO

                        UI3(1)=ZERO

                        UI3(2)=ZERO

                        UI3(3)=ZERO

                        UI3(4)=ZERO

                        UI3(5)=ZERO

                        UI3(6)=ZERO

C123456

       END IF

 

      RETURN

 

      END

To me, it looks like there is a problem in the line starting with Dimension of your header.  According to the documentation I have (have never actually employed UHYPER subroutine before), you need it to be DIMENSION U(2),UI1(3)... and the above is missing U(2).  I don't think this would introduce such a critical error, but it's probably better to follow the documentation on the header bit.  If you are still having troubles compiling, perhaps check your .env file.  That seems to be the source of a lot of trouble.  It has the commands to do the compiling.  Especially if you've verified that this subroutine worked for another person on a separate computer, this could be the source of your issue.

 

SUBROUTINE UHYPER(BI1,BI2,AJ,U,UI1,UI2,UI3,TEMP,NOEL,CMNAME,

     $                  INCMPFLAG,NUMSTATEV,STATEV,NUMFIELDV,

     $                  FIELDV,FIELDVINC,NUMPROPS,PROPS)

C

      INCLUDE 'ABA_PARAM.INC'

C

      CHARACTER*80 CMNAME

      DIMENSION U(2),UI1(3),UI2(6),UI3(6),STATEV(*),FIELDV(*),

     $          FIELDVINC(*),PROPS(*)

C

      PARAMETER (ZERO=0.0D0,ONE=1.0D0, TWO=2.0D0, THREE=3.0D0,SIX=6.0D0)

C

thanks for the reply..but did as you suggested i.e included U(2) nothing changed, error still the same.

You said check .env file - and look for what specifically

here is my .env file (Would somebody please tell me how to check this code somewhere else to see if it works like in VS or Intel Compiler)

#

#        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_cpp=['cl', '/c', '/W0', '/MD', '/TP',

             '/EHsc', '/DNDEBUG', '/DWIN32', '/DTP_IP', '/D_CONSOLE',

             '/DNTI', '/DFLT_LIC', '/DOL_DOC', '/D__LIB__', '/DHKS_NT',

             '/DABQ_NTI_NET', '/DFAR=', '/D_WINDOWS', '/DABQ_WIN86_64',

             # '/O1', # <-- Optimization

             # '/Zi', # <-- Debug symbols

             '/I%I']

 

compile_fortran=['ifort',

                 '/c','/DABQ_WIN86_64', '/extend-source',

                 '/iface:cref', '/recursive', '/Qauto-scalar',

                 '/QxSSE3', '/QaxAVX', 

                 '/heap-arrays:1', 

                 # '/Od', '/Ob0'   # <-- Optimization 

                 # '/Zi',          # <-- Debugging

                 '/include:%I']

 

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="27003@cronus.hipecc.wichita.edu"

 

 

 

doc_root="http://EB-203A-E2:2080/v6.13"

doc_root_type="html"

 

Do you have any further details or output regarding your compilation error?  That could help in regards to figuring the specific issue.

Subscribe to Comments for "Abaqus 6.13 Help needed - Subroutine UHYPER"

Recent comments

More comments

Syndicate

Subscribe to Syndicate