Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

How to implement a specific hardening function for an elastoplastic material?

Please login with a confirmed email address before reporting spam

Hi -- I'm am fairly new at using Comsol (v4.0). Right now I'm trying to model a simple notched specimen that is loaded to experience a localized plastic yielding at the root of the notch. I have defined an elastoplastic material model and defined all of the necessary variables. However, I do not know the isotropic tangent modulus of the material I am using. I would like to implement my own hardening function based on the simple Ramberg-Osgood Model :

e = e_elastic + e_plastic

e = S/E + alpha*(Sy/S)*(S/Sy)^n

Where S represents the stress, E = elastic modulus, e = strain, Sy = yield stress of the material, and alpha and n are fitted properties.

I would like to implement the second portion of this model as the function Comsol uses after yielding has occurred. Can anyone get me started specifying this hardening function? Thank you.

11 Replies Last Post 7 dic 2010, 08:20 GMT-5

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 3 nov 2010, 15:32 GMT-4
I am having a similar issue, though I used the Structural Mechanics Module User's Guide (3.5a) as a good start. Pages 123-126 provide a starting point. Unfortunately, it doesn't seem to work in 4.0a. The newer Structural Mechanics Module User's Guide (4.0a) doesn't include the same example as in the previous User's Guide so it's difficult to make the transition. Any suggestions would be beneficial ...
Thanks in advance,
JG



Hi -- I'm am fairly new at using Comsol (v4.0). Right now I'm trying to model a simple notched specimen that is loaded to experience a localized plastic yielding at the root of the notch. I have defined an elastoplastic material model and defined all of the necessary variables. However, I do not know the isotropic tangent modulus of the material I am using. I would like to implement my own hardening function based on the simple Ramberg-Osgood Model :

e = e_elastic + e_plastic

e = S/E + alpha*(Sy/S)*(S/Sy)^n

Where S represents the stress, E = elastic modulus, e = strain, Sy = yield stress of the material, and alpha and n are fitted properties.

I would like to implement the second portion of this model as the function Comsol uses after yielding has occurred. Can anyone get me started specifying this hardening function? Thank you.


I am having a similar issue, though I used the Structural Mechanics Module User's Guide (3.5a) as a good start. Pages 123-126 provide a starting point. Unfortunately, it doesn't seem to work in 4.0a. The newer Structural Mechanics Module User's Guide (4.0a) doesn't include the same example as in the previous User's Guide so it's difficult to make the transition. Any suggestions would be beneficial ... Thanks in advance, JG [QUOTE] Hi -- I'm am fairly new at using Comsol (v4.0). Right now I'm trying to model a simple notched specimen that is loaded to experience a localized plastic yielding at the root of the notch. I have defined an elastoplastic material model and defined all of the necessary variables. However, I do not know the isotropic tangent modulus of the material I am using. I would like to implement my own hardening function based on the simple Ramberg-Osgood Model : e = e_elastic + e_plastic e = S/E + alpha*(Sy/S)*(S/Sy)^n Where S represents the stress, E = elastic modulus, e = strain, Sy = yield stress of the material, and alpha and n are fitted properties. I would like to implement the second portion of this model as the function Comsol uses after yielding has occurred. Can anyone get me started specifying this hardening function? Thank you. [/QUOTE]

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 12 nov 2010, 06:54 GMT-5
Hello:

I have had the same problem in version 4.0a. After much time searching, I have reached version 3.5a: there they talk about the variable 'epe' ('effective plastic strain'). The same variable in version 4.0a is called 'solid.epe', although it does not appear in Structural Mechanics User's Guide nor in 'Elastoplastic Material Model / Equation View / Variables'. So I think you can define a (analytic) function like sigma(effps) and use it in 'hardening function' as sigma(solid.epe).

I hope this works.

