Sources/Anleitungen/FEM-Formulierung für den Euler-Bernoulli-Balken: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 7: Zeile 7:


Diese Seite fasst die wichtigsten Ergebnisse für die FEM-Formulierung zum Euler-Bernoulli-Balken zusammen.
Diese Seite fasst die wichtigsten Ergebnisse für die FEM-Formulierung zum Euler-Bernoulli-Balken zusammen.
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Maxima-Code für die Element-Matrizen
|text=
Hier finden Sie den Sourcecode für die Herleitung der Element-Matrizen.
|code=
<syntaxhighlight lang="lisp" line start=1>
/*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])  */
</syntaxhighlight>
}}


===Koordinaten===
===Koordinaten===
Zeile 108: Zeile 61:
</table>
</table>


{{MyCodeBlock|title=Maxima-Code für die Rechte-Seite
====... für die rechte Seite des Gleichungssystems - aus äußeren, einprägten Lasten wie z.B. Streckenlasten ''q<sub>0</sub>∙ψ''====
 
Die virutelle Arbeit dieser äußeren Streckenlast ist
 
::<math>\displaystyle \delta W^a = q_0 \int_0^\ell \psi(x)\cdot \delta w(x) \;\,dx</math>
                      
Hier stehen die Faltungsintegrale beispielhaft für 
 
::<math>\begin{array}{l}\psi_1 = 1\\\psi_2=1-\xi\\\psi_3=\xi\\\psi_4=4\cdot \left( \xi-{{\xi}^{2}}\right) \end{array}</math>
 
<table class="wikitable" style="background-color:white; margin-right:14px;">
<tr><th>Werte von <math>\displaystyle \int_0^1 \phi_i\cdot \psi_j  \; d\xi</math></th><th><math>\phi_1</math></th><th><math>\phi_2</math></th><th><math>\phi_3</math></th><th><math>\phi_4</math></th></tr>
<tr><th><math>\psi_1</math> [[Datei:Anleitung-EBB-psi-1.png|rahmenlos|100x100px]] </th><td><math>\displaystyle \frac{1}{2}</math></td><td><math>\displaystyle \frac{\ell_i}{12}</math></td><td><math>\displaystyle \frac{1}{2}</math></td><td><math>\displaystyle -\frac{\ell_i}{12}</math></td></tr>
<tr><th><math>\psi_2</math> [[Datei:Anleitung-EBB-phi-2.png|rahmenlos|100x100px]] </th><td><math>\displaystyle \frac{7}{20}</math></td><td><math>\displaystyle \frac{\ell_i}{20}</math></td><td><math>\displaystyle \frac{3}{20}</math></td><td><math>\displaystyle -\frac{\ell_i}{30}</math></td></tr>
<tr><th><math>\psi_3</math> [[Datei:Anleitung-EBB-psi-03.png|rahmenlos|100x100px]]</th><td><math>\displaystyle \frac{3}{20}</math></td><td><math>\displaystyle \frac{\ell_i}{30}</math></td><td><math>\displaystyle \frac{7}{20}</math></td><td><math>\displaystyle -\frac{\ell_i}{20}</math></td></tr>
<tr><th><math>\psi_4</math> [[Datei:Anleitung-EBB-psi-04.png|rahmenlos|100x100px]]</th><td><math>\displaystyle \frac{1}{3}</math></td><td><math>\displaystyle \frac{\ell_i}{15}</math></td><td><math>\displaystyle \frac{1}{3}</math></td><td><math>\displaystyle -\frac{\ell_i}{15}</math></td></tr>
</table>
 
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Maxima-Code für die Berechnung der Element-Matrizen
|text=
Hier finden Sie den Sourcecode für die Herleitung der Element-Matrizen.
|code=
<syntaxhighlight lang="lisp" line start=1>
/*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])  */
</syntaxhighlight>
}}
 
{{MyCodeBlock|title=Maxima-Code für die Berechnung der "Rechten-Seite"
|text=
|text=
Hier finden Sie den Sourcecode für die Herleitung der Spalten-Matrizen der Rechten-Seite des Gleichungssystems.
Hier finden Sie den Sourcecode für die Herleitung der Spalten-Matrizen der Rechten-Seite des Gleichungssystems.
Zeile 135: Zeile 153:
</syntaxhighlight>
</syntaxhighlight>
}}
}}
====... für die rechte Seite des Gleichungssystems - aus äußeren, einprägten Lasten wie z.B. Streckenlasten ''q<sub>0</sub>∙ψ''====
Die virutelle Arbeit dieser äußeren Streckenlast ist
::<math>\displaystyle \delta W^a = q_0 \int_0^\ell \psi(x)\cdot \delta w(x) \;\,dx</math>
                      
Hier stehen die Faltungsintegrale beispielhaft für 
::<math>\begin{array}{l}\psi_1 = 1\\\psi_2=1-\xi\\\psi_3=\xi\\\psi_4=4\cdot \left( \xi-{{\xi}^{2}}\right) \end{array}</math>
<table class="wikitable" style="background-color:white; margin-right:14px;">
<tr><th>Werte von <math>\displaystyle \int_0^1 \phi_i\cdot \psi_j  \; d\xi</math></th><th><math>\phi_1</math></th><th><math>\phi_2</math></th><th><math>\phi_3</math></th><th><math>\phi_4</math></th></tr>
<tr><th><math>\psi_1</math> [[Datei:Anleitung-EBB-psi-1.png|rahmenlos|100x100px]] </th><td><math>\displaystyle \frac{1}{2}</math></td><td><math>\displaystyle \frac{\ell_i}{12}</math></td><td><math>\displaystyle \frac{1}{2}</math></td><td><math>\displaystyle -\frac{\ell_i}{12}</math></td></tr>
<tr><th><math>\psi_2</math> [[Datei:Anleitung-EBB-phi-2.png|rahmenlos|100x100px]] </th><td><math>\displaystyle \frac{7}{20}</math></td><td><math>\displaystyle \frac{\ell_i}{20}</math></td><td><math>\displaystyle \frac{3}{20}</math></td><td><math>\displaystyle -\frac{\ell_i}{30}</math></td></tr>
<tr><th><math>\psi_3</math> [[Datei:Anleitung-EBB-psi-03.png|rahmenlos|100x100px]]</th><td><math>\displaystyle \frac{3}{20}</math></td><td><math>\displaystyle \frac{\ell_i}{30}</math></td><td><math>\displaystyle \frac{7}{20}</math></td><td><math>\displaystyle -\frac{\ell_i}{20}</math></td></tr>
<tr><th><math>\psi_4</math> [[Datei:Anleitung-EBB-psi-04.png|rahmenlos|100x100px]]</th><td><math>\displaystyle \frac{1}{3}</math></td><td><math>\displaystyle \frac{\ell_i}{15}</math></td><td><math>\displaystyle \frac{1}{3}</math></td><td><math>\displaystyle -\frac{\ell_i}{15}</math></td></tr>
</table>


===Virtuelle Arbeiten===
===Virtuelle Arbeiten===

Aktuelle Version vom 20. April 2021, 05:18 Uhr


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

Koordinaten

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.

... 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

Maxima-Code für die Berechnung der 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])   */




Maxima-Code für die Berechnung der "Rechten-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)))$




Virtuelle Arbeiten

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

sind

... der Formänderungsenergie eines Finiten Elements

sind

.
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

  • ...