getfem-users
[Top][All Lists]
Advanced

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

Re: [Getfem-users] gradient interpolation matrix


From: Yves Renard
Subject: Re: [Getfem-users] gradient interpolation matrix
Date: Mon, 6 Nov 2017 17:23:26 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0


Dear Edouard,

No, such a matrix in not available for the moment. It is not very difficult to implement, but it has to be done in C++ by extending the function in the file getfem_interpolation.h which do the job for the value, but not for a derivative.

May be you can be more accurate on the use of this matrix. May be there is some alternative to avoid it.

For instance, what I mentionned in my previous e-mail was to use instead a projection matrix. A projection matrix can be easily assembled with a expression such as for instance

"Grad_u(1)Test_v"

in term of the generic assembly language where "Grad_u(1)" is the derivative with respect to the first direction and "Test_v" should correspond to a P_0 discontinuous finite element method to obtain a unique value on each element. But of course, in that case, it will be a mean value of the derivative on the element, not the interpolation at the center of the element.

Best regards,

Yves



Le 05/11/2017 à 22:32, Edouard Oudet a écrit :
Dear Yves,
Thanks a lot for your fast answer!
I am not sure I follow your suggestion. My goal is to obtain a description of the linear operator from my dof to the evaluation of, let say, the first derivative of my fem at the centers of my elements. Is this what you call discontinuous fem ? If my fem is described by an object femk, I understood that a (python) call to

M = asm_interpolation_matrix(femk, fem0)

gives me the interpolaation matrix from femk to fem0 but I do not see how to use this for my derivative "\partial_1 femk" ? Which matrix should be inverted ? I apologize for the naivety of my questions,
best,
Edouard.

Le 05/11/2017 à 16:11, Yves Renard a écrit :
Dear Edouard,

No, unfortunately, there is no function in Getfem that gives the interpolation matrix for a derivative of a field. You can perform the interpolation itself with the high level generic assembly, but it does not give an interpolation matrix. If you want to interpolate on a discontinuous fem, you can instead compute the projection matrix which will be easy to invert because it will be local (a small matrix on each element). Then if your projection is exact, then the inverse will also be an interpolation matrix ...

Best regards,

Yves.



----- Original Message -----
From: "EDOUARD OUDET" <address@hidden>
To: address@hidden
Sent: Friday, November 3, 2017 11:43:34 AM
Subject: [Getfem-users] gradient interpolation matrix

Dear all,
Is there a way with the getfem python interface to assembly the matrix associated to the interpolation matrix of a first derivative evaluation of a fem (or its full gradient).
I found

Mi = asm_interpolation_matrix(MeshFem mf, vec pts)

for the evaluation of the function u = MeshFem mf itself, but I was not able to identify the relevant generalization for derivatives of u: \partial u_x, \partial u_y, etc.
Thanks a lot for this great library,
best, Edouard.



--

  Yves Renard (address@hidden)       tel : (33) 04.72.43.87.08
  Pole de Mathematiques, INSA-Lyon             fax : (33) 04.72.43.85.29
  20, rue Albert Einstein
  69621 Villeurbanne Cedex, FRANCE
  http://math.univ-lyon1.fr/~renard

---------




reply via email to

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