Hello, good morning everyone, the truth is I’m new to this, I was supported to make a code for the simulation of a beam simply supported with a point load, but to run the code and display it does not contemplate the deformation of the beam, what I do not know if it is a coding issue because when changing the parameters does not change the shape of the beam, I do not know if you could support me. Thanks.
// Parámetros de la viga
real L = 10; // Longitud de la viga
real h = 1; // Altura de la viga
real E = 70e9; // Módulo de Young
real I = (h^4)/12; // Momento de inercia
real P = -1000; // Carga puntual (negativa indica hacia abajo)
real a = L/2; // Posición de la carga puntual desde el extremo izquierdo
// Malla
border b1(t=0, L){x=t; y=0;};
border b2(t=0, h){x=L; y=t;};
border b3(t=L, 0){x=t; y=h;};
border b4(t=h, 0){x=0; y=t;};
mesh Th = buildmesh(b1(10) + b2(1) + b3(10) + b4(1));
// Espacio de funciones
fespace Vh(Th, P2);
Vh u, v;
// Definición de las condiciones de frontera
varf vBoundary(u, v) = on(1,2, u=0);
// Definición de la carga puntual como una delta de Dirac en el punto ‘a’
func delta = (abs(x-a)<1e-2);
// Formulación variacional
varf vPDE(u, v) =
int2d(Th)(
EI(dx(u)dx(v))
)
+ on(1, 2, u=0)
- int1d(Th, 1)(
deltaP*v
);
// Matriz y vector
matrix A = vPDE(Vh, Vh);
real[int] b = vBoundary(0, Vh);
// Resolución del sistema
set(A, solver=sparsesolver);
real[int] sol = A^-1*b;
// Proyección de la solución en el espacio de funciones
u = sol;
// Visualización de la deformación de la viga
plot(u, fill=true, value=true);