Gelöste Aufgaben/DGEB: Unterschied zwischen den Versionen
Zeile 54: | Zeile 54: | ||
::<math>\lambda=\frac{E \cdot \nu}{\left( 1-2 \cdot \nu \right) \cdot \left( \nu+1 \right) }, \mu=\frac{E}{2 \cdot \left( \nu+1 \right) }</math>, | ::<math>\lambda=\frac{E \cdot \nu}{\left( 1-2 \cdot \nu \right) \cdot \left( \nu+1 \right) }, \mu=\frac{E}{2 \cdot \left( \nu+1 \right) }</math>, | ||
und dem linearen Werkstoffgesetz ([Sources/Lexikon/Spannungs-Dehnungs-Beziehung (Stress-Strain-Relation)|Spannungs-Dehnungs-Beziehung] | und dem linearen Werkstoffgesetz ([[Sources/Lexikon/Spannungs-Dehnungs-Beziehung (Stress-Strain-Relation)|Spannungs-Dehnungs-Beziehung]] | ||
Hook's Gesetz) | |||
::<math>\underline{\underline{E} } = \begin{pmatrix} | ::<math>\underline{\underline{E} } = \begin{pmatrix} |
Version vom 23. Februar 2021, 13:46 Uhr
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.
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
- das Hook'sche Gesetz in seiner allgemeinen, 3D-Fassung,
- die allgemeinen Verschiebungs-Verzerrungs-Bedingungen,
- die klassischen Annahmen zur Theorie von Stäben zum Einsatz sowie
- die Gleichgewichtsbedingungen nach dem Prinzip der virtuellen Verrückungen.
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-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
- ,
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-Verschiebungs-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.
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:
Besonders die Verschiebung in "x"-Richtung z∙ϕ durch eine Kippung des Querschnitts schauen wir uns genauer an:
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)))));
Timoshenko-Beam
Dann erhalten wir - sortiert nach den den Bewegungsgleichungen (Feld-Differentialgleichungen) für u, w und ϕ:
- .
Hier treten Ableitungen nur noch nach der Koordinate x auf, wir können die Bewegungsgleichungen nun in gewohnter Form mit
als
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
- bzw.
auf
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
- ...