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.

Attachment: plate_with_fixed_hole_nitsche_PrandlReuss_test.py
Description: Binary data

Reply via email to