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:

Iy=bh312,Iz=hb312,A=bh

über Lame's Konstante

λ=Eν(12ν)(ν+1),μ=E2(ν+1),

und dem linearen Werkstoffgesetz, der Spannungs-Dehnungs-Beziehung oder "Hook's Gesetz".

E__=(2μ+λλλ000λ2μ+λλ000λλ2μ+λ000000μ000000μ000000μ).

Und schließlich wollen wir die |Verzerrungs-Verschiebungs-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

r_P,

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

r_P=(u(x,y,z)v(x,y,z)w(x,y,z))

die Verzerrungen allgemein zu

εx,x=ddxu(x,y,z)εy,y=ddyv(x,y,z)εz,z=ddzw(x,y,z)εx,y=ddyu(x,y,z)+ddxv(x,y,z)2εx,z=ddzu(x,y,z)+ddxw(x,y,z)2εy,z=ddzv(x,y,z)+ddyw(x,y,z)2.

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

ddx(.):=(.)x,ddy(.):=(.)y,ddz(.):=(.)z,

und erhalten als |Verzerrungs-Verschiebungs-Beziehung

εx,x=uxεy,y=vyεz,z=wzεx,y=12(uy+vx)εx,z=12(uz+wx)εy,z=12(vz+wy).

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:

D2(arg)=(10arg010arg01),

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

σ_=(σx,xσy,yσz,zσy,zσx,zσx,y)

und

ε_=(εx,xεy,yεz,zεy,zεx,zεx,y)

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

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

(σy,y=0σz,z=0σy,z=0σx,y=0)

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

σ_=E__ε_

vier Gleichungen herausnehmen und wählen

εx,y=0εy,z=0εy,y=εx,xλ2μ+2λεz,z=εx,xλ2μ+2λ.

/*******************************************************/
/* 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:


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

und mit diesen die Komponenten des Verschiebungsvektors

Δr_=(uϕzη(y,z)w+θ(y,z)).

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

σ_=(λ(ux(x)ϕx(x)z2(ux(x)ϕx(x)z)λ2μ+2λ)+2(ux(x)ϕx(x)z)μ000(wx(x)ϕ(x))μ20)

und die Variation der Dehnung, nämlich

δϵ_=(δux(x)δϕx(x)z(δux(x)δϕx(x)z)λ2μ+2λ(δux(x)δϕx(x)z)λ2μ+2λ0δwx(x)δϕ(x)(x)20)

Damit setzen wir an

δΠ=Aσ_δϵ_dA

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

A=bh,Iy=bh312

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)))));




Timoshenko-Beam

Dann erhalten wir - sortiert nach den den Bewegungsgleichungen (Feld-Differentialgleichungen) für u, w und ϕ:

δΠ=EAuxδux+14GA(wxϕ)δwx+14GA(ϕwx)δϕ+EIyϕxδϕx.

Hier treten Ableitungen nur noch nach der Koordinate x auf, wir können die Bewegungsgleichungen nun in gewohnter Form mit

d(.)dx=(.)x=:(.)

als

EAuδu=014GA(wϕ)δw=014GA(ϕw)δϕ+EIyϕδϕ=0

schreiben.


/*******************************************************/
/* first result: general equations of motion incl. Timoshenko-Beam and tension rod */

collect : [ δu(x), δw(x), δφ(x)]$
collect: append(collect,diff(collect,x));

take: expand(subst(VSE, δΠ));
tmb : ratsimp(makelist(
  coeff(take,collect[i])*collect[i] + coeff(take,collect[i+3])*collect[i+3]=0,
                        i,1,3));
sub : alpha=8*nu+8;
tmb : expand(subst(sub,expand(subst(solve(sub,nu),tmb))));

shearModulus: [G = e/(2*(1+nu))];
tmb : expand(subst(solve(shearModulus,nu),tmb));




Euler-Bernoulli-Balken

Noch einfacher wird es mit dem Ansatz von Euler-Bernoulli, die mit der zusätzlichen Vereinfachung

ϕ(x)=dw(x)dxbzw.

δϕ(x)=dδw(x)dx

auf

EAuδu=0EIywδw=0

führt.


/*******************************************************/
/* further simplify to Euler - Bernoulli-Hypothesis
   (cross sections to remain perpendicular to neutral fiber (axis)) */
EBhypothesis : [phi(x)=-diff( w(x),x),
                 δφ(x)=-diff(δw(x),x)];

ebb : expand(subst(EBhypothesis,tmb));
ebb : ev(ebb,nouns);
ebb : expand(subst(sub,expand(subst(solve(sub,nu),ebb))));
ebb : [ebb[1],subst(ebb[2],ebb[3])];





Links

Literature

  • ...