Gelöste Aufgaben/UEBL: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 10: Zeile 10:


Der [[Sources/Lexikon/Euler-Bernoulli-Balken|Euler-Bernoulli-Balken]] ''AB'' wird durch seine Gewichtskraft belastet. Er ist in ''A'' fest eingespannt und hat eine konstante Breite ''b'' sowie eine zwischen ''A'' und ''B'' linear veränderliche Höhe ''h''.<onlyinclude>
Der [[Sources/Lexikon/Euler-Bernoulli-Balken|Euler-Bernoulli-Balken]] ''AB'' wird durch seine Gewichtskraft belastet. Er ist in ''A'' fest eingespannt und hat eine konstante Breite ''b'' sowie eine zwischen ''A'' und ''B'' linear veränderliche Höhe ''h''.<onlyinclude>
[[Datei:UEBF-01.png|250px|left|mini|Lageplan]]
[[Datei:UEBF-01.png|200px|left|mini|Lageplan]]
Gesucht ist eine Näherungslösung mit der Methode der Finiten Elementen, die nur Elemente mit stückweise konstanten Querschnitts-Eigenschaften zulassen.
Gesucht ist eine Näherungslösung mit der Methode der Finiten Elementen, die nur Elemente mit stückweise konstanten Querschnitts-Eigenschaften zulassen.
</onlyinclude>
</onlyinclude>
Zeile 275: Zeile 275:
'''Literature'''
'''Literature'''
* ...
* ...
Das lineare Gleichungssystem lösen wir mit der Referenz-Auslenkung
::<math>\displaystyle \hat{W} = \frac{q_{ref}\,\ell_0^4}{8\,E\,I_{ref}}</math>
und
::<math>\displaystyle q_{ref} = \frac{m\,g}{\ell_0}, E\,I_{ref}=E\,b\,\frac{\left(\displaystyle \frac{h_0+h_1}{2}\right)^3}{12}</math>

Aktuelle Version vom 19. April 2021, 05:49 Uhr


Aufgabenstellung

Die Problemstellung ist identisch zu UEBI (und UEBJ, UEBK):

Der Euler-Bernoulli-Balken AB wird durch seine Gewichtskraft belastet. Er ist in A fest eingespannt und hat eine konstante Breite b sowie eine zwischen A und B linear veränderliche Höhe h.

Lageplan

Gesucht ist eine Näherungslösung mit der Methode der Finiten Elementen, die nur Elemente mit stückweise konstanten Querschnitts-Eigenschaften zulassen.

Gegeben sind für den Balken:

  • Länge , Breite b,
  • E-Modul E, Dichte ρ und
  • die Höhe h0=b und h1 jeweils in A und B; dazwischen ist die Höhe linear veränderlich.

Lösung mit Maxima

Header

Unsere FEM-Formulierung mit kubischen Ansatz-Polynomen für Euler-Bernoulli-Balken ist auf Stäbe mit elementweise konstantem Querschnitt beschränkt: E und I müssen je Element konstant sein.

Für dieses Problem können wir die Formulierung also - nominell - nicht anwenden. Wir müssten im Abschnitt Virtuelle Formänderungsenergie die Integration für linear-veränderliche Querschnittsflächen ansetzen und durchführen.

Das machen wir hier nicht.

FE-Modell

Wir schauen uns an, wie die Lösung für das Ersatz-Modell aussieht, bei dem wir uns den Originalstab durch einen stufenweise abgesetzten Stab ersetzt denken - hier für zwei Elemente.

Die Querschnittseigenschaften je Element seien die des Original-Stabes im Element-Mittelpunkt.


/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 15.08.2                           */
/* author: Andreas Baumgart                            */
/* last updated: 2019-09-01                            */
/* ref: TMC                                            */
/* description: EBB with I(x), A(x)                    */
/*              solved as Initial Value Problem        */
/*******************************************************/




Declarations

Wir benutzen die Parameter-Deklarationen aus UEBI und laden außerdem die analytische Lösung von dort.

