This should work, yes. If you can send me a small program that I can
test, I can have a look to this problem.
Best regards,
Yves.
Le 20/11/2017 à 14:54, Jean-François Barthélémy a écrit :
Dear Yves,
Thank you. This is precisely the formulation I used but it raises the
following problem (in python)
0.5*sqr(Normalized(element_K).(Grad_u*Normalized(element_K)))
------------------------------------------^
The second argument of the dot product has to be a vector.
logic_error exception caught
...
RuntimeError: (Getfem::InterfaceError) -- Error in
getfem_generic_assembly.cc, line 8949 void
getfem::ga_node_analysis(const string&, getfem::ga_tree&, const
getfem::ga_workspace&, getfem::pga_tree_node, bgeot::size_type,
bgeot::size_type, bool, bool, int):
Error in assembly string
following a call such as
md.add_linear_generic_assembly_brick(mim,"0.5*sqr(Normalized(element_K).(Grad_u*Normalized(element_K)))")
Did I miss something?
I am sorry to bother you again.
Thanks
Best regards
Jean-François
2017-11-20 14:10 GMT+01:00 Yves Renard <[email protected]
<mailto:[email protected]>>:
Dear Jean-François,
For a vector variable 'u', each line of 'Grad_u' is the gradient
of the ith component of 'u', each of them is tangent to the curve
and length being the derivative with respect to the curvilinear
abscissa. The linearized deformation is a priori
Normalized(element_K).(Grad_u * Normalized(element_K))
The formulas used to compute the gradient and the Hessian can be
found here:
http://getfem.org/project/femdesc.html#geometric-transformations
<http://getfem.org/project/femdesc.html#geometric-transformations>
http://getfem.org/project/appendixA.html#derivative-computation
<http://getfem.org/project/appendixA.html#derivative-computation>
The hessian of a vector valued variable is also the hessian of
each component.
Best regards,
Yves.
Le 20/11/2017 à 02:10, Jean-François Barthélémy a écrit :
Dear Yves,
Thank you very much for your answer.
It's OK for scalar variables but I do not really understand how
Grad_u is built when u is a displacement vector field of 3
components. I thought Grad_u would represent the vector du/ds
([dux/ds,duy/ds,duz/ds]) with s the local curvilinear abscissa
(so that Normalized(element_K).Grad_u would give the linearized
longitudinal deformation) but it seems that Grad_u is actually a
3x3 matrix field. Then I do not see how to build the longitudinal
deformation. What would be the best way please? And by the way,
what would be the right syntax to get the second derivative of
the transverse displacement by means of Hermite elements and the
Hessian?
Thank you again for your help.
Best regards
Jean-François
2017-11-17 20:52 GMT+01:00 Yves Renard <[email protected]
<mailto:[email protected]>>:
Dear Jean-François,
There is no specific tool yet for that.
You can have access to the tangent with 'element_K' in the
generic assembly language (the unit tangent is then
'Normalized(element_K)')
If you define a scalar quantity "u" on your 1D structure,
then "Grad_u" will be the gradient of the quantity in the
sense that it is a tangent vector whose norm is the
derivative of the qunatity along the curve. So that
"Grad_u.Grad_Test_u" is still the stiffness term for a
curvilinear second derivative. For a vector quantity "u",
"Grad_u" is the componentwise gradient.
Best regard,
Yves.
----- Original Message -----
From: "Jean-François Barthélémy"
<[email protected]
<mailto:[email protected]>>
To: [email protected] <mailto:[email protected]>
Sent: Friday, November 17, 2017 6:17:13 PM
Subject: [Getfem-users] Curvilinear structures in Getfem
Dear Getfem users,
I wonder whether it is possible to model simple linear
elastic curvilinear
structures submitted to traction, bending, torsion etc... in
2D or 3D in
Getfem. I haven't found a way to have access to the
tangential or normal
parts of vectors in the local basis of a beam and their
derivatives with
respect to the curvilinear abscissa needed to build the
formulation. Does
someone have an answer please?
Thanks in advance
Best regards
Jean-François
--
Yves Renard ([email protected] <mailto:[email protected]>)
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
<http://math.univ-lyon1.fr/%7Erenard>
---------
--
Yves Renard ([email protected]) 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
---------