getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Imposing Dirichlet B.C. using Nitsche's method in fictitious domains


From: Yves Renard
Subject: Re: Imposing Dirichlet B.C. using Nitsche's method in fictitious domains for elastoplasticity.
Date: Thu, 21 May 2020 13:21:16 +0200 (CEST)

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" <address@hidden>
À: "getfem-users" <address@hidden>
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

[Prev in Thread] Current Thread [Next in Thread]