JH.
Hello: I have had the same problem in version 4.0a. After much time searching, I have reached version 3.5a: there they talk about the variable 'epe' ('effective plastic strain'). The same variable in version 4.0a is called 'solid.epe', although it does not appear in Structural Mechanics User's Guide nor in 'Elastoplastic Material Model / Equation View / Variables'. So I think you can define a (analytic) function like sigma(effps) and use it in 'hardening function' as sigma(solid.epe). I hope this works. JH.

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 14 nov 2010, 10:22 GMT-5
Thank you JH for your reply -- This approach does work. However, I can't seem to make it work when I raise the plastic strain variable (effps) to a fractional exponent. It seems almost like Comsol is trying to carry the units through the calculation and gets snagged when it reaches the rational exponent. For example, I'm trying to implement

sigma = S* effps^(0.2)

Even though effps is unitless (in/in or 1), the program is having issues with the units. I've done some reading in the forum and it seems like it might be a problem in version 4.0. Has anyone found a way around this issue?

Thank you -- CT
Thank you JH for your reply -- This approach does work. However, I can't seem to make it work when I raise the plastic strain variable (effps) to a fractional exponent. It seems almost like Comsol is trying to carry the units through the calculation and gets snagged when it reaches the rational exponent. For example, I'm trying to implement sigma = S* effps^(0.2) Even though effps is unitless (in/in or 1), the program is having issues with the units. I've done some reading in the forum and it seems like it might be a problem in version 4.0. Has anyone found a way around this issue? Thank you -- CT

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 15 nov 2010, 10:48 GMT-5
CT,
Could you copy and paste the exact function that worked for you? I'm still hitting a snag ...
Many Thanks
JG
CT, Could you copy and paste the exact function that worked for you? I'm still hitting a snag ... Many Thanks JG

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 16 nov 2010, 08:15 GMT-5
Hello,

Chris: If you use the hardening function
'sigma = S* effps^(0.2)',
you get an error:
'Error in elPlastic element. - Detail: Inf_or_NaN_found_in_Jacobian_evaluation' (at least I get that).

I think this is because of the infinite slope of the function about effps=0. This can be fixed by changing slightly the function. I think it would be better (for sake of the continuity in the first derivative) if the initial slope would be E (the slope in the elastic part of the relation epsilon-sigma). Particularly, forcing sigmap (plastic sigma) to be zero at effps = 0 and its first derivative to be E at effps = 0, I get:

sigmap(effps) = S*((effps + a)^0.2 - a^0.2),
where a = (E/(0.2*S))^(-1.25) is a little offset for effps.

I hope this can help. I would like to know the opinion of everyone interested in this and better proposals.

JH
Hello, Chris: If you use the hardening function 'sigma = S* effps^(0.2)', you get an error: 'Error in elPlastic element. - Detail: Inf_or_NaN_found_in_Jacobian_evaluation' (at least I get that). I think this is because of the infinite slope of the function about effps=0. This can be fixed by changing slightly the function. I think it would be better (for sake of the continuity in the first derivative) if the initial slope would be E (the slope in the elastic part of the relation epsilon-sigma). Particularly, forcing sigmap (plastic sigma) to be zero at effps = 0 and its first derivative to be E at effps = 0, I get: sigmap(effps) = S*((effps + a)^0.2 - a^0.2), where a = (E/(0.2*S))^(-1.25) is a little offset for effps. I hope this can help. I would like to know the opinion of everyone interested in this and better proposals. JH

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 18 nov 2010, 10:43 GMT-5
If you are experiencing problems with the derivative, check out the 4.0a User's Guide pp. 250-251. It explains how to circumvent those issues when defining custom moduli functions. It also addresses square roots (exponents) in the moduli function.
JG
If you are experiencing problems with the derivative, check out the 4.0a User's Guide pp. 250-251. It explains how to circumvent those issues when defining custom moduli functions. It also addresses square roots (exponents) in the moduli function. JG

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 2 dic 2010, 12:12 GMT-5
HI,

