Matt,
There is such a thing as non-local plasticity, one where there is a
separate field equation to
solve for the plasticity (beyond the balance of momentum).
-sanjay
On 9/20/17 4:51 PM, Matthew Knepley wrote:
On Wed, Sep 20, 2017 at 3:46 PM, Maximilian Hartig
<imilian.har...@gmail.com <mailto:imilian.har...@gmail.com>> wrote:
On 20. Sep 2017, at 19:05, Matthew Knepley <knep...@gmail.com
<mailto:knep...@gmail.com>> wrote:
On Wed, Sep 20, 2017 at 12:57 PM, Maximilian
Hartig<imilian.har...@gmail.com
<mailto:imilian.har...@gmail.com>>wrote:
On 20. Sep 2017, at 18:17, Matthew Knepley
<knep...@gmail.com <mailto:knep...@gmail.com>> wrote:
On Wed, Sep 20, 2017 at 11:46 AM, Maximilian
Hartig<imilian.har...@gmail.com
<mailto:imilian.har...@gmail.com>>wrote:
Hello,
I’m trying to implement plasticity using petscFE but I
am quite stuck since a while. Here’s what I’m trying to do:
I have a TS which solves the following equation:
gradient(stress) +Forces = density*acceleration
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.
I tried doing that first by solving three fields at the
same time: displacements, stresses and yield stress.
This failed.
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.
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.
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.
It looks like there are two problems above:
1) Convergence
For any convergence question, we at minimum need to see the
output of
-snes_view -snes_converged_reason -snes_monitor
-ksp_monitor_true_residual -snes_linesearch_monitor
However, this does not seem to be the main issue.
2) Negative plastic strain
This is what I’m mainly concerned with.
If the system really converged (I cannot tell without other
information), then the system formulation is wrong. Of
course, its
really easy to check by just plugging your solution into the
residual function too. I do not understand your explanation
above
completely however. Do you solve for the plastic strain or
the increment?
I am trying to find a formulation that works and I think
there is a core concept I am just not “getting”.
I want to solve for the displacements.
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.
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.
First question: Don't you get stress by just applying a local
operator, rather than a solve?
That depends on the type of plasticity.
What type of plasticity is not local?
For a linear hardening formulation it is correct that I could just
apply a local operator. I’d be happy with that for now. But I’d
still need to save stress state and plastic strain to determine
whether or not I’m dealing with a plasticity. I don’t know how to
do that inside the residual evaluation.
I do not know what you mean by this, meaning why you can't just save
these as auxiliary fields. Also, it would seem to be enough to have
the old displacement and the plastic strain.
Plus DMProjectField seems to have problems evaluating the gradient
when boundary conditions are imposed.
There are several examples where we do exactly this. Can you show me
what you mean by this?
Thanks,
Matt
Thanks,
Max
Thanks,
Matt
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.
I’m sure there’s an elegant solution on how to update
internal variables but I have not found it.
Thanks,
Max
Thanks,
Matt
Thanks,
Max
--
What most experimenters take for granted before they begin
their experiments is infinitely more interesting than any
results to which their experiments lead.
-- Norbert Wiener
http://www.caam.rice.edu/~mk51/
<http://www.caam.rice.edu/%7Emk51/>
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to
which their experiments lead.
-- Norbert Wiener
http://www.caam.rice.edu/~mk51/ <http://www.caam.rice.edu/%7Emk51/>
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which
their experiments lead.
-- Norbert Wiener
http://www.caam.rice.edu/~mk51/ <http://www.caam.rice.edu/%7Emk51/>
--
-------------------------------------------------------------------
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
s...@berkeley.edu
http://faculty.ce.berkeley.edu/sanjay
-------------------------------------------------------------------
Books:
Engineering Mechanics of Deformable
Solids: A Presentation with Exercises
http://www.oup.com/us/catalog/general/subject/Physics/MaterialsScience/?view=usa&ci=9780199651641
http://ukcatalogue.oup.com/product/9780199651641.do
http://amzn.com/0199651647
Engineering Mechanics 3 (Dynamics) 2nd Edition
http://www.springer.com/978-3-642-53711-0
http://amzn.com/3642537111
Engineering Mechanics 3, Supplementary Problems: Dynamics
http://www.amzn.com/B00SOXN8JU
-----------------------------------------------