Gelöste Aufgaben/DGEB

Aus numpedia
Zur Navigation springen Zur Suche springen

Aufgabenstellung

In dieser Aufgabe starten wir von "first principles" - hier das Prinzip der virtuellen Verrückungen - und entwicklen die Bewegungsgleichunge für einen schlanken Stab unter Langskräft und Biegemoment.

Lageplan.

Gesucht sind die Differentialgleichungen des statischen Gleichgewichts für den schlanken Stab mit Rechteck-Querschnitt unter Längs- und Querkraft, ausgehend von der Virtuellen Formänderungsenergie δΠ.

Wir finden so die bekannten Differentialbeziehungen für das Timoshenko / Euler-Bernoulli-Modell eines Balkens.


Lösung mit Maxima

Wie alle zentralen Begriffe der Elastizitätstheorie ineinandergreifen, um die virtuelle Formänderungsenergie für den Euler-Bernoulli-Balken zu ermitteln, zeigt diese Aufgabe.

Header

Hier kommen

zum Einsatz.


/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 15.08.2                           */
/* author: Andreas Baumgart                            */
/* last updated: 2016-03-27                            */
/* ref: Euler-Bernoulli Beam                           */
/* description: derives the equations of motion for    */
/*              the Timoshenko and EBB beam            */
/*******************************************************/



Declarations

Wir brauchen das volle Instrumentarium der Elastizitätstheorie - angefangen bei einfachen Abkürzungen wie der Querschnittsfläche A bis zu den Flächenmomenten 2. Grades Iy und Iz:

über Lame's Konstante

,