I'm new to comsol 4.0.
I also have problem to the hardening function. In my case, I use onle Thermal Stress physics in my simulation. I need to put the hardening function for copper(one of the material) as 517e6*epe but failed. So I try 517e6*solid.epe. Did I make a mistake? It used to be 517e6*epe_smsld in comsol3.5a.
error as below

Failed to evalute variable
-variable:solid.epe
HI, I'm new to comsol 4.0. I also have problem to the hardening function. In my case, I use onle Thermal Stress physics in my simulation. I need to put the hardening function for copper(one of the material) as 517e6*epe but failed. So I try 517e6*solid.epe. Did I make a mistake? It used to be 517e6*epe_smsld in comsol3.5a. error as below Failed to evalute variable -variable:solid.epe

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 2 dic 2010, 12:20 GMT-5
Hi

when you search for a variable name, turn on the equation view and scan through the physics nodes, there you find most inernal names, when you have a doubt.

The most common names are also in the results plot menu as options (try a CNTRL +Space in one of the plot expression fields)

--
Good luck
Ivar
Hi when you search for a variable name, turn on the equation view and scan through the physics nodes, there you find most inernal names, when you have a doubt. The most common names are also in the results plot menu as options (try a CNTRL +Space in one of the plot expression fields) -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 4 dic 2010, 06:42 GMT-5
Thanks!!! I found it....but there is another problem.

My model has a copper tube sit in a silicon wafer. The Tref is 300K and T is 500K. If I add elastoplastic/hardening function to the copper, it didn't show 500K in the Temperature plot. Only the silicon around it shows 500 for the whole domain, nothing for copper. However, once I disable the elastoplastic to the copper, both domain(copper and silicon) shown T=500K.

This is different from what I got on 3.5a. Did I miss any step for the elastoplastic setting so that both domain will shown in 500K as aspected??
Thanks!!! I found it....but there is another problem. My model has a copper tube sit in a silicon wafer. The Tref is 300K and T is 500K. If I add elastoplastic/hardening function to the copper, it didn't show 500K in the Temperature plot. Only the silicon around it shows 500 for the whole domain, nothing for copper. However, once I disable the elastoplastic to the copper, both domain(copper and silicon) shown T=500K. This is different from what I got on 3.5a. Did I miss any step for the elastoplastic setting so that both domain will shown in 500K as aspected??

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 6 dic 2010, 09:15 GMT-5
Hi,

Please advice!!!
I cannot add elastic plastic model in solid mechanics 2.

I separate my study to 2 steps. So I have 2 solid Mechanics now.
the solid mechanics1, I have copper layer and Silicon. The copper is set as elastoplasic with hardening function. Totally 2 domains and will run in study>step1
I then add another copper layer in the solid mechanics2, so now I totally have 3 domains in solid mechanics2 as well as the study>step2.

My problem here is I couldn't add elasticplastic in solid mechanics 2. The error message is Unknow Field : name-null.
How I can set the elastic plastic property to the copper layer 2?
Hi, Please advice!!! I cannot add elastic plastic model in solid mechanics 2. I separate my study to 2 steps. So I have 2 solid Mechanics now. the solid mechanics1, I have copper layer and Silicon. The copper is set as elastoplasic with hardening function. Totally 2 domains and will run in study>step1 I then add another copper layer in the solid mechanics2, so now I totally have 3 domains in solid mechanics2 as well as the study>step2. My problem here is I couldn't add elasticplastic in solid mechanics 2. The error message is Unknow Field : name-null. How I can set the elastic plastic property to the copper layer 2?

Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 7 dic 2010, 08:20 GMT-5
Hi

from what I tend to understand is that you have an internal address issue, I would suggest that you send it to "support" so they can have a look on the COMSOL interiours

--
Good luck
Ivar
Hi from what I tend to understand is that you have an internal address issue, I would suggest that you send it to "support" so they can have a look on the COMSOL interiours -- Good luck Ivar

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.