UXFEMCRACK

User subroutine to define the interactions between the cracked element surfaces for enriched elements using a small sliding formulation.

User subroutine UXFEMCRACK:

  • can be used to specify the crack opening offset for contact of cracked element surfaces;
  • can also be used to define the mechanical (normal and shear) interactions between the cracked element surfaces;
  • is called at all the points of intersection between the crack surface and the element edges;
  • can include the effects of slurry concentration and the proppant particle size; and
  • is only available for contact of cracked enriched element surfaces using a small-sliding formulation.

This page discusses:

User Subroutine Interface

      SUBROUTINE UXFEMCRACK_API(OFFSETCUR,OFFSETNEW,DELTA,
     1     OPENMAX,NOEL,NPT,COORDS,KSTEP,KINC,TIME1,DTIME1,TEMP,DTEMP,
     2     PREDEF,DPRED,NFIELD,STATEV,NSTATEV,PROPS,NPROPS,JMAC,JMATYP,
     3     MATLAYO,LACCFLA,SDEG,GAPINI,DV,STRESSOLD,STRESSNEW,
     4     STIFFNESS,DIAMETERP,CV,JFLGOPT,NIARRAY,I_ARRAY,NRARRAY,
     5     R_ARRAY,NCARRAY,C_ARRAY)

Variables to Be Defined

OFFSETNEW
New offset value defined by the user.
STRESSNEW
Stresses at the end the current increment
JFLGOPT
An option flag: If JFLGOPT=1, only STIFFNESSneeds to be updated; otherwise, if JFLGOPT=2, both STIFFNESSand STRESSNEWneed to be updated.

Variables That Can Be Updated

OPENMAX
Maximum crack opening
STATEV
An array containing the user-defined solution-dependent state variables at this point. This array will be passed in containing the values of these variables at the start of the increment unless the values are updated in user subroutine USDFLD. They can be updated in this subroutine to their values at the end of the increment.
STIFFNESS
Penalty stiffness of the cracked surfaces

Variables Passed in for Information

OFFSETCUR
Offset of the cracked surfaces at the end of previous increment.
DELTA
Current crack opening
NOEL
Element number.
NPT
Integration point number.
COORDS
An array containing the current coordinates of this point.
KSTEP
Step number.
KINC
An array containing the current coordinates of this point.
TIME1(1)
Value of step time at the beginning of the current increment.
TIME1(2)
Value of total time at the beginning of the current increment.
DTIME1
Time increment.
TEMP
Temperature at the start of the increment.
DTEMP
Increment of temperature during the time increment.
PREDEF
An array containing the values of all of the user-specified predefined variables at this point at the start of the increment .
DPRED
An array containing the increments of all of the predefined variables during the time increment.
NFIELD
Number of user-specified predefined variables.
NSTATV
Number of solution-dependent state variables associated with this material.
PROPS(NPROPS)
User-specified array of material constants associated with this material.
NPROPS
User-defined number of material constants associated with this material.
JMAC
Variable that must be passed into the GETVRM utility routine to access an output variable.
JMATYP
Variable that must be passed into the GETVRM utility routine to access an output variable.
MATLAYO
Variable that must be passed into the GETVRM utility routine to access an output variable.
LACCFLA
Variable that must be passed into the GETVRM utility routine to access an output variable.
SDEG
Damage variable at the end of the last increment.
STRESSOLD
Stresses at the end of previous increment.
DV
Integration point volume.
DIAMETERP
Diameter of slurry particles
CV
Slurry concentration at the end of previous increment.
GAPINI
Initial crack opening.
NIARRAY
Size of array I_ARRAY.
I_ARRAY
Integer array for future expansion.
NRARRAY
Size of array R_ARRAY.
R_ARRAY
Real array for future expansion.
NCARRAY
Size of array C_ARRAY.
C_ARRAY
Character array for future expansion.

Example: Example: User-Defined Offset for Enriched Cracked Element Surfaces

A simple example to specify offset for cracked element surfaces by using UMIXMODEFATIGUE:

SUBROUTINE UXFEMCRACK(OFFSETCUR,OFFSETNEW,DELTA,
     1     OPENMAX,NOEL,NPT,COORDS,KSTEP,KINC,TIME1,DTIME1,TEMP,DTEMP,
     2     PREDEF,DPRED,NFIELD,STATEV,NSTATEV,PROPS,NPROPS,JMAC,JMATYP,
     3     MATLAYO,LACCFLA,SDEG,GAPINI,DV,STRESSOLD,STRESSNEW,
     4     STIFFNESS,DIAMETERP,CV,JFLGOPT,NIARRAY,I_ARRAY,NRARRAY,
     5     R_ARRAY,NCARRAY,C_ARRAY)

      INCLUDE 'ABA_PARAM.INC'

C
      DIMENSION COORDS(*), TIME1(*), TEMP(*), JMAC(*), JMATYP(*), STRESSOLD(*),
     1 STRESSNEW(*), STIFFNESS(3,3), DELTA(*), PROPS(NPROPS),STATEV(NSTATV),
     2 PREDEF(NFIELD),DPRED(NFIELD), I_ARRAY(NIARRAY), R_ARRAY(NRARRAY), 
     3 C_ARRAY(NCARRAY)

	    JFLGOPT=1
     IF(KSTEP.LE.2) THEN
         OFFSETNEW = 0.0
     ELSE
         OFFSETNEW=0.15
     ENDIF
C
     IF(KSTEP.EQ.2) OPENMAX = max(DELTA(1),openmax) 
C
     RETURN
     END