und dem linearen Werkstoffgesetz (Spannungs-Dehnungs-Beziehung / Hook's Gesetz)

.

Und schließlich wollen wir die Verzerrungs-Verscheibungs-Beziehung für einen materiellen Punkt P angeben. Grundlage ist die Verschiebung eines Punkte P=[x,y,z] und die gesuchten Koeffizienten u, v, w der Verschiebung in die drei Raumrichtungen

,

Die Koeffizienten u(x,y,z), v(x,y,z), w(x,y,z) des Ortsvektors rP beschreiben dabei das Verscheibungsfeld des Balkens. Wir erhalten mit den allgemeinen Komponenten u, v und w des Verschiebungsfeldes

die Verzerrungen allgemein zu

.

Damit das "schöner" aussieht,, kürzen wir im Folgenden ab

und erhalten als Verzerrungs-Verscheibungs-Beziehung

.

Für unser Problem suchen wir jetzt ein konkretes Verschiebungsfeld, das unseren Anforderungen an das Problem genügt.


/*******************************************************/
/* declare variational variables */
declare("δW", alphabetic); /* virtual work */
declare("δA", alphabetic); /* virtual work of implied external forces */
declare("δΠ", alphabetic); /* virtual strain energy */
declare("δu", alphabetic); /* variation of u */
declare("δw", alphabetic);
declare("δφ", alphabetic);
declare("δη", alphabetic);
declare("δθ", alphabetic);
declare("λ" , alphabetic); /* otherwise, this is the lambda fct. */
declare("μ" , alphabetic);
declare("Δr", alphabetic); /*displacement of material point [x,y,z] */
declare("δΔr",alphabetic); /* variation of Δr */
declare("δZ", alphabetic); /* variation of strain */

/*******************************************************/
/* parameters */
/* abbreviate: */
geometry  : [h^3 = 12*I[y]/b, b^3 = 12*I[z]/h, b = A/h];
/* Lame's Constants                                */
/* see https://en.wikipedia.org/wiki/Hooke%27s_law */
lameConst : [λ = e*nu/((1+nu)*(1-2*nu)), μ = e/(2*(1+nu))];

/* relation: hook's law, modulus of elasticity     */
/* see https://en.wikipedia.org/wiki/Hooke%27s_law */
E :  matrix([2*μ+λ,     λ,     λ,  0,  0,  0],
            [    λ, 2*μ+λ,     λ,  0,  0,  0],
            [    λ,     λ, 2*μ+λ,  0,  0,  0],
            [    0,     0,     0,  μ,  0,  0],
            [    0,     0,     0,  0,  μ,  0],
            [    0,     0,     0,  0,  0,  μ]);

/* Strain Displacement Relation */
/* see https://en.wikipedia.org/wiki/Hooke%27s_law */
StrainDispl(arg) := [epsilon[x,x] =      diff(arg[1],x),
                     epsilon[y,y] =      diff(arg[2],y),
                     epsilon[z,z] =      diff(arg[3],z),
                     epsilon[x,y] = 1/2*(diff(arg[1],y) + diff(arg[2],x)),
                     epsilon[x,z] = 1/2*(diff(arg[1],z) + diff(arg[3],x)),
                     epsilon[y,z] = 1/2*(diff(arg[2],z) + diff(arg[3],y))];




Euler Rotation

Wir definieren später ein Modell, bei dem Querschnitte um eine Achse senkrecht zur Papierebene kippen kann. Das beschreiben wir mit der linearisierten Euler-Rotation:

,

die für arg << 1 gilt.


/*******************************************************/
/* kinematics: Euler-rotation about y-Axis */
D[2](arg) := [[  1   ,   0  ,-arg ],
              [  0   ,   1  ,  0  ],
              [+arg  ,   0  ,  1  ]];




Stress-Strain-Relations for a Rod

Die Komponenten des Spannungs- und Verzerrungs-Tensors fassen in den Matrizen

und

zusammen - und damit können wir nun anfangen zu arbeiten.

Die wichtigsten Annahmen zu Spannungen in einem einfachen Stab mit symmetrischen Profil sind:

Die ersten beiden Zeilen sind klar: die Hauptspannungen senkrecht zur Stab-Längsachse verschwinden. Ausnahmen machen hier nur Stäbe, die z.B. durch großen Drücke belastet sind wie bei Bohrsträngen.

Scherung - nicht betrachtet.


Die Zeilen 3 und 4 gehören zu Spannungen, die einen Querschnitt in der skizzierten Weise verformen (schweren) würden. Das passiert bei symmetrischen Querschnitten wie hier einem Rechteck-Querschnitt nicht.

Mit diesen vier Annahmen können wir aus der Beziehung

vier Gleichungen herausnehmen und wählen

.

/*******************************************************/
/* definitions: components of stress / strain tensors */
Sigma   : matrix([sigma[x,x]], [sigma[y,y]], [sigma[z,z]], 
                 [sigma[y,z]], [sigma[x,z]], [sigma[x,y]]);
Epsilon : matrix([epsilon[x,x]], [epsilon[y,y]], [epsilon[z,z]],
                 [epsilon[y,z]], [epsilon[x,z]], [epsilon[x,y]]);

/* Stress Strain Relation */
StressStrain : solve(args(transpose(Sigma - E.Epsilon)[1]),args(transpose(Sigma)[1]))[1];

/* assumptions for stresses: */
assumptions : [sigma[y,y]=0,sigma[z,z]=0,sigma[y,z]=0, sigma[x,y]=0];

/* this implies for the strains: */
consequence : solve(subst(StressStrain, assumptions),
                       [epsilon[x,y],epsilon[y,z],epsilon[y,y],epsilon[z,z]])[1];




Displacement Variables

Wir starten, indem wir die Koordinaten der Verschiebung aller Punkte auf dem Querschnitt festlegen:


...Auslenkung des Punktes (x,0,0) in Stab-Längsrichtung 'x',
...Auslenkung des Punktes '(x,0,0)' in 'z'-Richtung,
...Drehung des Querschnitts 'x' um die 'y'-Achse,
...eine Funktion, die die Verschiebung der materiellen Punkte des Querschnitts in 'y'-Richtung erfasst,
...eine Funktion, die die Verschiebung der materiellen Punkte des Querschnitts in 'z'-Richtung erfasst

und mit diesen die Komponenten des Verschiebungsvektors

.

Für die verformte Struktur können wir die Koordinaten in eine Skizze eintragen, um sie besser zu verstehen:

Koordinaten u, w.
Koordinate ϕ

Besonders die Verschiebung in "x"-Richtung z∙ϕ durch eine Kippung des Querschnitts schauen wir uns genauer an:

Verscheibung eines materiellen Punktes in x-Richtung.

Analog gehen wir für die Variation des Verschiebungsvektors und seiner Koordinaten vor.


/*******************************************************/
/* coordinates of cross-section displacement and their variations */
coords : [[ u(x), w(x),phi(x),eta(y,z),theta(y,z)],
          [δu(x),δw(x), δφ(x), δη(y,z),   δθ(y,z)]];

/* coordintes od displancemnt (d) for any material point */
d: Δr  = expand([x+u(x),0,w(x)] + [0,y+eta(y,z),z+theta(y,z)].D[2](-phi(x))) - [x,y,z];
/* linearize wrt. theta, phi << 1 */
d: subst(0,phi(x)*theta(y,z),d);

/*  and variation of Δr */
d: [d, δΔr = sum(subst(0,kappa,diff(
                         subst(coords[1][i]+kappa*coords[2][i],coords[1][i],subst(d,Δr))
                                                                 ,kappa)),i,1,length(coords[1]))];




Virtual Strain Energy

Jetzt haben wir alles parat, um die Virtuelle Formänderungsenergie hinzuschreiben, nämlich die Spannungen

und die Variation der Dehnung, nämlich

Damit setzen wir an

Der Ausdruck für die virtuelle Formänderungsenergie ist noch etwas sperrig, aber das gibt sich gleich, wenn wir die Integration über den Querschnitt A ausführen und

setzen.


/*******************************************************/
/* stresses and strains under assumptions made and displacement-coordinates given */
stress : S = subst(StrainDispl(
                        subst(d[1],Δr)),subst(consequence,
                                   subst(StressStrain,subst(assumptions,Sigma))));
strain :δZ = subst(StrainDispl(subst(d[2],δΔr)),subst(consequence,Epsilon));

/* virtual strain energy */
VSE : δΠ = integrate(integrate(expand(
                     subst(strain, subst(stress,
                                        S.δZ
                                            ))
                                     ), y,-b/2,b/2),z,-h/2,h/2);
/* simplify */
VSE : ratsimp(expand(subst(lameConst,subst(geometry, expand(VSE)))));




tmp

Timoshenko-Beam

Text


1+1



tmp

Euler-Bernoulli-Balken

Text


1+1





Links

  • ...

Literature

  • ...