adding youngs modulus as a function of stress

Numerical methods and mathematical models of Elmer
Gary R
Posts: 68
Joined: 12 Apr 2012, 07:23
Antispam: Yes
Location: Long Beach CA, USA

adding youngs modulus as a function of stress

Post by Gary R » 26 Jan 2019, 03:18

Hi all,
My specific problem is that I wish to have young's modulus (Y) value as a function of stress. I wish it to go to zero when the stress gets to the breaking stress of the material. Could some one show me an MATC formula for this. Assume isotropic conditions.

My more general problem is that I can not make sense out of using MATC formulas. I have read the appropriate tutorials but still am confused. Specifically, I can't figure out how to extract data from the process. In the request above, how do I get the stress to feed into a formula. What are the "handles" to hook to Elmer.

Any help will be sincerely appreciated.

Gary R

raback
Site Admin
Posts: 3404
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: adding youngs modulus as a function of stress

Post by raback » 28 Jan 2019, 00:00

Hi

You should set "Calculate Stresses = True" and then you can make the Youngs Modulus depend on the results. Note that stresses are computed after the solver so you need to iterate on the coupled system level.

-Peter

Gary R
Posts: 68
Joined: 12 Apr 2012, 07:23
Antispam: Yes
Location: Long Beach CA, USA

Re: adding youngs modulus as a function of stress

Post by Gary R » 29 Jan 2019, 23:22

Thanks for the reply Peter.

My main problem is that I have no idea how to use variables in MATC. The variable t(x) shows up in all of the various manuals. But no where can I find a good explanation for how to assign t(x) to a particular quantity (and I don't mean x=a). What are the dependent variables? What are the independent variables?. I am very confused in this area. I know that I am missing a fundamental concept but can find no documentation that helps. My math degree doesn't seem to help much hear.

Also, my build of ElmerGUI doesn't produce a convergence graph for some reason. I built my version from a recent "elmerfem-devel.zip" file on a Debian Linux Testing system. Have I left something out of the Cmake build?

All help will be sincerely appreciated.

Gary R

mzenker
Posts: 1869
Joined: 07 Dec 2009, 11:49
Location: Germany

Re: adding youngs modulus as a function of stress

Post by mzenker » 30 Jan 2019, 12:29

Hi,

I cannot help with the special settings for Stress Solver et al., but on a general level, e.g. if you need a temperature BC depending on position and time, you would use something like

Code: Select all

Temperature = Variable Coordinate 1, Coordinate 2, Time
    Real MATC "tx(0) + tx(1)**2 +  3*tx(2)"
End
tx(0), tx(1), tx(2) (not t(x)!) stand for Coordinate 1, Coordinate 2, and Time, respectively.

HTH,
Matthias

annier
Posts: 1109
Joined: 27 Aug 2013, 13:51
Antispam: Yes

Re: adding youngs modulus as a function of stress

Post by annier » 08 Feb 2019, 14:31

Hi,
How about the concept of exporting stress as variable from the stress solver (with default displacement variable), and then defining young's modulus as a function of stress in Materials section.

Please find how total flux and total area are exported as variables from Advection-Diffusion(concentration = default variable) solver in the following sif.
https://github.com/anilkunwar/elmerfem/ ... y/case.sif

Yours Sincerely,
Anil Kunwar
Anil Kunwar
Department of Materials Engineering, KU Leuven, Belgium

kevinarden
Posts: 118
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: adding youngs modulus as a function of stress

Post by kevinarden » 12 Feb 2019, 01:17

How do I know what the variable names in ElasticSolve are such as the various stresses and strains?

kevinarden
Posts: 118
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: adding youngs modulus as a function of stress

Post by kevinarden » 12 Feb 2019, 02:18

All 3 of these give the same answer, a constant youngs modulus of 197.0E9. I would expect the last two to be constant.

Material 1
Name = "Austenitic stainless steel (AK Steel 201)"
Poisson ratio = 0.3
Youngs modulus = Variable "Principal Strain", "vonMises"
Real MATC "if (tx(1) < 7.E9) 197.0e9; if (tx(1) > 7.E9) 1.0"
End

Material 1
Name = "Austenitic stainless steel (AK Steel 201)"
Poisson ratio = 0.3
Youngs modulus = Variable "Principal Strain", "vonMises"
Real MATC "(tx(0)*tx(1)*0.0)+197.0e9"
End

Material 1
Name = "Austenitic stainless steel (AK Steel 201)"
Poisson ratio = 0.3
Youngs modulus = 197.0e9
End

kevinarden
Posts: 118
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: adding youngs modulus as a function of stress

Post by kevinarden » 12 Feb 2019, 03:07

This definitely affected the results, have not worked with it enough yet to determine if it affected the results correctly

Material 1
Name = "Austenitic stainless steel (AK Steel 201)"
Poisson ratio = 0.3
Youngs modulus = Variable "Principal Strain"
Real
0.0 197.0e9
0.012 197.0e9
0.013 80.E9
0.014 40.E9
0.015 1.000
0.040 0.0001
1.0 0.0001
End
End

kevinarden
Posts: 118
Joined: 25 Jan 2019, 01:28
Antispam: Yes

Re: adding youngs modulus as a function of stress

Post by kevinarden » 12 Feb 2019, 21:53

Although you can enter Young's Modulus as a variable it does not arrive at the correct solution for plastic deformation. I compared results to actual uniaxial tensile test. Both ABAQUS and Calculix produced correct results using the model. Elmer produced correct results using a constant Young's Modulus with the model. However, it did not for the case setting Young's modulus as a variable of stress nor strain.

mika
Posts: 59
Joined: 15 Sep 2009, 07:44

Re: adding youngs modulus as a function of stress

Post by mika » 13 Feb 2019, 11:15

Hi,

The principal strain consists of three scalar components (the eigenvalues of the strain tensor referred to as "Principal Strain 1", "Principal Strain 2" and "Principal Strain 3"), so tabulating Young's modulus as a function of a scalar "Principal Strain" misses some logic?

--Mika

Post Reply