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 

Werte von

Virtuelle Arbeiten

... der D'Alembert'sche Trägheitskräfte eines Finiten Elements

ist

... der Formänderungsenergie eines Finiten Elements

ist

.
Drehrichtung der Koordinate :
Die Drehung in diesem Modell ist entgegen der Rotation um die y-Achse definiert. Ein anderer Drehsinn führt zu anderen Vorzeichen in den System-Matrizen.

Links

  • ...

Literature

  • ...