Nonlocal model in Escript

Asked by Jiadun Liu

Dear All,
 I want to know how to implement a non-local strain model in Escript.
Any suggestion will be appreciated.
Best regards,
Jiadun

Question information

Language:
English Edit question
Status:
Answered
For:
esys-escript Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:

This question was reopened

Revision history for this message
Lutz Gross (l-gross) said :
#1

I assume you mean you want to apply some form of smoothing to the strain or strain invariant.
Typically this would be done in the form

e(x) = int k(x,y) eps(y) dy

where eps is the strain, k(x,y) would be a smoothing kernel and e the smoothed strain.
For instance k(x,y) = f*exp(-(x-y)**2/l**2).
the calculating e directly would be very expensive (and not scalable). One can apply a trick
to do the smoothing very efficiently. In fact one can show that e can be written as the solution of the PDE

e-l**2/2 e_{,ii} = eps

which obviously can be done easily in escript. The error of using the PDE is of order l**4.

Hope that helps.

Revision history for this message
Jiadun Liu (liujiadun) said :
#2

Thanks Lutz Gross, that solved my question.

Revision history for this message
Jiadun Liu (liujiadun) said :
#3

Hi Lutz,

If xInitial = dom.getX() ##initial position of nodes
   d = Vector(0.,Solution(dom)) ##displacements for nodes
   F = grad(xInitial+d) ##the deformation gradient of the Gauss point with respect to the initial domain configuration.
then how to set up the coefficient of pde to calculate a nonlocal deformation gradient of the Gauss point?

Best regards,
Jiadun

Revision history for this message
Lutz Gross (l-gross) said :
#4

Not sure if I understand this:

"then how to set up the coefficient of pde to calculate a nonlocal deformation gradient of the Gauss point?"

Is this in the the initial domain configuration?

Revision history for this message
Jiadun Liu (liujiadun) said :
#5

Yes, calculate grad(xInitial+d) in the initial domain configuration.

Revision history for this message
Lutz Gross (l-gross) said :
#6

Are you updating the mesh in any form?

Revision history for this message
Jiadun Liu (liujiadun) said :
#7

No, the formulation used is total Lagrangian and the mesh is not updated.

Revision history for this message
Lutz Gross (l-gross) said :
#8

Then grad(xInitial+d) does the job.

Revision history for this message
Jiadun Liu (liujiadun) said :
#10

If I use updated Lagrangian formulation, and have the node displacement d,
then how to smooth the grad(d) on the updated mesh?

Revision history for this message
ceguo (hhh-guo) said :
#11

Hi Lutz,

It's brilliant to solve a simple pde to get the smoothed strain. But since strain is a tensor and your equation is proper for scalar unknown only, do we have to solve it by component separately?
In addition, what do you think the proper boundary condition will be for this pde?

I think the coefficients for this pde in escript correspond to D = 1 and A_{jl} = l**2/2 delta_{jl}, am I right?

Thanks a lot!
Ning

Revision history for this message
Lutz Gross (l-gross) said :
#12

yes, you would apply this to each component of the strain tensor or if this is what you use for some form of plasticity or damage model to the strain invariants or equivalent.
yes this is the correct setting for D and A.

 If you want to this is the Lagrangean context but use the PDE on the original geometry
one probably need to add matrix (I+grad(d))^{-1}*(I+grad(d))^{-t}*det(I+grad(d)) and grad(d)^t(I+grad(d))^{-1}*(I+grad(d))^{-t}*grad(d)^t*det(I+grad(d)) in to A and D and det(I+grad(d)) into Y (or 1st order approxiations thereof)

Revision history for this message
ceguo (hhh-guo) said :
#13

Thanks, Lutz. I'm applying it in the updated Lagrangian context so to avoid those matrices. And how about the boundary condition for this pde?

Revision history for this message
Lutz Gross (l-gross) said :
#14

I would use: n*grad(u)=0.

Can you help with this problem?

Provide an answer of your own, or ask Jiadun Liu for more information if necessary.

To post a message you must log in.