<div dir="ltr"><div><div><div><div><div><div><div>I have looked into several books for plasticity, but it cannot hurt to check out another one. I will do so as soon as I can get a hold of it.<br></div>I do have a basic understanding on how to implement plasticity with the return mapping algorithm. My main problem is that I am lost when trying to implement it within Petsc. I just might have to create two separate snes<br></div>-solver contexts to run inside a single TS solver. In my understanding, that is not how Petsc is designed to work though.<br></div>I cannot seem to find a clear formulation for dynamic plasticity either. I looked into the Cristescu book "dynamic plasticity" but that was not very helpful either. I have read through:<br>Rust, W. (2009). Nichtlineare Finite- Elemente-Berechnungen. Wiesbaden: Springer Vieweg.<br>Kim, N.-H. (2015). Introduction to Nonlinear Finite Element Analysis. New York, NY: Springer New York Heidelberg Dodrecht London. <a href="http://doi.org/10.1007/978-1-4419-1746-1">http://doi.org/10.1007/978-1-4419-1746-1</a><br>Steinke, P. (2015). Finite-Elemente-Methode (5th ed.). Springer Vieweg.<br></div>and they all describe how to set up a stationary (or pseudo-timestepping) solver for plasticity.<br></div><div>But firstly I'd like to avoid writing my own solver and secondly I need it to be transient.<br></div><div><br></div>I have looked at the links you provided Luv, thanks. DAMASK is to complex a subject for me to understand it quickly. I will need some time to understand what it does and how to make use of it exactly.<br></div>Thanks,<br></div>Max<br></div><div class="gmail_extra"><br><div class="gmail_quote">2017-07-05 20:49 GMT+02:00 Luv Sharma <span dir="ltr"><<a href="mailto:luvsharma11@gmail.com" target="_blank">luvsharma11@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div style="margin:0px;line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">Hi , </div><div style="margin:0px;line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69);min-height:14px"><br></div><div style="margin:0px;line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">I agree with Sanjay and you can still look at the links that I mentioned; to get an understanding of different plasticity formulations.</div><div style="margin:0px;line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">Honestly, I am also lost in plasticity ;)</div><div style="margin:0px;line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69);min-height:14px"><br></div><div style="margin:0px;line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">The first link is an FFT based spectral solver implementation of plasticity.</div><div style="margin:0px;line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">I have a PETSc implementation (in python) of the same but without plasticity (only hyper-elasticity). I hope to make it open source soon.</div><div style="margin:0px;line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">May be that will be helpful for you as well!</div><div style="margin:0px;line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69);min-height:14px"><br></div><div style="margin:0px;line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">Best regards,</div><div style="margin:0px;line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)">Luv</div><div style="margin:0px;line-height:normal;font-family:'Helvetica Neue';color:rgb(69,69,69)"><br></div><div><blockquote type="cite"><div>On 5 Jul 2017, at 19:08, Sanjay Govindjee <<a href="mailto:s_g@berkeley.edu" target="_blank">s_g@berkeley.edu</a>> wrote:</div><br class="m_8797289670327928005Apple-interchange-newline"><div>
<div text="#000000" bgcolor="#FFFFFF">
Let me suggest that you grab a hold of Simo and Hughes,
Computational Inelasticity, Springer-Verlag (1998). It explains a
lot about how to set up this problem -- in particular Chapter 1
gives a comprehensive one-dimensional tutorial on everything you
need to know.<div><div class="h5"><br>
<br>
<div class="m_8797289670327928005moz-cite-prefix">On 7/5/17 9:39 AM, Maximilian Hartig
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>I do not clearly understand the discrimination between
local and global plasticity. I do have areas where I
expect the behaviour to be elastic and other areas where I
expect elasto-plastic behaviour.<br>
</div>
Inertia effects are of importance and hence I need second
order temporal derivatives of my displacements. The only way
I have found to implement this in Petsc is to create a
separate velocity field which I use to then compute ü.<br>
</div>
To account for plasticity, in my understanding I need to
introduce at least one additional history variable. In my case
this is the effective plastic strain e_p. I then solve the
equation of motion (grad(sigma)-rho*ü+F=0) and the consistency
condition (sigma_eq - sigma_yield = 0) at the same time. Or
try to at least.<br>
</div>
<div><br>
</div>
<div>Thanks,<br>
</div>
<div>Max<br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2017-06-30 20:49 GMT+02:00 Luv Sharma <span dir="ltr"><<a href="mailto:luvsharma11@gmail.com" target="_blank">luvsharma11@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word">Hi Max,
<div><br>
</div>
<div>I do not understand the equations that you write very
clearly. </div>
<div><br>
</div>
<div>Are you looking to implement a “local” and “if” type
of isotropic hardening plasticity? If that is the case,
then in my understanding you need to solve only 1 field
equation for the displacement components or for the
strain components. You can look at the following code:</div>
<div><a href="https://github.com/tdegeus/GooseFFT/blob/master/small-strain/laminate/elasto-plasticity.py" target="_blank">https://github.com/tdegeus/Goo<wbr>seFFT/blob/master/small-strain<wbr>/laminate/elasto-plasticity.py</a></div>
<div><br>
</div>
<div>If you are looking for a PETSc based implementation
for plasticity (isotropic/anisotropic) you can look at </div>
<div><a href="https://damask.mpie.de/" target="_blank">https://damask.mpie.de/</a></div>
<div>I had presented a talk about the same at the PETSc
User Meeting last year.</div>
<div><br>
</div>
<div>As I understand it, additional field equations will
only be necessary if the plasticity or elasticity were
“nonlocal”. You may want to look at:</div>
<div>On the role of moving elastic–plastic boundaries in
strain gradient plasticity, R H J Peerlings</div>
<div><br>
</div>
<div>Best regards,</div>
<div>Luv</div>
<div>
<div class="m_8797289670327928005h5">
<div><br>
<div>
<blockquote type="cite">
<div>On 30 Jun 2017, at 11:52, Maximilian Hartig
<<a href="mailto:imilian.hartig@gmail.com" target="_blank">imilian.hartig@gmail.com</a>>
wrote:</div>
<br class="m_8797289670327928005m_6974763644534671648Apple-interchange-newline">
<div>
<div>Hi Luv,<br>
<br>
I’m modelling linear hardening(sigma_y =
sigma_y0 + K_iso*epsilon_plast_eqiv) with
isotropic plasticity only. So I should not
need to use an iterative method to find the
point on the yield surface. I have three
fields and 7 unknowns in total:<br>
Field 0: <span class="m_8797289670327928005m_6974763644534671648Apple-tab-span" style="white-space:pre-wrap"> </span>3
displacement components<br>
Field 1: <span class="m_8797289670327928005m_6974763644534671648Apple-tab-span" style="white-space:pre-wrap"> </span>3
velocity components <br>
Field 2: <span class="m_8797289670327928005m_6974763644534671648Apple-tab-span" style="white-space:pre-wrap"> </span>1
equivalent plastic strain<br>
<br>
It is the solver for these three fields that
is not converging. I am using PetscFE. As
residuals for the plastic case (sigma_vM
> sigma_yield) I have:<br>
<br>
Field 0 (displacement):<br>
f0[i] = rho*u_t[u_Off[1]+i]<br>
f1[i*dim+j] = sigma_tr[i*dim+j] -
2*mu*sqrt(3/2)*u_t[uOff[2]]*N[<wbr>i*dim+j]<br>
<br>
where sigma_tr is the trial stress, mu is
the shear modulus and N is the unit deviator
tensor normal to the yield surface.<br>
<br>
Field 1 (velocity):<br>
f0[i] = u[uOff[1]+i]-u_t[i]<br>
f1[i*dim+j] = 0<br>
<br>
Field 2 (effective plastic strain):<br>
f0[0] = ||s_tr||
-2*mu*sqrt(3/2)*u_t[uOff[2]]-s<wbr>qrt(2/3)*sigma_y<br>
f1[i] = 0<br>
where ||s_tr|| is the norm of the deviator
stress tensor.<br>
<br>
Field 0 residual is essentially newton’s
second law of motion and Field 2 residual
should be the yield criterion. I might have
just fundamentally misunderstood the
equations of plasticity but I cannot seem to
find my mistake.<br>
<br>
Thanks,<br>
Max<br>
<br>
<br>
<blockquote type="cite">On 30. Jun 2017, at
11:09, Luv Sharma <<a href="mailto:luvsharma11@gmail.com" target="_blank">luvsharma11@gmail.com</a>>
wrote:<br>
<br>
Hi Max,<br>
<br>
Is your field solver not converging or the
material point solver ;)? <br>
<br>
Best regards,<br>
Luv<br>
<blockquote type="cite">On 30 Jun 2017, at
10:45, Maximilian Hartig <<a href="mailto:imilian.hartig@gmail.com" target="_blank">imilian.hartig@gmail.com</a>>
wrote:<br>
<br>
Hello,<br>
<br>
I’m trying to implement plasticity and
have problems getting the Petsc SNES to
converge. To check if my residual
formulation is correct I tried running
with -snes_fd for an easy example as the
Petsc FAQ suggest. I cannot seem to get
the solver to converge at any cost.<br>
I already tried to impose bounds on the
solution and moved to vinewtonrsls as a
nonlinear solver. I checked and
rechecked my residuals but I do not find
an error there. I now have the suspicion
that the -snes_fd option is not made for
handling residuals who’s first
derivatives are not continuous (e.g.
have an “if” condition in them for the
plasticity/ flow-condition). Can you
confirm my suspicion? And is there
another way to test my residual
formulation separate from my hand-coded
jacobian?<br>
<br>
<br>
Thanks,<br>
Max<br>
</blockquote>
<br>
</blockquote>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div></div><pre class="m_8797289670327928005moz-signature" cols="72">--
------------------------------<wbr>------------------------------<wbr>-------
Sanjay Govindjee, PhD, PE
Horace, Dorothy, and Katherine Johnson Professor in Engineering
779 Davis Hall
University of California
Berkeley, CA 94720-1710
Voice: <a href="tel:(510)%20642-6060" value="+15106426060" target="_blank">+1 510 642 6060</a>
FAX: <a href="tel:(510)%20643-5264" value="+15106435264" target="_blank">+1 510 643 5264</a>
<a class="m_8797289670327928005moz-txt-link-abbreviated" href="mailto:s_g@berkeley.edu" target="_blank">s_g@berkeley.edu</a>
<a class="m_8797289670327928005moz-txt-link-freetext" href="http://faculty.ce.berkeley.edu/sanjay" target="_blank">http://faculty.ce.berkeley.<wbr>edu/sanjay</a>
------------------------------<wbr>------------------------------<wbr>-------
Books:
Engineering Mechanics of Deformable
Solids: A Presentation with Exercises
<a class="m_8797289670327928005moz-txt-link-freetext" href="http://www.oup.com/us/catalog/general/subject/Physics/MaterialsScience/?view=usa&ci=9780199651641" target="_blank">http://www.oup.com/us/catalog/<wbr>general/subject/Physics/<wbr>MaterialsScience/?view=usa&ci=<wbr>9780199651641</a>
<a class="m_8797289670327928005moz-txt-link-freetext" href="http://ukcatalogue.oup.com/product/9780199651641.do" target="_blank">http://ukcatalogue.oup.com/<wbr>product/9780199651641.do</a>
<a class="m_8797289670327928005moz-txt-link-freetext" href="http://amzn.com/0199651647" target="_blank">http://amzn.com/0199651647</a>
Engineering Mechanics 3 (Dynamics) 2nd Edition
<a class="m_8797289670327928005moz-txt-link-freetext" href="http://www.springer.com/978-3-642-53711-0" target="_blank">http://www.springer.com/978-3-<wbr>642-53711-0</a>
<a class="m_8797289670327928005moz-txt-link-freetext" href="http://amzn.com/3642537111" target="_blank">http://amzn.com/3642537111</a>
Engineering Mechanics 3, Supplementary Problems: Dynamics
<a class="m_8797289670327928005moz-txt-link-freetext" href="http://www.amzn.com/B00SOXN8JU" target="_blank">http://www.amzn.com/B00SOXN8JU</a>
------------------------------<wbr>-----------------
</pre>
</div>
</div></blockquote></div><br></div></blockquote></div><br></div>