<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
The standard methodology for this problem is to solve only for the
displacements (globally). The stresses are recomputed at the Gauss
point level. The needed history that is usually kept at the Gauss
point level is the plastic strain. Convergence is strongly tied to
having a good tangent operator; in this case you need the so-called
consistent tangent operator (see Simo and Taylor, Computer Methods
in Applied Mechanics and Engineering, 1985).<br>
<br>
Have a look also at the comprehensive and tutorial books by Simo and
Hughes (Computational Inelasticity) and the 1st and 2nd Volumes of
Zienkeiwicz and Taylor (The Finite Element Method) now in the 7th
edition. These texts provide virtually all of the implementation
details that you need.<br>
<br>
-sg<br>
<br>
<div class="moz-cite-prefix">On 9/20/17 1:05 PM, Matthew Knepley
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAMYG4G=5OUbq2CGVS4JNfE+Rz12-5+fU0ptRcMAXQ7acLCp=RQ@mail.gmail.com">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On Wed, Sep 20, 2017 at 12:57 PM,
Maximilian Hartig <span dir="ltr"><<a
href="mailto:imilian.hartig@gmail.com" target="_blank"
moz-do-not-send="true">imilian.hartig@gmail.com</a>></span>
wrote:<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>
<blockquote type="cite">
<div>On 20. Sep 2017, at 18:17, Matthew Knepley <<a
href="mailto:knepley@gmail.com" target="_blank"
moz-do-not-send="true">knepley@gmail.com</a>>
wrote:</div>
<br
class="m_820538064167687730Apple-interchange-newline">
<div>
<div dir="ltr"
style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<div class="gmail_extra">
<div class="gmail_quote">On Wed, Sep 20, 2017
at 11:46 AM, Maximilian Hartig<span
class="m_820538064167687730Apple-converted-space"> </span><span
dir="ltr"><<a
href="mailto:imilian.hartig@gmail.com"
target="_blank" moz-do-not-send="true">imilian.hartig@gmail.<wbr>com</a>></span><span
class="m_820538064167687730Apple-converted-space"> </span>wrote:<br>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
I’m trying to implement plasticity using
petscFE but I am quite stuck since a
while. Here’s what I’m trying to do:<br>
<br>
I have a TS which solves the following
equation:<br>
gradient(stress) +Forces =
density*acceleration<br>
where at the moment stress is a linear
function of the strain and hence the
gradient of the displacement. This works
fine. Now I want to compare the stress to
a reference value and if it lies above
this yield stress, I have to reevaluate
the stress at the respective location.
Then I need to update the plastic strain /
yield stress at this location.<br>
I tried doing that first by solving three
fields at the same time: displacements,
stresses and yield stress. This failed.<br>
Then, I tried solving only for
displacement increments, storing the
displacements, stresses and yield stress
from the past time step in an auxiliary
field. The auxiliary fields are updated
after each time step with a second SNES,
using the displacement increments from the
current, converged time step. This also
failed.<br>
In both cases the code had problems
converging and when it did, I ended up
with negative plastic strain. This is not
possible and I don’t know how it happens
because I explicitly only increment the
plastic strain when the increment is
positive.<br>
<br>
I am sure there is an easy solution to how
I can update the internal variables and
determine the correct stress for the
residual but I just cannot figure it out.
I’d be thankful for any hints.<br>
</blockquote>
<div><br>
</div>
<div>It looks like there are two problems
above:</div>
<div><br>
</div>
<div>1) Convergence</div>
<div><br>
</div>
<div>For any convergence question, we at
minimum need to see the output of</div>
<div><br>
</div>
<div> -snes_view -snes_converged_reason
-snes_monitor -ksp_monitor_true_residual
-snes_linesearch_monitor</div>
<div><br>
</div>
<div>However, this does not seem to be the
main issue.</div>
<div><br>
</div>
<div>2) Negative plastic strain</div>
</div>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
This is what I’m mainly concerned with.<br>
<blockquote type="cite">
<div>
<div dir="ltr"
style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div>If the system really converged (I
cannot tell without other information),
then the system formulation is wrong. Of
course, its</div>
<div>really easy to check by just plugging
your solution into the residual function
too. I do not understand your explanation
above</div>
<div>completely however. Do you solve for
the plastic strain or the increment?</div>
</div>
</div>
</div>
</div>
</blockquote>
<br>
<div>I am trying to find a formulation that works and
I think there is a core concept I am just not
“getting”. </div>
<div>I want to solve for the displacements. </div>
<div>This works fine in an elastic case. When
plasticity is involved, I need to determine the
actual stress for my residual evaluation and I have
not found a way to do that.</div>
<div>All formulations for stress I found in literature
use strain increments so I tried to just solve for
increments each timestep and then add them together
in tspoststep. But I still need to somehow evaluate
the stress for my displacement increment residuals.
So currently, I have auxiliary fields with the
stress and the plastic strain.</div>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>First question: Don't you get stress by just applying a
local operator, rather than a solve?</div>
<div><br>
</div>
<div> Thanks,</div>
<div><br>
</div>
<div> Matt</div>
<div> </div>
<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>
<div> I evaluate the current trial stress by adding a
stress increment assuming elastic behaviour. If the
trial stress lies beyond the yield stress I
calculate the corrected stress to evaluate my
residual for the displacements. But now I somehow
need to update my plastic strain and the stress in
the auxiliary fields. So in tspoststep I created
another SNES to now calculate the stress and plastic
strain while the displacement is the auxiliary
field. </div>
<div><br>
</div>
I’m sure there’s an elegant solution on how to update
internal variables but I have not found it.</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Max<br>
<blockquote type="cite">
<div>
<div dir="ltr"
style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div> <span
class="m_820538064167687730Apple-converted-space"> </span>Thanks,</div>
<div><br>
</div>
<div> Matt</div>
<div> </div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Thanks,<br>
Max</blockquote>
</div>
<br>
<br clear="all">
<span class="HOEnZb"><font color="#888888">
<div><br>
</div>
--<span
class="m_820538064167687730Apple-converted-space"> </span><br>
<div
class="m_820538064167687730gmail_signature"
data-smartmail="gmail_signature">
<div dir="ltr">
<div>What most experimenters take for
granted before they begin their
experiments is infinitely more
interesting than any results to
which their experiments lead.<br>
-- Norbert Wiener</div>
<div><br>
</div>
<div><a
href="http://www.caam.rice.edu/%7Emk51/"
target="_blank"
moz-do-not-send="true">http://www.caam.rice.edu/~<wbr>mk51/</a></div>
</div>
</div>
</font></span></div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature" data-smartmail="gmail_signature">
<div dir="ltr">
<div>What most experimenters take for granted before they
begin their experiments is infinitely more interesting
than any results to which their experiments lead.<br>
-- Norbert Wiener</div>
<div><br>
</div>
<div><a href="http://www.caam.rice.edu/%7Emk51/"
target="_blank" moz-do-not-send="true">http://www.caam.rice.edu/~mk51/</a><br>
</div>
</div>
</div>
</div>
</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>