Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

About USDFLD

Status
Not open for further replies.

ozenozdemir

Mechanical
Sep 17, 2010
4
Hi all,

I am making an electro-thermal analysis using ABAQUS and I need to redefine the electrical conductivity of the nodes in each time increment. It is dependent on the temperature and time.

I decided to use USDFLD and here is an example of my approach.

In the main input file:
*MATERIAL,NAME=cathode
*ELECTRICAL CONDUCTIVITY, DEPENDENCIES=1
16.75E3, 30, 0.0
15.92E3, 31, 0.1
14.75E3, 32, 0.2
13.92E3, 33, 0.3
.
.
. and so on

Here;
electrical conductivity, temperature, time (user defined variable coming from subroutine)
16.75E3, 30, 0.0

In the .f file:
subroutine usdfld(field,statev,pnewdt,direct,t,celent,time,dt ime,
1 cmname,orname,nfield,nstatv,noel,npt,layer,kspt,ks tep,kinc,
2 ndi,nshr,coord,jmac,jmtyp,matlayo,laccflg)
c
include 'aba_param.inc'
c
character*80 cmname,orname
character*3 flgray(15)
dimension field(nfield),statev(nstatv),direct(3,3),t(3,3),ti me(2),
* coord(*),jmac(*),jmtyp(*)
dimension array(15),jarray(15)
c
thetime=TIME(2)
c
call getvrm('SDV',array,jarray,flgray,jrcd,
$ jmac, jmtyp, matlayo, laccflg)
field(1) = array(1)
return
end

Is this approach correct?

And another question to be able to grasp the idea:
Actually I have the equation of electrical conductivity (A) as a function of temperature (T) and time (t) such as:

A = a*T + b*t where a and b are constants.

I wrote many combinations of A-T-t by trial calculations as seen above in the material property definition. At this point, is ABAQUS able to do proper interpolations to estimate the electrical conductivity depending on the temperature and time? I am asking this, because as I know, ABAQUS makes linear interpolations but the dependency of A to T and t is not linear.

Thanks for your kindly helps,
Oezen
 
Replies continue below

Recommended for you

How about something along the lines of the following?

*MATERIAL,NAME=cathode
*ELECTRICAL CONDUCTIVITY, DEPENDENCIES=1
** set the conductivity to be equal to the (first) field variable:
0.0, 0.0, 0.0
1.0E5, 0.0, 1.0E5
....


subroutine usdfld.....
C...
C...
C enter the parameters a and b for your equation. We'll assume here that they are 500 and 900:
PARAMETER (a = 500.0, b = 900.0)
C....
C...
C Get the current time:
thetime = time(2)
C
C Get the temperature at the current integration point:
call getvrm('TEMP',array,jarray,flgray,jrcd,jmac, jmtyp, matlayo, laccflg)
C check this next statement
temp = array(1)
C
C Determine the conductivity:
econd = a*temp + b*thetime
C
C Set the field variable, which is used to set the conductivity according to the material property specification:
field(1) = econd
C
C Set the state variable, which you can print to make checks:
sdv(1) = econd
C....
RETURN
END
 
Hi mrgoldthorpe,

Thanks for the great idea. I will use your suggestion.

Regards,
Özen
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor