|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
subroutine for young's modulus-thicknessHello every one
if anyone know how to define young's modulus with changing in the thickness of material please help i want this for simulating FGM materials thanks [Non-text portions of this message have been removed] |
|
|
Re: subroutine for young's modulus-thicknessHello, below you find what I have saved on my PC on this topic from postings here in this forum. I saved it for future reference. The future is now. I cannot comment on it. Good luck Frank ---------------------------------------------------- Hi All As a first time to apply user subroutines, I wrote a user subroutine UMAT to define Young's modulus as a function of the vertical coordinate. , The subroutine is attached and also enclosed below. I tried to run a job and use it but I got a linking error. The error message is as follows: Error in job Job-1: Problem during linking - Abaqus/Standard User Subroutines. This error may be due to a mismatch in the Abaqus user subroutine arguments. These arguments sometimes change from release to release, so user subroutines used with a previous version of Abaqus may need to be adjusted. Do you have some idea about how can I overcome that linking error? Is there any error in the subroutine? Best wishes Yasser ====================== SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, 1 RPL,DDSDDT,DRPLDE,DRPLDT, 2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME, 3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT, 4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC) C INCLUDE 'ABA_PARAM.INC' C CHARACTER*80 CMNAME DIMENSION STRESS(NTENS),STATEV(NSTATV), 1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS), 2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1), 3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3) PROPS(1) = 100.*COORD(2) PROPS(2) = .3 DO K1=1,NTENS DO K2=1,NTENS DDSDDE(K2,K1) = 0. END DO END DO C young = PROPS(1) poiss = PROPS(2) c c elasticity matrix for plane stress case c const = young/(1.-poiss*poiss) DDSDDE(1,1) = const DDSDDE(2,2) = const DDSDDE(1,2) = const*poiss DDSDDE(2,1) = const*poiss DDSDDE(3,3) = (1.-poiss)*const/2. RETURN END ---------- SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, 1 RPL,DDSDDT,DRPLDE,DRPLDT, 2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME, 3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT, 4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC) C INCLUDE 'ABA_PARAM.INC' C CHARACTER*80 CMNAME DIMENSION STRESS(NTENS),STATEV(NSTATV), 1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS), 2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1), 3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3) C open (unit=1, form='unformatted') C DIMENSION DSTRES(6),D(3,3) PROPS(1) = 100.*COORD(2) PROPS(2) = .3 DO K1=1,NTENS DO K2=1,NTENS DDSDDE(K2,K1) = 0. END DO END DO C young = PROPS(1) poiss = PROPS(2) c c elasticity matrix for plane stress case c const = young/(1.-poiss*poiss) DDSDDE(1,1) = const DDSDDE(2,2) = const DDSDDE(1,2) = const*poiss DDSDDE(2,1) = const*poiss DDSDDE(3,3) = (1.-poiss)*const/2. C WRITE(1,*) NOEL,NPT,PROPS(1),PROPS(2) C CLOSE(1) RETURN END #################################################################### You should be able to define your elastic modulus values as a tabular function of a field variable (set the number of field variables to "1" when defining an elastic material in the "Edit Material" dialog box). In this case, the field variable value will correspond to your Y-coordinate. Unfortunately, ABAQUS/CAE doesn't currently support the definition of predefined field variables (even though it has tools to define discrete and analytical fields which can be used in interaction and load definitions). So, you'll need to edit the input file to add a *INITIAL CONDITIONS,TYPE=FIELD,VARIABLE=1 section and/or a *FIELD,VARIABLE=1 section to actually define the field variable values. Alternatively, you can use the UFIELD subroutine (this might actually be easier, since the coordinates of the nodes are passed into the subroutine, and all you'll have to do is set FIELD(NSECPT,1) = COORDS(2)). Regards, Dave ------------------------- Dave Lindeman Lead Research Specialist 3M Company 3M Center 235-3F-08 St. Paul, MN 55144 651-733-6383 S.M.Ali Tasaloti wrote: > > > Hello to all, > Maybe my question is easy but I didn't find any answer for it. I want > for example to change the young modulus of material linearly over > y-coordinate of the 2D model. My specific question is about clay > plasticity which I want to change the intercept over y-coordinate. > How can I do so? > > Your help is kindly appreciatd. > > tnx > > S.M.Ali Tasalloti > ############################################################### Von: Dave Lindeman <ddlindeman@...> ins Adressbuch An: Abaqus@... Betreff: Re: [Abaqus] Change E(Young Modulus) with Depth(Z coordinate) Datum: Tue, 14. Dec 2010 16:42:35 COORD is a one-dimensional array. USDFLD is called for each integration point associated with the user-defined field variable. So, Z = COORD(3) will give you the Z coordinate for the integration point that is currently being processed. Regards, Dave ------------------------- Dave Lindeman Lead Research Specialist 3M Company 3M Center 235-3F-08 St. Paul, MN 55144 651-733-6383 On 12/7/2010 11:24 AM, MOHAMED ALMAHAKERI wrote: > Hi All; > > I need to do the same thing. In order to do so, I -think- that I have to > use > GETVRM in a USDFLD subroutine to call Z-coordinate of the inegration point > I tried using in my subroutine something like this: > > Z_Coord = coord(2,intp) > > to be the syntax used to call the z_coordinate of any integration point > that > I'll use to calculate the current Young's modulus for that point in a > folowing > step. It didn't work (syntax error) > > Could any one help me with the proper syntax I should use > > Thanks; > > Mohamed > Queen's Uinversity ################################################################## -------- Original-Nachricht -------- > Datum: Tue, 1 Feb 2011 00:24:58 -0800 (PST) > Von: Amir H King <amirh_king@...> > An: Abaqus@... > Betreff: [Abaqus] subroutine for young\'s modulus-thickness > Hello every one > > if anyone know how to define young's modulus with changing in the > thickness of material please help > i want this for simulating FGM materials > > thanks > > > > > [Non-text portions of this message have been removed] > -- ----------------------------------------------------------------------- Frank Richter Institute of Materials Science Ruhr-Universitaet Bochum Bochum Germany NEU: FreePhone - kostenlos mobil telefonieren und surfen! Jetzt informieren: http://www.gmx.net/de/go/freephone |
| Free embeddable forum powered by Nabble | Forum Help |