## You are here

# About the polycrystal plasticity

Hi everyone,

I am trying to build polycrystal plasticity model by using UMAT subroutine in ABAQUS. As we know, the orientation of grain is always espressed by Euler's angles. What I want to know is how to assign different initial orientations to different grains using Euler's angles in Umat subroutine. Could anybody tell me how to do? Is there any example ?

Many Thanks,

Yuanpei

»

- Yuanpei Duan's blog
- Log in or register to post comments
- 19811 reads

## Comments

## re: About the polycrystal plasticity

Hi Yuanpei,

You have to define sections of material in your input file. You can group all the elements which constitute a grain in one section. Then you have to define a data card for each section and that means you can specify orientation i.e. Euler's angles in each data card.

Alankar Ph.D. Student School of Mechanical and Materials Engineering Washington State University, Pullman

## A problem regarding Crystal plasticity

Dear Alankar

I am working on crystal plasticity and I have started with your UMAT code you written for Single crystal plasticity. I have a problem with this code and I would be appreciate if you can answer it.

When I use your code for modelling the single crystal or polycrystalline materials on ABAQUS, I get the results for current strength and resolved shear stresses and also for normal and slip direction for each plane but I cannot get the non-zero value results for shear strains and total cumulative shear strain.(state variables #13-24 and #109). If I right, the strains should be computed because stresses defined by strain increment but I do not know why ABAQUS does not show the strain state variables.

In addition, The lattice rotation only happen for first step(first time increment) and becomes constant during the time for others step.

Thanks,

## Re:

Hi Ramin,

I wonder how come you get my code. It is still in progress mode. I would like to know which code are you talking about.

Regards,

Alankar

Ph.D. Student

School of Mechanical and Materials Engineering

Washington State University, Pullman

## Thanks

Hi

Alankar,

Thank you for your kindly reply. I'll try to do as you said.

Hope to discuss with you in the future!

Regards,

Yuanpei

## Use Props array

Hi Yuanpei,

As I see it, you don't need to define sections. The Umat is called for every integration point. Use the props array to define euler angles for each integration point. Thus, when your Umat is called, the euler angles of the particular integration point would be used. If you have a lot of elements, try using the include command to help with the props array.

One question though - what kind of model do you intend to use? Do you plan to program a single crystal based polycrystal model or a taylor (or the like) type homogenization model? If you are using a SX plasticity model, group your elements of a particular grain to an element set. I would also advice you to take a look into the UMAT of Prof. Huang.

Arun

## About the initial orientation

Hi Arun,

Thank you for your suggestions!

I am a beginner of UMAT and have a lot of

questions. I want to program a single crystal based polycrystal model. I have

read the UMAT of Prof. Huang. In his UMAT, the initial orientation is expressed

by two vectors of local and global systems, while not the Euler angles. How to modify

the umat of Prof. Huang so that the Euler angles can be used as the props

input?

Ps: What’s the SX plasticity model?

Looking forward to your kind reply. :)

Yuanpei

## Different local systems for different grains？

In Prof. Huang's single crystal umat, the orientation

is described as follows:

-1. , 0. , 1. , 0. , 0. , 1. ,

direction in local system , global system ,

of the 1st vector

-- , -- , -- , -- , -- , -- ,

(the first vector to determine crystal

orientation in global system)

0. , 1. , 0. , 0. , 1. , 0. ,

direction in local system , global system ,

of the 2nd vector

-- , -- , -- , -- , -- , -- ,

(the second vector to determine crystal

orientation in global system)

As we know, the orientation can be

expressed by both (hkl)<uvw> and three Euler angles.

So, I think that the first vector (-1. , 0. , 1. )and the second vector(0. , 1. , 0. ) here, which represent grain's orientation, consist of the local system and correspond to (hkl) and <uvw>. We can easily change the two vectors by modifying the data cards. When the two vectors are changed, the orientation of grains is also changed and the different local systems is founded.

But someone said that the grain’s

orientation is defined by assigning different Material Orientations in ABAQUS

CAE. Should different local systems be set by using Material Orientation of

property in CAE for different grains?

Now, I am so confused with the definition

of the orientation of polycrystal model. Which is the right way?

Could anybody help me?

Thank you!

Yuanpei

## Re: Different local systems for different grains？

Hi Yuanpei,

To clarify your query, the orientation of a crytal can be expressed in a lot of ways - Miller Indicies and Euler angles are just a couple of them. What is however expected in the UMAT of Huang is the following. You need to input the orientation of the crystal through two non-coplanar (preferebly perpendicular) vectors. These vectors do not have to correspond to any slip plane normal or direction. They are just two vectors. I normally use the 100 and 001 axes for specifying these orientations. Again I repeat - they DO NOT correspond to (hkl)<uvw>. The Miller Indicies of slip families are given prior to specifying the orientation - for more details refer to information on input cards in the report of the UMAT.

Given the fact that you specify the orientation through the props array, the *orientation parameter in the abaqus input file is not required.

Hope this clarifies your query

Arun

## hi Arun， Thank you for

hi Arun，

Thank you for your kindly reply!

You have emphasized that "They are

just two vectors. They DO NOT correspond to (hkl)<uvw>. " What’s the real meaning of

the two vectors of the local system? What do they stand for? Can they be transformed

to three Euler angles?

You said

that you normally use the 100 and 001 axes for

specifying these orientations. Here, are the 100 and 001 axes consist of the global system or the local system? When there are a lot of grains, how do you do to deal with their different orientations?

Yuanpei

## Euler angles can be used too

Yuanpei:

The vectors that are specified are just two orthonormal vectors to determine the rotation matrix. They can surely be transformed into euler angles. Infact, one could reprogram the UMAT to deal only with euler angles.

