|
From: | Jean-François Barthélémy |
Subject: | Re: [Getfem-users] Curvilinear structures in Getfem |
Date: | Tue, 21 Nov 2017 00:41:21 +0100 |
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 asmd.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 regardsJean-François
2017-11-20 14:10 GMT+01:00 Yves Renard <address@hidden>:
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-transformat ions
http://getfem.org/project/appendixA.html#derivative-computat ion
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 regardsJean-François
2017-11-17 20:52 GMT+01:00 Yves Renard <address@hidden>:
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" <address@hiddenm >
To: address@hidden
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 (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 ---------
-- 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 ---------
beam_bendmanual.py
Description: Text document
beam.msh
Description: Mesh model
beam_bendgeneric.py
Description: Text document
[Prev in Thread] | Current Thread | [Next in Thread] |