Sources/Anleitungen/FEM-Formulierung für den Euler-Bernoulli-Balken

Aus numpedia
Zur Navigation springen Zur Suche springen


Diese Seite fasst die wichtigsten Ergebnisse für die FEM-Formulierung zum Euler-Bernoulli-Balken zusammen.

Maxima-Code für die Element-Matrizen

Hier finden Sie den Sourcecode für die Herleitung der Element-Matrizen.


/*Maxima Quellcode für die Erzeugung Inhalte dieser Seite */
/* Maxima version 16.04.2*/

declare( "ℓ", alphabetic);

/*Trial-Fucntions*/
phi : [       (xi-1)^2*(2*xi+1),
         ℓ[i]* xi     *(  xi-1)^2,
        -      xi^2   *(2*xi-3), 
         ℓ[i]* xi^2   *(  xi-1)];

/* depict independant and dependant coordinates */
preamble: "set yrange [] reverse";
plot2d(subst([ℓ[i]=1],[0.9,1/2,0.1,1/3].phi),[xi,0,1],
    [x,0,1], [legend, "w(x)"],
    [xlabel, "ξ →"], [ylabel, "← w"],
    [gnuplot_preamble, preamble]);

/* plot trial-functions parameters */
scale: [1,1/ℓ[i],1,1/ℓ[i]];
colours: [blue, red, green, magenta];
legends: ["ϕ1","ϕ2/ℓ[i]","ϕ3","ϕ4/ℓ[i]"];
for j:1 thru 4 do
     (plot2d(scale[j]*phi[j],[xi,0,1], [xlabel,"ξ →"],[ylabel,"ϕ →"], [legend,legends[j]],[color,colours[j]], [style, [lines,3]], same_xy,
              [gnuplot_preamble, "set xtics 1;set ytics 1;set tics font \",11\""]))$	

/* Element-Mass Matrix */
M[i] : funmake('matrix,makelist(makelist(rho*A*integrate(phi[j]*phi[k],xi,0,1)*ℓ[i],j,1,4),k,1,4));
/*       (rho*A*ℓ[i])*matrix([13/35,(11*ℓ[i])/210,9/70,-(13*ℓ[i])/420],
                             [(11*ℓ[i])/210,ℓ[i]^2/105,(13*ℓ[i])/420,-ℓ[i]^2/140],
                             [9/70,(13*ℓ[i])/420,13/35,-(11*ℓ[i])/210],
                             [-(13*ℓ[i])/420,-ℓ[i]^2/140,-(11*ℓ[i])/210,ℓ[i]^2/105])  */
/* Element-Striffness Matrix */
K[i] : funmake('matrix,makelist(makelist(EI*integrate(diff(phi[j],xi,2)/ℓ[i]^2*diff(phi[k],xi,2)/ℓ[i]^2,xi,0,1)*ℓ[i],j,1,4),k,1,4));
/*       (EI/ℓ[i]^3)*matrix([12,6*ℓ[i],-12,6*ℓ[i]],
                            [6*ℓ[i],4*ℓ[i]^2,-6*ℓ[i],2*ℓ[i]^2],
                            [-12,-6*ℓ[i],12,-6*ℓ[i]],
                            [6*ℓ[i],2*ℓ[i]^2,-6*ℓ[i],4*ℓ[i]^2])   */




Trial-Functions

Die Koordinaten eines Finiten Elements sind

.

Der Ansatz für die Näherung der Auslenkung w(x,t) ist

Die Drehwinkel sind hier so gewählt, dass 

.
Nodal and independent Coordinates

Trialfunctions

Die einzelnen Trial-Functions sind:

linker Rand (Knoten "i-1")rechter Rand (Knoten "i")
Trial-Function for Wi-1
Trial-Function for Wi
Trial-Function für Φi-1
Trial-Function für Φi

Faltungsintegrale

... für die symmetrische Massenmatrix

Tabelliert sind die Werte der Integrale

symm.

... für die symmetrische Steifigkeitsmatrix

Tabelliert sind die Werte der Integrale

symm.

Maxima-Code für die Rechte-Seite

Hier finden Sie den Sourcecode für die Herleitung der Spalten-Matrizen der Rechten-Seite des Gleichungssystems.


/*Loadiung-Fucntions*/
psi: [1,
      (1-xi),
      xi,
      4*(-xi^2+xi)];

for j:1 thru length(psi) do
   plot2d(psi[j],[xi,0,1], [y,-0.1,1.1],
      [box, false], grid2d,
      [yx_ratio, 1], [axes, solid], [xtics, 0, 1, 1],
      [ytics, 0, 1, 1],
      [ylabel, simplode (["ϕ[",j,"] →"])],
      [xlabel, "ξ →"],
      [style,[lines,3,2]])$

/* convolution integrals */
for i:1 thru length(phi) do
   (print("***************************", i),
    for j:1 thru length(psi) do 
       print(integrate(phi[i]*psi[j],xi,0,1)))$




====... für die rechte Seite des Gleichungssystems - aus äußeren, einprägten Lasten wie z.B. Streckenlasten q0∙ψ.

Die virutelle Arbeit dieser äußeren Streckenlast ist

                       Hier stehen die Faltungsintegrale beispielhaft für 


Links

  • ...

Literature

  • ...