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