Einziger Unterschied: um die Element-Länge i in Element "i" eindeutig von der Gesamt-Länge des Stabes zu unterscheiden, wählen wir für die Gesamt-Länge den Parameter 0 statt ℓ.


/************************************************************/
declare( "ℓ", alphabetic);
declare( "λ", alphabetic);
declare( "ϕ", alphabetic);

/* system parameters                                        */
params: [q(xi) = A(xi)*rho*g,
         A(xi) = b*h(xi),
         I(xi) = b*h(xi)^3/12,
         h(xi) = H[0]*(1-xi)+ H[1]*xi];
params: append(params,
               solve((H[0]+H[1])/2*b*ℓ[0]*rho=m, rho));

geometry : [alpha=1/2];

dimless: [x = xi*ℓ, H[0]=b, H[1]=alpha*b];

/* make equations of motion dim'less with load case #1 from Gross e.a., same as UEBI */
reference : [W[ref] = q[ref]*ℓ[0]^4/(8*EI[ref]), ϕ[ref] = q[ref]*ℓ[0]^3/(6*EI[ref]), M[ref] = m*g*ℓ[0]/2, Q[ref] = m*g, q[ref] = m*g/ℓ[0], EI[ref]=E*b*((H[0]+H[1])/2)^3/12];

/* load analytic solutions as discrete tables from UEBI */
file_search_maxima: append(file_search_maxima, ["C:/Users/XXXX/OneDrive/Confluence Sources/UEBI/"]);
batch("analyticSolFromUEBI.data")$




FEM-Formulation

Wir verwenden aus Abschnitt FEM-Formulierung für den Euler-Bernoulli-Balken

  • die Standard Element-Steifigkeitsmatrix
  • und die Element-"Rechte Seite"
    .

Hier dürfen also der (mittlere) Querschnittsflächeninhalt Ai, das (mittlere) Flächenmoment Ii und die Länge i je Element unterschiedliche Werte annehmen.

Ab hier haben wir einige Freiheiten und die füllen wir folgendermaßen:

  • Die Anzahl der Finiten Element ist 3.
  • Die Element-Längen wählen wir so, dass sie sich in Stab-Längsrichtung verdoppeln, also

Dann sind mit

die relativen Element-Längen

.

Für diese drei Element bestimmen wir die "mid-point"-Querschnittseigenschaften zu

und

Einsetzen und komponieren der Gesamt-Systemmatrix - mit Einarbeiten der geometrischen Randbedingungen - liefert

.

/*****************************************************************/
/* FEM-Formulation                                               */
NOE : 3;     /* number of elements */
NON : NOE+1; /* number of nodes    */

/* element matrices */
K[i] : (E*I[i]/ℓ[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]);

P[i] : rho*A[i]*g*ℓ[i]*matrix([   1/2  ],
                              [ ℓ[i]/12],
                              [   1/2  ],
                              [-ℓ[i]/12]);

/* element lengths                    */
lengths : solve(append([sum(λ[i],i,1,NOE)=1], makelist(λ[i]=2*λ[i-1],i,2,NOE)), makelist(λ[i],i,1,NOE))[1];
xCoord  : subst(lengths, makelist(sum(λ[i],i,1,j),j,0,NOE));

/* element cross sectional properties      */
height : makelist(subst([xi=xCoord[i]],subst(params,h(xi))),i,1,NON);

/** discrete proeprties at element mid-point-sections  */
Amp : makelist(  (height[i]+height[i+1])/2       * b, i,1,NOE);
Imp : makelist( ((height[i]+height[i+1])/2)^3/12 * b, i,1,NOE);

/* define all element matrices  */
for e:1 thru NOE do (
  K[e] : ratsimp(subst(geometry,subst(lengths,subst(dimless,subst([ℓ[e]=ℓ[0]*λ[e], A[e]=Amp[e], I[e]=Imp[e]], subst([i=e], K[i])))))),
  P[e] : ratsimp(subst(geometry,subst(lengths,subst(dimless,subst([ℓ[e]=ℓ[0]*λ[e], A[e]=Amp[e], I[e]=Imp[e]], subst([i=e], P[i])))))));

