Hi Mac,
             I really appreciate your concern and thank you for nice and 
brief summary regarding classical plasticity algorithm. 
I would like to highlight here that in Prisms-plasticity this algorithm is 
also implemented but I checked with its continuum plasticity application, 
which so far is not updated and hence also the code is not working for 
continuum plasticity part. As per communication from developers they will 
update and make it run in next update.
Secondly I am preferably using the step-42. Personally for me it seems bit 
simpler and I already coupled it with other physics for multi-physics 
problem.


On Wednesday, April 1, 2020 at 11:26:44 AM UTC+2, mac wrote:
>
> 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.
>
No doubt, you are very right that the plastic multiplier is evaluated in 
iterative manner and this very plastic multiplier is then a key to plastic 
strain evaluation. But here I would like to highlight that in the step-42 
seemingly a bit different method is used to solve elastoplastic problem. As 
far as I could understand the algorithm in hand, here after evaluating the 
trial stress in terms of Von-Mises equivalent stress and also when it is 
higher than the yield stress, the stiffness tensor is evaluated as function 
of current trial stress. After that this very stiffness tensor is used to 
evaluate displacement and strain increments and convergence of Newton 
algorithm is checked. So in this way the system is solved iteratively and 
after convergence the displacement and the total strain is present as 
output. 
As the total strain is the output that is why I need here some way to 
evaluate the plastic and elastic strain (any one of them so that other can 
be evaluated from additive decomposition). If you want, you can check this 
interesting and simple algorithm in a deal.ii step-42 code or this nice 
article of "Goal oriented error estimation and mesh adaptivity in 3d 
elastoplasticity problems" doi: 
https://doi-org.proxy.bnl.lu/10.1007/s10704-016-0113-y 

I hope I explained it well. Thanks again for showing interest and your 
concern. 

>
> 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 . 
>
> 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 Here 
> they explain the algorithm in detail.
>
> Best
> A
>
> On 30 Mar 2020, at 19:09, Muhammad Mashhood <mashsq...@gmail.com 
> <javascript:>> 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 
>>                             www: http://www.math.colostate.edu/~bangerth/ 
>>
>>
> -- 
> 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 dea...@googlegroups.com <javascript:>.
> 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/93bb9460-0ea0-424f-8208-b7877ca662a8%40googlegroups.com.

Reply via email to