tulbo
Civil/Environmental
- Sep 6, 2017
- 3
Hi,
I urgently need some with my subroutine in USDFLD. I am modelling a stiffness dependency on mean stress (E= f(s11+s22+s33)). I enter in a table the values of Young's modulus and the related field variable (pressure).
I have tried many things but somehow the subroutine gives incorrect results for the strains. The stresses are evaluated correctly! PLease help.
This is the subroutine.
SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,LACCFLA)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
1 T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
C
C ABSOLUTE VALUE OF MEAN PRESSURE
call GETVRM ('SINV',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,MATLAYO,
1 LACCFLA)
PRESS=ABS(ARRAY(3))
C USE ABSOLUTE VALUE OF MEAN PRESSURE AS A FIELD VARIABLE
FIELD(1)=PRESS
C
WRITE(6,*) FIELD(1)
WRITE(6,*) TIME(2),TIME(1)
C IF ERROR COMMENT ON .DAT FILE
IF (JRCD.NE.0) THEN
WRITE(6,*) 'REQUEST ERROR IN USDFLD FOR ELEMENT NUMBER', NOEL,
1 'INTERGATION POINT NUMBER', NPT
C
ENDIF
RETURN
END
the relevant part of the input file is:
** MATERIALS
**
*Material, name=soil-2
*Elastic, TYPE=ISOTROPIC,dependencies=1
1.207e+08, 0.3, , 0.
1.207e+08, 0.3, ,10000.
1.207e+08, 0.3, ,20000.
1.207e+08, 0.3, ,30953.
1.305e+08, 0.3, ,35000.
1.422e+08, 0.3, ,40000.
1.640e+08, 0.3, ,50000.
1.843e+08, 0.3, ,60000.
2.034e+08, 0.3, ,70000.
2.216e+08, 0.3, ,80000.
2.389e+08, 0.3, ,90000.
2.556e+08, 0.3, ,100000.
2.717e+08, 0.3, ,110000.
2.872e+08, 0.3, ,120000.
3.023e+08, 0.3, ,130000.
3.17e+08, 0.3, ,140000.
**
*USER DEFINED FIELD
*DEPVAR
1
**
** BOUNDARY CONDITIONS
**
** Name: BC-1 Type: Symmetry/Antisymmetry/Encastre
*Boundary
Set-1, encastre
**
** PREDEFINED FIELDS
**
** Name: Predefined Field-1 Type: Geostatic stress
*Initial Conditions, type=STRESS, GEOSTATIC
Part-1-1.Set-3, -50000., 0., -50000., 1., .42857, .42857
** ----------------------------------------------------------------
**
** STEP: Step-1
**
*Step, name=Step-1, nlgeom=NO
*Geostatic
**
** LOADS
**
** Name: Load-1 Type: Pressure
*Dsload, op=NEW
Surf-4, P, 50000.
** Name: Load-2 Type: Pressure
*Dsload, op=NEW
Surf-2, P, 21428.5
**
** OUTPUT REQUESTS
**
*Restart, write, frequency=0
**
** FIELD OUTPUT: F-Output-1
**
*Output, field
*Node Output
RF, U
*Element Output, directions=YES
E, S
*Output, history, frequency=0
*End Step
** ----------------------------------------------------------------
**
** STEP: Step-2
**
*Step, name=Step-2, nlgeom=NO, inc=10000000
*Static
1e-05, 1., 1e-05, 1e-03
**
** LOADS
**
** Name: Load-3 Type: Pressure
*Dsload, op=NEW
Surf-4, P, 100000.
** Name: Load-4 Type: Pressure
*Dsload, op=NEW
Surf-2, P, 71428.5
**
** OUTPUT REQUESTS
**
*Restart, write, frequency=0
**
** FIELD OUTPUT: F-Output-1, F-Output-2
**
*Output, field
*Node Output
RF, U
*Element Output, directions=YES
E, S,SDV
*End Step
** ----------------------------------------------------------------
Thanks in advance
Tulbo128
I urgently need some with my subroutine in USDFLD. I am modelling a stiffness dependency on mean stress (E= f(s11+s22+s33)). I enter in a table the values of Young's modulus and the related field variable (pressure).
I have tried many things but somehow the subroutine gives incorrect results for the strains. The stresses are evaluated correctly! PLease help.
This is the subroutine.
SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,LACCFLA)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
1 T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
C
C ABSOLUTE VALUE OF MEAN PRESSURE
call GETVRM ('SINV',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,MATLAYO,
1 LACCFLA)
PRESS=ABS(ARRAY(3))
C USE ABSOLUTE VALUE OF MEAN PRESSURE AS A FIELD VARIABLE
FIELD(1)=PRESS
C
WRITE(6,*) FIELD(1)
WRITE(6,*) TIME(2),TIME(1)
C IF ERROR COMMENT ON .DAT FILE
IF (JRCD.NE.0) THEN
WRITE(6,*) 'REQUEST ERROR IN USDFLD FOR ELEMENT NUMBER', NOEL,
1 'INTERGATION POINT NUMBER', NPT
C
ENDIF
RETURN
END
the relevant part of the input file is:
** MATERIALS
**
*Material, name=soil-2
*Elastic, TYPE=ISOTROPIC,dependencies=1
1.207e+08, 0.3, , 0.
1.207e+08, 0.3, ,10000.
1.207e+08, 0.3, ,20000.
1.207e+08, 0.3, ,30953.
1.305e+08, 0.3, ,35000.
1.422e+08, 0.3, ,40000.
1.640e+08, 0.3, ,50000.
1.843e+08, 0.3, ,60000.
2.034e+08, 0.3, ,70000.
2.216e+08, 0.3, ,80000.
2.389e+08, 0.3, ,90000.
2.556e+08, 0.3, ,100000.
2.717e+08, 0.3, ,110000.
2.872e+08, 0.3, ,120000.
3.023e+08, 0.3, ,130000.
3.17e+08, 0.3, ,140000.
**
*USER DEFINED FIELD
*DEPVAR
1
**
** BOUNDARY CONDITIONS
**
** Name: BC-1 Type: Symmetry/Antisymmetry/Encastre
*Boundary
Set-1, encastre
**
** PREDEFINED FIELDS
**
** Name: Predefined Field-1 Type: Geostatic stress
*Initial Conditions, type=STRESS, GEOSTATIC
Part-1-1.Set-3, -50000., 0., -50000., 1., .42857, .42857
** ----------------------------------------------------------------
**
** STEP: Step-1
**
*Step, name=Step-1, nlgeom=NO
*Geostatic
**
** LOADS
**
** Name: Load-1 Type: Pressure
*Dsload, op=NEW
Surf-4, P, 50000.
** Name: Load-2 Type: Pressure
*Dsload, op=NEW
Surf-2, P, 21428.5
**
** OUTPUT REQUESTS
**
*Restart, write, frequency=0
**
** FIELD OUTPUT: F-Output-1
**
*Output, field
*Node Output
RF, U
*Element Output, directions=YES
E, S
*Output, history, frequency=0
*End Step
** ----------------------------------------------------------------
**
** STEP: Step-2
**
*Step, name=Step-2, nlgeom=NO, inc=10000000
*Static
1e-05, 1., 1e-05, 1e-03
**
** LOADS
**
** Name: Load-3 Type: Pressure
*Dsload, op=NEW
Surf-4, P, 100000.
** Name: Load-4 Type: Pressure
*Dsload, op=NEW
Surf-2, P, 71428.5
**
** OUTPUT REQUESTS
**
*Restart, write, frequency=0
**
** FIELD OUTPUT: F-Output-1, F-Output-2
**
*Output, field
*Node Output
RF, U
*Element Output, directions=YES
E, S,SDV
*End Step
** ----------------------------------------------------------------
Thanks in advance
Tulbo128