# How to apply point forces to a mesh?

Hello,

I am trying to apply a point force on my mesh but I have been unsuccessful so far. I have modified the code from the FreeFem Modules (3d elasticity case) to fit my application, except I can’t seem to be able to apply any point forces to my mesh. The relevant part of my code is as follows.

``````varf vElasticity ([ux, uy, uz], [vx, vy, vz])
= int3d(Th)(
Lambda * Divergence(vx, vy, vz) * Divergence(ux, uy, uz)
+ 2. * Mu * (
Epsilon(vx, vy, vz)' * Epsilon(ux, uy, uz)
)
)
+ int3d(Th)(
Rho * Gravity * vz
)
+ int0d(Th, 101)(
30000*vy + 200000*vx
)
+ on(Clamped, ux=0, uy=0, uz=0)
+ on(26, ux=0, uy=0, uz=0)
;
``````

to my unerstanding `int3d` is a volume integration over the mesh, so that is why I am able to apply a load correspnding to gravity. This works fine in my code. By this logic shouldn’t `int0d` be just a point to apply a force to? This method however doesn’t work and I get an error.

Also potentially relevant is that the number `101` refers to point 101 as defined in gmsh from my mesh. I am not sure if this is the proper way to do that though.

How do I fix my code to apply a point force? I am not entirely sure this is the correct approach. Any help is greatly appreciated!

Edit: I removed the int0d lines and got another error when loading my mesh with a point defined.
` Fatal error: some vertex are not at least in one element`. This could be art of the problem, as it seems Im not defining the point to apply the force to properly. Not sure yet how to fix this

I do not think that the way you are thinking about int0d is physically meaningful. The `intNd()` functions perform spatial integrations over an N-dimensional domain. See: Quadrature formulae

What you probably want to do is impose a surface force corresponding to an appropriate force density over a small surface region. This will allow a sufficiently fine mesh to resolve the localized stress concentrations in/near the forcing region.

1 Like

Ah ok that makes a lot of sense. I just tested it and it seems to give me the expected result.

Thank you for answering my question!