I was perhaps hasty in saying that they DO NOT correspond to (hkl)<uvw>. Since it can be any two vectors, one cld also use (hkl)<uvw>also.

What I normally do is the following. I use the euler angles (obtained from experimental texture) to construct a transformation matrix and then rotate the 100 and 001 axes to the global coordinate system.

Arun

## Prof. Huang's UMAT - polycrystal plasticity

Hi Arun:

Could you please write more about how do you give the orientations and how it works for you? Do you give different orientations in integration points, elements or sections?

I have been trying to give the orientations by vectors (and by Euler angles after rewriting subroutine rotation), but when I give different orientations in integration points, abaqus shows errors (problems with convergence, singular matrix or memory problems). I have also tried the method with material sections (which is not suiting me entirely), but it still gives errors.

Karol

## Specifying orientation with Huang's crystal UMAT

With Huang's UMAT, you can choose either to define the orientation of the crystal either using values in the input cards (like you describe), or to specify the orientation using CAE. We've tried both methods and can confirm they give the same answers. Using CAE to specify orientation works by creating an *ORIENTATION entry, with the appropriate numbers, in the resulting Abaqus INP file. If you're not using CAE at all, but instead are editing the input file directly, you can of course add the relevant *ORIENTATION command to the INP file manually. If you use the CAE/*ORIENTATION method of specifying orientation, you must make sure that no orientation is specified in the UMAT card values, otherwise you'll end up simulating another orientation that is the combined effect of both. Naturally you can remove orientation from the UMAT card by specifying directions in the local system that are the same as the corresponding directions in the global system, e.g.

1, 0, 0, 1, 0, 0

0, 1, 0, 0, 1, 0

It sounds like you already know the orientation you want the crystal to have, in the form of (hkl)<uvw> or Euler angles. The (hkl)<uvw> system is most commonly used for specifying the preferred crystal orientation in rolled sheet metal, where the (hkl) crystal plane is parallel to the surface of the sheet, and the <uvw> crystal direction lies in the direction of the rolling. According to http://www.materialsknowledge.org/index.php?option=com_docman&task=doc_download&gid=30 , if people use this system when they're not talking specifically about rolled sheet, then the (hkl) plane is the plane perpendicular to the global Z direction and the <uvw> direction is the global X direction. So to use the UMAT cards to specify orientation, you would need to know which direction was perpendicular to the (hkl) plane. If your crystal is any kind of cubic crystal, this is easy: the [hkl] direction is normal to the (hkl) plane for any h, k, l. For other crystal systems, there is most likely a formula that involves the unit cell dimensions. For cubic crystals only, the required input cards for a (hkl)<uvw> orientation would therefore be:

h, k, l, 0, 0, 1

u, v, w, 1, 0, 0

For non-cubic systems, you would replace h, k, l with the direction that is perpendicular to the (hkl) plane.

If you know the orientation in terms of Euler angles, you need some trigonometry to get the input card values. Probably the easiest way is to derive (or look up on Wikipedia!) the rotation matrix or similar equations for Euler angle rotation, and use these to calculate the direction in the global system that the 1, 0, 0 direction in the local system corresponds to, and again for another direction like 0, 1, 0 or 0, 0, 1. Alternatively, using CAE might be some use here: you could start by creating an orientation that's the same as the global orientation, and then rotate it by each Euler angle in turn around the appropriate axis for that angle.

Joe

## hi Joe, Thank you

hi Joe,

Thank you very much for your detailed explanation！

Glad to hear that both of the methods can

be chosen to define the orientation.

But I have never tried the method of *ORIENTATION

in the CAE. I just used to define the orientation in the INP. Maybe I can try and

find the best method.

Yuanpei

## A problem regarding crystal plasticity

Hi there,

I am working on crystal plasticity and I have started with your UMAT code you written for Single crystal plasticity. I have a problem with this code and I would be appreciate if you can answer it.

When I use your code for modelling the single crystal or polycrystalline materials on ABAQUS, I get the results for current strength and resolved shear stresses and also for normal and slip direction for each plane but I cannot get the non-zero value results for shear strains and total cumulative shear strain.(state variables #13-24 and #109). If I right, the strains should be computed because stresses defined by strain increment but I do not know why ABAQUS does not show the strain state variables.

In addition, The lattice rotation only happen for first step(first time increment) and becomes constant during the time for others step.

Thanks,

## Multimaterial modeling

Hi,

does anyone know how I can model a 2 or 3 phase material with UMAT. How can I define where I have a certain phase within a grain? And how can I apply a fatigue crack initiation based on accumulated shear strain, current normal and shear stress acting on the plane. How can I apply these critical conditions outside UMAT?

Regards,

Panos

## A question about crystal plasticity, UMAT and ABAQUS

Hi all,I'm a PhD student and a new member here. My thesis is about “modeling the mechanical behavior of a Ti-alloy microstructure in dwell-fatigue using cellular automata”. I'm using MATLAB to develop a program that allows me to simulate the mechanical behavior of a microstructure by crystal plasticity theory. In general, my program has to do the jobs of ABAQUS and its UMAT at the same time. So, I’m trying to translate a UMAT in MATLAB. For this purpose, I read some UMATs but I have some problems because some information in UMAT will be calculated in ABAQUS and I'm not sure if I know how ABAQUS do that and how I can do it in MATLAB? In my program, I try to calculate the shear stress of each slip system but I obtain very high value (the problem). I think it is because of the way that I calculate F0 and F1 (DFGRD0 and DFGRD1 in ABAQUS respectively). I don't know how ABAQUS calculate these values and who can I calculate them correctly by a time integration process in MATLAB. Can you help me to solve this problem please?Thank you and sorry for my poor English, I'm studying in a French university.