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