Hi all 

Classical plasticity is underpinned by return mapping algorithms that operate 
at the level of the quadrature point. One has a global predictor for the 
displacement field where we assume frozen plastic flow. Then at each quadrature 
point you compute a trial strain, and hence a trial stress. The trial stress is 
used to test for yield at the quadrature point. You then compute the plastic 
multiplier, and hence the plastic strain, to return to the yield surface. This 
is an iterative process at the global and possibly local level.

All of this can and has been done in deal.ii. Wolfgang has suggested using 
CellDataStorage which will allow you to handle the quadrature point data. For 
implementations have a look at https://github.com/prisms-center/plasticity 
<https://github.com/prisms-center/plasticity> . 

You might also want to have a look at some of the extensive literature e.g. 
https://onlinelibrary.wiley.com/doi/book/10.1002/9780470694626 
<https://onlinelibrary.wiley.com/doi/book/10.1002/9780470694626> Here they 
explain the algorithm in detail.

Best
A

> On 30 Mar 2020, at 19:09, Muhammad Mashhood <mashsquad...@gmail.com> wrote:
> 
> 
> 
> On Monday, February 24, 2020 at 12:42:17 AM UTC+1, Wolfgang Bangerth wrote:
> 
> > In my question I meant whether is it possible to evaluated plastic strain 
> > component from currently implemented plasticity algorithm as a further 
> > development of this code? 
> 
> I am pretty sure that it is, by just computing the difference between the 
> elastic stress (C eps(u)) and the actual stress computed. In fact, for the 
> current situation, the actual stress computed equal to the elastic stress 
> where it is less than the yield stress (and so the plastic strain is zero), 
> and it is simply a fraction of the elastic stress where it exceeds the yield 
> stress. Once you have the plastic stress, you can compute the plastic strain 
> by multiplying it by C^{-1}. 
> Thank you very much Prof. Wolfgang for your suggestion and I hope you are 
> doing all well. As far as I understood now from your suggestion is that on 
> the base of additive decomposition, I can subtract elastic stress (C eps(u)) 
> from the actual stress computed to have the plastic stress part. But here I 
> just noticed in the program that we also need (eps(u)) or the elastic strain 
> part to have elastic stress part's value when the domain is in the plastic 
> region.
>     In one dimension problem there is I think no problem because from stress 
> strain curve one knows already the elastic stress value (which is yield 
> stress) but here we have multidimensional problem i.e. stress and strain as a 
> 2nd order tensor. Therefore I am thinking now that how this elastic strain 
> tensor can be evaluated to have elastic stress part to be subtracted from 
> total calculated stress. 
> One of the idea I have so far is to use the calculated "strain_tensor" to 
> find the elastic stress as  "elastic_stress_tensor = 
> (stress_strain_tensor_kappa + stress_strain_tensor_mu) * strain_tensor". But 
> again the point is that the "strain_tensor" here is the total strain rather 
> than elastic strain component.  
> 
> Kindly correct me if I misunderstood your suggestion at any point or if there 
> is an alternate approach possible. Thank you again in advance. 
> Stay healthy stay safe!
> 
> 
> > Then as a step further I would be trying to store this plastic strain in 
> > cells 
> > or Gauss points along with the modified yield strength (due to isotropic 
> > hardening) so that history of loading is stored too in the domain. 
> 
> I imagine that that, too, can be done. I'm not an expert in plasticity, but I 
> see no fundamental reasons why what you want to do should not be possible. 
> There are also classes CellDataStorage and TransferableQuadraturePointData 
> and 
> parallel::distributed::ContinuousQuadratureDataTransfer that can help you 
> with 
> storing information at quadrature points. 
> 
> Best 
>   W. 
> 
> -- 
> ------------------------------------------------------------------------ 
> Wolfgang Bangerth          email:                 bang...@colostate.edu 
> <javascript:> 
>                             www: http://www.math.colostate.edu/~bangerth/ 
> <http://www.math.colostate.edu/~bangerth/> 
> 
> 
> -- 
> The deal.II project is located at http://www.dealii.org/ 
> <http://www.dealii.org/>
> For mailing list/forum options, see 
> https://groups.google.com/d/forum/dealii?hl=en 
> <https://groups.google.com/d/forum/dealii?hl=en>
> --- 
> You received this message because you are subscribed to the Google Groups 
> "deal.II User Group" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to dealii+unsubscr...@googlegroups.com 
> <mailto:dealii+unsubscr...@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/dealii/9a59d3e4-e11d-4f6e-af92-c34c85fe9b57%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/dealii/9a59d3e4-e11d-4f6e-af92-c34c85fe9b57%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to dealii+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/BF218BC7-1476-4910-94C0-5353AC799B41%40gmail.com.

Reply via email to