Paul, FYI, I think I've figured out what's going on here.

If the whole model is in the elastic regime, then the analytical and f.d.
jacobians match.

If I set the load to be sufficiently high such that the entire model is
plastic, then again the analytical and f.d. jacobians match.

The case where I get a mismatch is if the model is part elastic and part
plastic. In this case, I believe that the finite difference jacobian is
wrong because the small f.d. perturbations can lead to a change from
elastic to plastic (or vice versa), which leads to a large error in the
jacobian. Does that sound like a plausible explanation to you?

David



On Wed, Mar 30, 2016 at 9:25 AM, David Knezevic <david.kneze...@akselos.com>
wrote:

> On Wed, Mar 30, 2016 at 9:20 AM, Paul T. Bauman <ptbau...@gmail.com>
> wrote:
>
>>
>>
>> On Wed, Mar 30, 2016 at 9:16 AM, David Knezevic <
>> david.kneze...@akselos.com> wrote:
>>
>>> On Wed, Mar 30, 2016 at 9:11 AM, Paul T. Bauman <ptbau...@gmail.com>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Wed, Mar 30, 2016 at 8:00 AM, David Knezevic <
>>>> david.kneze...@akselos.com> wrote:
>>>>>
>>>>>
>>>>> Thanks for your comments. The problem I'm considering is plasticity,
>>>>> using the radial return algorithm. As far as I can tell, the code matches
>>>>> the text book, and it converges correctly. However, it doesn't match the
>>>>> finite difference Jacobian from FEMSystem. So there are two possibilities:
>>>>>
>>>>> 1) Somehow the finite difference Jacobian is inconsistent with the
>>>>> radial return algorithm. This doesn't seem impossible to me, given that 
>>>>> the
>>>>> radial return algorithm is highly path-dependent.
>>>>>
>>>>
>>>> This is very much a thing. What reference are you using? The Jacobian
>>>> you get from the equations vs. the Jacobian which includes the radial
>>>> return algorithm ("consistent tangent" as the community calls it) are
>>>> different. Simo and Hughes, "Computationally Inelasticity" has a good
>>>> discussion of this.
>>>>
>>>
>>>
>>> I'm using Simo and Hughes. I implemented the algorithm in "Box 3.2" of
>>> that book for radial return, and it seems to be working fine.
>>>
>>
>> OK, cool. Just wanted to make sure you were aware (I figured you were).
>>
>>
>>> However, I would have thought that I could use a finite difference
>>> Jacobian based on the residual that is given by the radial return algorithm
>>> (i.e. the residual that uses the stress from radial return). I would have
>>> thought that yields a "consistent tangent", no?
>>>
>>
>> Agreed. I'd suspect a bug, or I'm forgetting something because I haven't
>> played with damage/plasticity in ~3 years.
>>
>
>
> OK. I was hoping there might be some reason that the finite difference
> could be wrong in this case... but I agree, it's more likely that there's
> just a bug.
>
> Do you get dramatic convergence behavior changes between the finite
>> difference version and the analytical version? If not, very likely there's
>> some small term that's missing/in error.
>>
>
> They both converge similarly, so yeah, there's probably a small term
> that's in error.
>
> Thanks,
> David
>
>
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to