Dear Domenico,

If I remember well and if these structures have not changed in GetFEM++,
what I meant it that if you have a 1D structure (curvilinear mesh made of
beams) embedded in a 3D space and the variable "u" is a vector (typically a
displacement field), the object computed by Grad_u is not the vector du/ds
(where "s" is the curvilinear abscissa) and Hess_u is not d2u/ds2 but
instead respectively du/ds@t if "t" is the tangent (computed by
Normalized(element_K)  in GetFEM++) and d2u/ds2@t@t so that if you want to
reconstruct the vectors du/ds and d2u/ds2 you have to contract Grad_u once
by t and Hess_u twice by t such as

"Grad_u. Normalized(element_K)" (equivalent to du/ds, ie vector 3x1)
"(Hess_u. Normalized(element_K)). Normalized(element_K)"  or equivalently
"Hess_u:(Normalized(element_K)@Normalized(element_K))"  (equivalent to
d2u/ds2, ie vector 3x1)

Of course it would be more readable to use macro and define for example "t"
as  "Normalized(element_K)".

After that, you can use these expressions in any weak form.

Best regards

Jean-François



Le jeu. 21 mai 2020 à 13:14, Domenico Verde <[email protected]> a écrit :

>
> Dear all users,
> Dear Jean-François,
> I'm interested the subject explained in the following email, taked form
> the archive.
> I didn't undestand the right use of Hess_u with
> Normalized(element_K)@Normalized(element_K).
> Could you please send me the GWFL expression?
> Thank's a lot.
> Best Regards
> Domenico
>
> *From*: Jean-François Barthélémy
> *Subject*: Re: [Getfem-users] Curvilinear structures in Getfem
> *Date*: Tue, 21 Nov 2017 16:26:50 +0100
> ------------------------------
> Dear Yves,
>
> Thank you very much. Now it works perfectly. It was indeed the problem of
> dimension of element_K which was at the origin of the error. I have
> downloaded the fixed version since the use of ":" did not work because of
> mismatch between dimensions (2x2 : 2x1).
>
> The _expression_ "Grad_u:Grad_Test_u" is not equivalent concerning the
> contribution of the longitudinal part of the work since it also includes a
> part of work of the orthogonal displacement. The latter does not contribute
> to the extension work at first order but it rather contributes to the term
> related to the flexion expressed by means of its second derivative obtained
> by the Hessian. I've also built it and it works well (the analytical
> solution of the simple bending beam is retrieved).
>
> I have been initially misled by the fact that the gradient of a vector for
> a 1D structure is actually a 2x2 in 2D (or 3x3 in 3D) matrix equal to
> du/address@hidden where t is the vector "Normalized(element_K)" in GetFEM
> instead of just the vector du/ds as I would have expected since s is the
> only local coordinate. And the hessian is the third order tensor
> d2u/address@hidden@t instead of the vector d2u/ds2. But these vectors
> du/ds and d2u/ds2 can be obtained by contracting Grad_u with
> "Normalized(element_K)" on the one hand and Hess_u with
> "Normalized(element_K)@Normalized(element_K)" on the other hand. Once these
> operations are performed, everything is OK now and GetFEM works perfectly
> for arbitrary curvilinear structures.
>
> Thank you again.
>
> Best regards
> Jean-François
>

Reply via email to