Dear Yves Renard,

Thank you for your answer. I was worried that adding boundaries to
integration domain would add some unintended values to the result and also
that extrapolation would compromise accuracy, but from your answer I now
could see it wouldn't. I will try your solutions.

Respectfully yours.

On Thu, May 21, 2020 at 8:21 PM Yves Renard <yves.ren...@insa-lyon.fr>
wrote:

>
> Dear Heungson Lee,
>
> There is a priori two known approaches for the used of Nitsche's methode
> for plasticity. The easiest is to consider some additional Gauss points on
> the boundary in order to have the plastic strain there as you mention, or
> to extrapolate it from the internal Gauss points as it is mentionned for
> instance in Seitz thesis
> https://mediatum.ub.tum.de/doc/1454145/1454145.pdf
>
> For the first approach (additional Gauss points on the boundary) you can
> normally specify a mesh region where you include both the domain and the
> boundary where you want to prescribe the Dirichlet condition, which means
> that the region will contain both some elements and some faces of elements.
> Then you create the mim_data object with this mesh region.
>
>
> Concerning the variants with nonzero theta parameter, this is indeed
> complicated for nonlinear material laws, since the constitutive law has to
> be derivated. This is much more complicated for plasticity where the
> constitutive law is only piecewise regular and thus cannot be derivated
> twice for the solve with Newton algorithm. So it seems that, unless the use
> of a regularization, the only variant of Nitsche's method that can be use
> for plasticity is the one with theta = 0.
>
> Best regards,
>
> Yves
>
>
>
> ----- Mail original -----
> De: "Heungson Lee" <heungson....@gmail.com>
> À: "getfem-users" <Getfem-users@nongnu.org>
> Envoyé: Lundi 18 Mai 2020 09:07:18
> Objet: Imposing Dirichlet B.C. using Nitsche's method in fictitious
> domains for elastoplasticity.
>
> Dear getfem++ users. I am Heungson Lee.
>
>  I am trying to impose Dirichlet B.C. using Nitsche's method in fictitious
> domains for elastoplasticity. For linear elastic problems, it just works
> fine. But for elastoplastic problems such as Prandtl Reuss plasticity, I
> was not able to make it work.
>
> I think the major problem is:
>
> 1. Stress tensor and its variation on the Dirichlet boundary.
> -> Nitsche's method brick requires Neumann term on the boundary which uses
> plastic strain. And the elastoplasticity brick requires plastic strain to
> be stored in MeshImData. I was not able to find a way to compute plastic
> strain on the boundary and store it in MeshImData for this purpose.
>
> These two problems might be not that important right now.
>
> 2. Nitsche's method brick does not recognize nonlinear variables for small
> strain elastoplasticity brick.
> -> So I temporarily modified the getfem source code and python interface
> related to the function 'add_Dirichlet_condition_with_Nitsche_method' to
> receive an additional boolean parameter from users which tells if the
> problem is linear or nonlinear problem. It seems that this walk-around
> works.
>
> 3. Fails to calculate the derivative of the Neumann term when theta (one of
> Nitsche's method parameter) is not zero.
> -> It seems that Neumann term includes the Heaviside function which is
> originated from the yield function to distinguish whether it's in elastic
> or plastic region. Inside 'add_Dirichlet_condition_with_Nitsche_method'
> function, derivative of the Neumann term is symbolically evaluated, but it
> fails because of the Heaviside function.
>
>
> Please refer to the attached file to see what I am trying to do.
>
> If you have any idea how to make this work. please let me know. I would
> really appreciate it.
>
> Respectfully yours.

Reply via email to