Self heating effect under repeat loading using ABAQUS
Hello all,
I have got an issue that are annoying me for a while: I want to simulate the self-heating effect of a material under repeat loading using ABAQUS.
In theory I know how to face the problem:
1) using the *HEAT GENERATION coupled to the subroutine HETVAL I can give to my model a volumetric flux based on stress and strain rate. The self heating effect is actually the integral over time of stress times strain rate.
2) the stress and the strain rate for each node can be saved in the STATEV
3) to get the strain rate and the stress I can use the subroutine USDFLD calling the function GETVRM
Here is the problem! the main parts of the model follow:
[CODE]*Element, type=C3D20RT
*Amplitude, name=Amp-1, time=TOTAL TIME, definition=PERIODIC
1,377.0225,0,0
0,5165290000
*Material, name=Material-1
*Conductivity, type=ORTHO
5.7,3.,1.
*Damping, structural=0.065
*Density
1583.,
*Elastic, type=ENGINEERING CONSTANTS
4.74e+10, 4.74e+10, 9.3e+09, 0.31, 0.31, 0.31, 2.01e+10, 4.28e+09
4.28e+09,
*Expansion
3e-05
*Heat Generation
*Specific Heat
1300.,
*User Defined Field
*Depvar
1
** initial condition: temperature at T=0
*Initial Conditions, type=FIELD, VARIABLE=1
Set-5, 293.
*Step, name=Heating, nlgeom=YES, inc=10000000
*Dynamic,application=TRANSIENT FIDELITY
0.002,4.15,8.3e-07,0.002
*Dload, amplitude=Amp-1
Part-1-1.clampmass, BZ, 1.
*Restart, write, frequency=0
*Output, field, frequency=1
*Node Output
NT, U
*Element Output, directions=YES
E, ER, S, TEMP
*End Step
SUBROUTINE USDFLD(FIELD,STATEV,DIRECT,T,CELENT,
1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,
3 LACCFLA)
C
INCLUDE ABA_PARAM.INC
C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(1),STATEV(2),DIRECT(3,3),
1 T(3,3),TIME(2)
DIMENSION ARRAY(3),JARRAY(15),JMAC(*),JMATYP(*),
1 COORD(*)
REAL DE
REAL S
REAL TEMPERATURE
C
C Value of current strain:
C
CALL GETVRM(ER,ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,MATLAYO,
1 LACCFLA)
DSTRAIN = ARRAY(1)
C
C Maximum value of STRESS
C
CALL GETVRM(S,ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
STRESS = ARRAY(2)
C
C Set temperature
C
CALL GETVRM(TEMP,ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
TEMPERATURE = ARRAY(3)
FIELD(1)=TEMPERATURE
C
C Store as a solution dependent state variable
C
STATEV(1) = DSTRAIN * STRESS
C
RETURN
END
C
SUBROUTINE HETVAL(CMNAME,TEMP,TIME,DTIME,STATEV,FLUX,
1 PREDEF,DPRED)
C
INCLUDE ABA_PARAM.INC
C
CHARACTER*80 CMNAME
C
DIMENSION TEMP(2),STATEV(*),PREDEF(*),TIME(2),FLUX(2),
1 DPRED(*)
C
C Try a constant FLUX
C
FLUX(1)=50000
C
RETURN
END
[/CODE]
NOTE TO TALK ABOUT
1) I used the Dynamic Implicit as I need the strain Rate so it has to be time-dependent. Is that correct??
2) If I used *TEMPERATURE rather than *INITIAL CONDITION, TYPE=FIELD Abaqus does not enter in the subroutine USDFLD (I Tested with a simple WRITE within the subroutine) ...its very sticky isnit?
3) Writing variables DE, S, TEMPERATURE in the .DAT file with the WRITE(6,*) I noticed that they are all ZERO. (!!!!)
I assume the GETVRM does not work properly on this way
4) The program doesnt pass through the HETVAL at all. (tested writing a line in the DAT file)
Any advice and help would be very important,
thanks
Fabrizio
- How to model viscous fluid in ABAQUS8 months ago
- UANISOHYPER_INV and SIGINI working together9 months ago
- Wave properties in dynamic structural analysis12 months ago
- Non homogenous strain in uniaxial Testcase in ABAQUS1 year ago
- Abaqus error running VUMAT - ...package.exe aborted with system error code 10737415111 year ago
- 21 Forums
- 3,870 Topics
- 13.2 K Posts
- 5 Online
- 29.4 K Members