/* compose system matrix */
K[0] : zeromatrix(2*NON,2*NON);
P[0] : zeromatrix(2*NON,1);

for ele:1 thru NOE do (
   for row:1 thru 4 do (
      P[0][2*(ele-1)+row,1] : P[0][2*(ele-1)+row,1] + P[ele][row,1],
      for col:1 thru 4 do (
         K[0][2*(ele-1)+row,2*(ele-1)+col] : K[0][2*(ele-1)+row,2*(ele-1)+col] + K[ele][row,col])));

/* incorporate bounday conditions */

AA : submatrix(1,2,K[0],1,2);
bb : submatrix(1,2,P[0]);




Solving

Das lineare Gleichungssystem lösen wir mit der Referenz-Auslenkung

und

zu

mit den Bezeichnungen nach Abschnitt FEM: Trial-Functions für kubische Ansatz-Polynome.


/***************************************************************************/
/* solve                                                                   */
sol: ratsimp(subst(geometry,subst(dimless,subst(params,linsolve_by_lu(AA,bb)))))[1];

nodalSol: subst(geometry,subst(dimless,subst(reference,flatten(append(
         [ W [ 0 ] =  0 ,
          Phi[ 0 ] =  0 ],
       makelist(
         [ W [i] = sol[2*i-1][1],
          Phi[i] = sol[2*i  ][1]],i,1,NOE))))));




Post-Processing

Die Ergebnisse schauen wir uns als dimensionsloser Darstellung an, wobei wir wie in UEBI die Standard-Lösungen für den Balken unter konstanter Streckenlast als Referenz-Lösung ansetzen.

Wir finden

  • ... für die Auslenkung w:
    Biegelinie w(x)
  • ... für den Kippwinkel ϕ:
    Kippwinkel ϕ(x)
  • ... für das Biegemoment M:
    Biegemomentenverlauf M(x)
  • ... für die Querkraft Q:
    Querkraftverlauf Q(x)

/***************************************************************************/
/* plot results                                                            */

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

textlabels : ["<- w(x)/w[ref]", "<- w'(x)/ϕ[ref]", "M(x)/(m*g*ℓ/2) ->", "Q(x)/(m g) ->"];

/* diagrams 
analyticSolution : [WA,PhiA,MA,QA]$ /* from file .... */                                                              */
for diag:1 thru 4 do (
    /* pick a reference value to plot dimensionless */
    Ref : [W[ref], ϕ[ref], M[ref], Q[ref]][diag],
    toPlot : ratsimp(makelist([parametric, xCoord[e]*(1-t)+xCoord[e+1]*t,
        subst(geometry,subst(dimless,subst(reference,subst([xi=t],subst(lengths,subst(nodalSol,subst([i=e],subst([ℓ[i]=λ[i]*ℓ[0]],
                        /* factor is 1 or -EI - depending on property to plot */
                        [1,1,-E*Imp[e],-E*Imp[e]][diag]*
                        sum( [W[i-1],Phi[i-1],W[i],Phi[i]][j]*diff(phi[j],xi,diag-1)/ℓ[i]^(diag-1),j,1,4)
                        )))/Ref))))), [t,0,1]],e,1,NOE)),
    /* also plot the analytical solution */
    toPlot: append([[discrete, analyticSolution[diag]]],toPlot),
    preamble: if diag<=2 then "set yrange [] reverse" else "set yrange []",
    plot2d(toPlot, [legend, "analytic", "Element 1", "Element 2", "Element 3", "Element 4", "Element 5"],
                   [gnuplot_preamble, preamble],
                   [xlabel, "x/ℓ ->"],
                   [ylabel, textlabels[diag]]) )$





Links

Literature

  • ...