[petsc-users] -snes_fd for problems with residuals with non-continuous first derivative?
Sanjay Govindjee
s_g at berkeley.edu
Wed Jul 5 12:08:24 CDT 2017
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.
On 7/5/17 9:39 AM, Maximilian Hartig wrote:
> 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.
> 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 ü.
> 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.
>
> Thanks,
> Max
>
> 2017-06-30 20:49 GMT+02:00 Luv Sharma <luvsharma11 at gmail.com
> <mailto:luvsharma11 at gmail.com>>:
>
> Hi Max,
>
> I do not understand the equations that you write very clearly.
>
> 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:
> https://github.com/tdegeus/GooseFFT/blob/master/small-strain/laminate/elasto-plasticity.py
> <https://github.com/tdegeus/GooseFFT/blob/master/small-strain/laminate/elasto-plasticity.py>
>
> If you are looking for a PETSc based implementation for plasticity
> (isotropic/anisotropic) you can look at
> https://damask.mpie.de/
> I had presented a talk about the same at the PETSc User Meeting
> last year.
>
> As I understand it, additional field equations will only be
> necessary if the plasticity or elasticity were “nonlocal”. You may
> want to look at:
> On the role of moving elastic–plastic boundaries in strain
> gradient plasticity, R H J Peerlings
>
> Best regards,
> Luv
>
>> On 30 Jun 2017, at 11:52, Maximilian Hartig
>> <imilian.hartig at gmail.com <mailto:imilian.hartig at gmail.com>> wrote:
>>
>> Hi Luv,
>>
>> 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:
>> Field 0: 3 displacement components
>> Field 1: 3 velocity components
>> Field 2: 1 equivalent plastic strain
>>
>> 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:
>>
>> Field 0 (displacement):
>> f0[i] = rho*u_t[u_Off[1]+i]
>> f1[i*dim+j] = sigma_tr[i*dim+j] -
>> 2*mu*sqrt(3/2)*u_t[uOff[2]]*N[i*dim+j]
>>
>> where sigma_tr is the trial stress, mu is the shear modulus and N
>> is the unit deviator tensor normal to the yield surface.
>>
>> Field 1 (velocity):
>> f0[i] = u[uOff[1]+i]-u_t[i]
>> f1[i*dim+j] = 0
>>
>> Field 2 (effective plastic strain):
>> f0[0] = ||s_tr|| -2*mu*sqrt(3/2)*u_t[uOff[2]]-sqrt(2/3)*sigma_y
>> f1[i] = 0
>> where ||s_tr|| is the norm of the deviator stress tensor.
>>
>> 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.
>>
>> Thanks,
>> Max
>>
>>
>>> On 30. Jun 2017, at 11:09, Luv Sharma <luvsharma11 at gmail.com
>>> <mailto:luvsharma11 at gmail.com>> wrote:
>>>
>>> Hi Max,
>>>
>>> Is your field solver not converging or the material point solver
>>> ;)?
>>>
>>> Best regards,
>>> Luv
>>>> On 30 Jun 2017, at 10:45, Maximilian Hartig
>>>> <imilian.hartig at gmail.com <mailto:imilian.hartig at gmail.com>> wrote:
>>>>
>>>> Hello,
>>>>
>>>> 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.
>>>> 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?
>>>>
>>>>
>>>> Thanks,
>>>> Max
>>>
>>
>
>
--
-------------------------------------------------------------------
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_g at 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
-----------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170705/aeef5071/attachment.html>
More information about the petsc-users
mailing list