<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body 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.<br>
<br>
<div class="moz-cite-prefix">On 7/5/17 9:39 AM, Maximilian Hartig
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CABO2ERQkOjSDJwc0uGCn=5tfmEORU+i9EYbNo=mcXhV-CsLzCg@mail.gmail.com">
<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" moz-do-not-send="true">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" moz-do-not-send="true">https://github.com/tdegeus/<wbr>GooseFFT/blob/master/small-<wbr>strain/laminate/elasto-<wbr>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"
moz-do-not-send="true">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="h5">
<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" moz-do-not-send="true">imilian.hartig@gmail.com</a>>
wrote:</div>
<br
class="m_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_6974763644534671648Apple-tab-span" style="white-space:pre-wrap"> </span>3
displacement components<br>
Field 1: <span class="m_6974763644534671648Apple-tab-span" style="white-space:pre-wrap"> </span>3
velocity components <br>
Field 2: <span class="m_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]]-<wbr>sqrt(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" moz-do-not-send="true">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" moz-do-not-send="true">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>
<pre class="moz-signature" cols="72">--
-------------------------------------------------------------------
Sanjay Govindjee, PhD, PE
Horace, Dorothy, and Katherine Johnson Professor in Engineering
779 Davis Hall
University of California
Berkeley, CA 94720-1710
Voice: +1 510 642 6060
FAX: +1 510 643 5264
<a class="moz-txt-link-abbreviated" href="mailto:s_g@berkeley.edu">s_g@berkeley.edu</a>
<a class="moz-txt-link-freetext" href="http://faculty.ce.berkeley.edu/sanjay">http://faculty.ce.berkeley.edu/sanjay</a>
-------------------------------------------------------------------
Books:
Engineering Mechanics of Deformable
Solids: A Presentation with Exercises
<a class="moz-txt-link-freetext" href="http://www.oup.com/us/catalog/general/subject/Physics/MaterialsScience/?view=usa&ci=9780199651641">http://www.oup.com/us/catalog/general/subject/Physics/MaterialsScience/?view=usa&ci=9780199651641</a>
<a class="moz-txt-link-freetext" href="http://ukcatalogue.oup.com/product/9780199651641.do">http://ukcatalogue.oup.com/product/9780199651641.do</a>
<a class="moz-txt-link-freetext" href="http://amzn.com/0199651647">http://amzn.com/0199651647</a>
Engineering Mechanics 3 (Dynamics) 2nd Edition
<a class="moz-txt-link-freetext" href="http://www.springer.com/978-3-642-53711-0">http://www.springer.com/978-3-642-53711-0</a>
<a class="moz-txt-link-freetext" href="http://amzn.com/3642537111">http://amzn.com/3642537111</a>
Engineering Mechanics 3, Supplementary Problems: Dynamics
<a class="moz-txt-link-freetext" href="http://www.amzn.com/B00SOXN8JU">http://www.amzn.com/B00SOXN8JU</a>
-----------------------------------------------
</pre>
</body>
</html>