# How to apply point forces to a mesh?

**URL:** <https://community.freefem.org/t/how-to-apply-point-forces-to-a-mesh/1715>\
**Category:** General Discussion\
**Created:** [May 4, 2022, 11:24am UTC](https://community.freefem.org/t/how-to-apply-point-forces-to-a-mesh/1715 "2022-05-04T11:24:03Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![rubendev](https://avatars.discourse-cdn.com/v4/letter/r/f08c70/32.png) [@rubendev](https://community.freefem.org/u/rubendev)\
**Post date:** [May 4, 2022, 11:24am UTC](https://community.freefem.org/t/how-to-apply-point-forces-to-a-mesh/1715/1 "2022-05-04T11:24:03Z")

</div>

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.

```auto
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

---

<div class="post-metadata">

**Author:** ![cmd](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.freefem.org/cmd/32/67_2.png) [@cmd](https://community.freefem.org/u/cmd)\
**Post date:** [May 4, 2022, 12:39pm UTC](https://community.freefem.org/t/how-to-apply-point-forces-to-a-mesh/1715/2 "2022-05-04T12:39:36Z")

</div>

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](https://doc.freefem.org/references/quadrature-formulae.html)

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.

---

<div class="post-metadata">

**Author:** ![rubendev](https://avatars.discourse-cdn.com/v4/letter/r/f08c70/32.png) [@rubendev](https://community.freefem.org/u/rubendev)\
**Post date:** [May 4, 2022, 1:57pm UTC](https://community.freefem.org/t/how-to-apply-point-forces-to-a-mesh/1715/3 "2022-05-04T13:57:23Z")

</div>

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!
