[Getdp] LinearElasticity2D-how to apply a force field?

Christophe Geuzaine geuzaine at acm.caltech.edu
Thu Nov 11 02:23:34 CET 2004


Paolo Guglielmi wrote:
> Dear Christophe,
> 
> 	Thanks for the prompt answer.
> 
> But things does not work as we expected, i.e. over a ring shaped disk
> the displacement are not symmetrical.
> 
> Most probably the problem is in the formulation itself. I think that 
> the centrifugal force field should be proportional to the area of
> each single triangle and applied in the direction:
> 
> f = Vector (x , y, 0)
> 
> in fact if I change the mesh the solution strongly changes.
> 
> I am supposing that the correct force vector to be applied to each
> element should be given by an integration of the force 
> 
> F[Slab] = Vector[k*X[], k*Y[], 0]

Have you tried something like

F[Slab] = Vector[X[]/ElementVol[], Y[]/ElementVol[], 0] ?

(ElementVol[] returns the length of a 1D element, the surface of a 2D 
element and the volume of a 3D element.)

Christophe



> 
> over the domain itself.
> 
> So I try to define a Integral Quantity in the formulation as :
> 
> 
> { Name A; Type Integral; NameOfSpace H_u_Mec2D; 
> 	  [F[]]; In Domain_Force; Jacobian Vol; Integration GradGrad }
> 
> 
> It does not work (error of memory reference); probably because I cannot
> adopt an integral quantity this way:
> 
> 
> Galerkin { [-{A},{u}];
> 		In Domain_Force; Jacobian Vol; Intagration GradGrad;}
> 
> 
> What can we try?
> 
> Notes:
> 
> - If I calculate the integral the same way described above in the post
> processing (but not in the formulation) I can see the vector assigned
> to each element be proportonal to the element area.
> 
> - Can we use the "A" as a result of a first solution, build a
> space of forces, assign the "A" values as constraints to each
> element, and than solve the problem again? ( use two different
> problems?)
> 
> - Adopt "A" as Global Quantity? How?
> 
> 
> At last I want to thak you for sharing this really nice program with all
> of us.
> 
> Regards,
> 
> Paolo
> 
> 
> On Tue, 26 Oct 2004 00:48:53 -0700
> Christophe Geuzaine <geuzaine at acm.caltech.edu> wrote:
> 
> 
>>Gianmario Pellegrino wrote:
>>
>>>Dear Christophe,
>>>first of all congratulations for you very good job and many thanks
>>>for sharing it.
>>>We're trying to evaluate (my colleague is in copy) the centrifugal 
>>>stress and deformation of a rotating lamination, but we can't figure
>>>out how to express the forcing term as a function of x and y.
>>>Except for that, the LinearElasticity2d example fits very well.
>>>The centrifugal force per volume is expressed by:
>>>
>>>f = Vector (k*x , k*y, 0)
>>>
>>>We tried to declare this term as a function, using both $X,$Y and
>>>simply X,Y,
>>>
>>>F[Slab] = Vector[k*$X, k*$Y, 0 ]
>>>
>>
>>Right... I almost forgot about this.
>>
>>Currently, you should use the "current values" $X, $Y and $Z only in 
>>pre-processing constraints, and use the functions X[], Y[] and Z[] in 
>>the formulations, i.e.:
>>
>>F[Slab] = Vector[k*X[], k*Y[], 0]
>>
>>(We definitely need to clarify the documentation about current values;
>>or actually fix the code ;-))
>>
>>Best,
>>
>>Christophe
>>
>>-- 
>>Christophe Geuzaine
>>Applied and Computational Mathematics, Caltech
>>geuzaine at acm.caltech.edu - http://geuz.org
>>
> 
> 
> 


-- 
Christophe Geuzaine
Applied and Computational Mathematics, Caltech
geuzaine at acm.caltech.edu - http://geuz.org