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 <[email protected]> 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 <[email protected]> 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
> 

Reply via email to