SUBROUTINE VOIDRI(EZERO,COORDS,NOEL) C************************************************************ C Routine to calculate an initial void ratio distribution C ECS Not equal to E1 in ABAQUS (They are not the same). C ECS - is on the Critical State line. C E1 - is on the INCL (Iso. Normally Consol. line) C************************************************************ INCLUDE 'ABA_PARAM.INC' C DIMENSION COORDS(3) C C PX = PC /2. (VALUE AT CRITICAL STATE FOR MCC ONLY) C PXT - Top. PXB - Base PXT=5. PXB=29. C PT=7.333 PB=42.667 C ECS=3.0 C HEIGHT=10. AKAPPA=0.1 ALAMDA=0.5 C PX = PXT + ((PXB-PXT)/HEIGHT)*(HEIGHT-COORDS(2)) P = PT + ((PB-PT)/HEIGHT)*(HEIGHT-COORDS(2)) C EZERO = ECS - (ALAMDA - AKAPPA) * LOG(PX) - AKAPPA * LOG(P) C RETURN END SUBROUTINE SIGINI(SIGMA,COORDS,NTENS,NCRDS,NOEL,NPT, + LAYER,KSPT,LREBAR,REBARN) C************************************************************ C C In situ Effective stresses : C SIGVET - Vertical Effective Top C SIGVEB - Vertical Effective Base C SIGHET - Horizontal Effective Top C SIGHEB - Horizontal Effective Base C************************************************************ INCLUDE 'ABA_PARAM.INC' C DIMENSION SIGMA(NTENS),COORDS(NCRDS) C CHARACTER*8 REBARN C SIGVET=-10. SIGVEB=-60. C SIGHET=-6. SIGHEB=-34. C HEIGHT=10. C SIGMA(1)=SIGHET + ((SIGHEB-SIGHET)/HEIGHT)*(HEIGHT-COORDS(2)) SIGMA(2)=SIGVET + ((SIGVEB-SIGVET)/HEIGHT)*(HEIGHT-COORDS(2)) SIGMA(3)=SIGMA(1) C RETURN END CC SUBROUTINE UVARM(UVAR,DIRECT,T,TIME,DTIME,CMNAME,ORNAME, CC + NUVARM,NOEL,NPT,LAYER,KSPT,KSTEP,KINC,NDI,NSHR) SUBROUTINE UVARM(UVAR,DIRECT,T,TIME,DTIME,CMNAME,ORNAME, 1 NUVARM,NOEL,NPT,LAYER,KSPT,KSTEP,KINC,NDI,NSHR,COORD, 2 JMAC,JMATYP,MATLAYO,LACCFLA) INCLUDE 'ABA_PARAM.INC' C CHARACTER*80 CMNAME,ORNAME CHARACTER*3 FLGRAY(15) C=================================================================== C C Routine to calculate bulk unit weight, dry density, water C content, GS (initial GS varies with depth. Because of constant C bulk unit weight of 15.0 initially) C C=================================================================== C C INCLUDE 'ABA_PARAM.INC' C C CHARACTER*3 FLGRAY(15) ** CHARACTER*3 CMNAME,ORNAME,FLGRAY(15) DIMENSION UVAR(NUVARM),DIRECT(3,3),T(3,3),TIME(2) DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*) C C CC DIMENSION UVAR(NUVARM),DIRECT(3,3),T(3,3),TIME(2) CC DIMENSION ARRAY(15),JARRAY(15) C C--------Error counter JERROR = 0 C C---------get co-ordinates C CALL GETVRM('COORD',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP, C + MATLAYO,LACCFLA) C Y=ARRAY(2) Y=COORD(2) C C----------get void ratio CALL GETVRM('VOIDR',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP, + MATLAYO,LACCFLA) C E=ARRAY(1) C HEIGHT=10. C BULK=15. GAMMAW=10. C GS=(BULK/GAMMAW)*(1.+E)-E C WATC=E/GS C DRY=BULK/(1.+WATC) C UVAR(1)=DRY UVAR(2)=BULK UVAR(3)=WATC UVAR(4)=GS UVAR(5)=E C RETURN END SUBROUTINE UFIELD(FIELD,KFIELD,NSECPT,KSTEP,KINC,TIME,NODE, 1 COORDS,TEMP,DTEMP) C INCLUDE 'ABA_PARAM.INC' C DIMENSION FIELD(NSECPT),TIME(2),COORDS(3),TEMP(NSECPT), C 1 DTEMP(NSECPT) KFIELD=1 FIELD(1)=COORDS(2) C RETURN C END