# [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;
>
>
> It does not work (error of memory reference); probably because I cannot
> adopt an integral quantity this way:
>
>
> Galerkin { [-{A},{u}];
>
>
> 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 ]
>>>
>>
>>
>>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

```