Gelöste Aufgaben/UEBA: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 18: | Zeile 18: | ||
<onlyinclude> | <onlyinclude> | ||
[[Datei:UEBA-01.png| | [[Datei:UEBA-01.png|200px|left|mini|Lageplan]] | ||
Für den Versuch wird der Balken wird durch seine Gewichtskraft belastet. Er ist in ''A'' fest eingespannt, die Masse des Smartphones sei vernachlässigbar. | Für den Versuch wird der Balken wird durch seine Gewichtskraft belastet. Er ist in ''A'' fest eingespannt, die Masse des Smartphones sei vernachlässigbar. | ||
Zeile 32: | Zeile 32: | ||
Ein Erklärungsvideo zu Beschleunigungs-Sensoren finden Sie [https://www.youtube.com/watch?v=KZVgKu6v808 hier]. | Ein Erklärungsvideo zu Beschleunigungs-Sensoren finden Sie [https://www.youtube.com/watch?v=KZVgKu6v808 hier]. | ||
== | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Header | |||
|text= | |||
Das Rayleigh-Ritz-Verfahren ist hier ein bisschen unter der experimentellen Bestimmung von Parametern des Systems "vergraben". | Das Rayleigh-Ritz-Verfahren ist hier ein bisschen unter der experimentellen Bestimmung von Parametern des Systems "vergraben". | ||
Der Lösungsweg ist aber der gleiche wie gewohnt. | Der Lösungsweg ist aber der gleiche wie gewohnt. | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
/*******************************************************/ | |||
/* MAXIMA script */ | |||
/* version: wxMaxima 15.08.2 */ | |||
/* author: Andreas Baumgart */ | |||
/* last updated: 2020-01-13 */ | |||
/* ref: TMC */ | |||
/* description: Rayley-Ritz-Solution for EBB */ | |||
/* with "Smartphone" */ | |||
/* see https://youtu.be/KZVgKu6v808 */ | |||
/*******************************************************/ | |||
/*******************************************************/ | |||
/* declare variational variables - see 6.3 Identifiers */ | |||
declare( "ℓ", alphabetic); | |||
declare( "φ", alphabetic); | |||
declare( "Φ", alphabetic); | |||
declare( "ŵ", alphabetic); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
== | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=System-Parameters | |||
|text= | |||
Die Streckenlast auf den Balken ist | Die Streckenlast auf den Balken ist | ||
<math>\displaystyle q_0 = \frac{m\;g}{\ell}</math> | ::<math>\displaystyle q_0 = \frac{m\;g}{\ell}</math> | ||
und wir arbeiten mit der dimensionslosen Länge | und wir arbeiten mit der dimensionslosen Länge | ||
<math>\displaystyle \xi = \frac{x}{\ell}</math>. | ::<math>\displaystyle \xi = \frac{x}{\ell}</math>. | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* system parameters */ | ||
params: [q[0]=m*g/ℓ]; | |||
dimless: [x = xi*ℓ]; | |||
/* make equations of motion dim'less with load case #1 from Gross e.a., same as UEBI */ | |||
reference : [ŵ = q[0]*ℓ^4/(8*EI), Phi[ref] = q[0]*ℓ^3/(6*EI), M[ref] = m*g*ℓ, Q[ref] = m*g]; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
= | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Formfunctions | |||
|text= | |||
[[Datei:UEBA-12.png|mini|Formfunctions]] | [[Datei:UEBA-12.png|mini|Formfunctions]] | ||
Als Ansatzfunktion für die Näherungslösung verwenden wir | Als Ansatzfunktion für die Näherungslösung verwenden wir | ||
<math>\begin{array}{ll} | ::<math>\begin{array}{ll} | ||
\displaystyle w(x) = &&W\cdot \underbrace{\left( | \displaystyle w(x) = &&W\cdot \underbrace{\left( | ||
\xi^2\cdot(3-2\cdot\xi) \right) | \xi^2\cdot(3-2\cdot\xi) \right) | ||
Zeile 77: | Zeile 94: | ||
\xi^2\,\ell \cdot (\xi-1) \right) | \xi^2\,\ell \cdot (\xi-1) \right) | ||
}_{\displaystyle =: \phi_2} | }_{\displaystyle =: \phi_2} | ||
\end{array}</math>. | \end{array}</math>. | ||
<math>w(\ell) = W</math> | [[Datei:UEBA-11.png|mini|Koordinaten|alternativtext=|links]]Die Trial-Functions ''ϕ<sub>i</sub>'' erfüllen dabei die Bedingungen | ||
::<math>w(\ell) = W</math> | |||
und | und | ||
<math>w'(\ell) = \Phi</math> | ::<math>w'(\ell) = \Phi</math> | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /************************************************************/ | ||
/* Rayleigh-Ritz */ | |||
/* trial function */ | |||
trial: w(xi) = sum(C[j]*xi^(j),j,2,3); | |||
trial: expand(subst(solve([subst([xi=1],subst(trial,w(xi)))= W,subst([xi=1],diff(subst(trial,w(xi)),xi)/ℓ)= Φ],[C[2], C[3]])[1],trial)); | |||
X : [W,Φ]; | |||
phi : makelist(coeff(subst(trial,w(xi)),X[i]),i,1,2); | |||
plot2d([phi[1],phi[2]/ℓ],[xi,0,1], [xlabel, "x/ℓ ->"], [ylabel, "ϕ ->"], [legend, "ϕ_1", "ϕ_2/ℓ"]); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
== | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Potential Energy | |||
|text= | |||
Für den Ritz-Ansatz brauchen wir die Terme der Potentiellen Energie des Systems | Für den Ritz-Ansatz brauchen wir die Terme der Potentiellen Energie des Systems | ||
Zeile 136: | Zeile 158: | ||
{{MyTip|title=Matlab© und Polynome|text=Alle verwendeten Funktionen in diesem Beispiel sind Polynome. Matlab© bietet für die Manipulation von Polynomen eine Klasse von Functions an, die hier sehr hilfreich sind: | {{MyTip|title=Matlab© und Polynome|text=Alle verwendeten Funktionen in diesem Beispiel sind Polynome. Matlab© bietet für die Manipulation von Polynomen eine Klasse von Functions an, die hier sehr hilfreich sind: | ||
* [ | * [https://de.mathworks.com/help/matlab/polynomials.htm Matlab©: Polynomials] | ||
}} | |||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /* define potential energy of system */ | ||
PMPE : [U = Pi - A, | |||
Pi = 1/2*ℓ*'integrate(EI*'diff(w(xi),xi,2)^2/ℓ^4,xi,0,1), | |||
A = ℓ*'integrate(q[0]*w(xi),xi,0,1)]; | |||
PMPE: subst(dimless,subst(params,subst(trial,PMPE))); | |||
PMPE: subst(PMPE[3],subst(PMPE[2], PMPE[1])); | |||
PMPE : ev(PMPE,nouns); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
== | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Solving | |||
|text= | |||
Die Gleichgewichtsbedingungen | Die Gleichgewichtsbedingungen | ||
<math>\displaystyle \frac{dU}{dQ_i} \stackrel{!}{=} 0</math> | ::<math>\displaystyle \frac{dU}{dQ_i} \stackrel{!}{=} 0</math> | ||
sind erfüllt, wenn | sind erfüllt, wenn | ||
<math>\displaystyle \frac{EI}{\ell^3} \cdot \begin{pmatrix}12 & -6 \ell \\ -6 \ell & 4 \ell^2\end{pmatrix}\cdot\begin{pmatrix}W\\ \Phi\end{pmatrix}= | ::<math>\displaystyle \frac{EI}{\ell^3} \cdot \begin{pmatrix}12 & -6 \ell \\ -6 \ell & 4 \ell^2\end{pmatrix}\cdot\begin{pmatrix}W\\ \Phi\end{pmatrix}= | ||
m\;g \cdot \begin{pmatrix}\displaystyle \frac{1}{2} \\ \displaystyle \frac{\ell}{12}\end{pmatrix}</math>. | m\;g \cdot \begin{pmatrix}\displaystyle \frac{1}{2} \\ \displaystyle \frac{\ell}{12}\end{pmatrix}</math>. | ||
Dieses lineare Gleichungssystem hat die Lösung | Dieses lineare Gleichungssystem hat die Lösung | ||
<math>\left( | ::<math>\left( | ||
\begin{array}{c} | \begin{array}{c} | ||
W\\ | W\\ | ||
Zeile 176: | Zeile 202: | ||
Zum Vergleich schauen wir jetzt bei der [[Sources/Lexikon/Standard-Lösungen|analytischen Lösung des Problems]] nach: | Zum Vergleich schauen wir jetzt bei der [[Sources/Lexikon/Standard-Lösungen|analytischen Lösung des Problems]] nach: | ||
<math>\begin{array}{lll} | ::<math>\begin{array}{lll} | ||
\hat{w} &= w_{max} &= \displaystyle \frac{\ell^4}{8\,EI}\cdot q_0\\ | \hat{w} &= w_{max} &= \displaystyle \frac{\ell^4}{8\,EI}\cdot q_0\\ | ||
\hat{\varphi} &= w'_{B} &= \displaystyle \frac{\ell^3}{6\,EI}\cdot q_0 | \hat{\varphi} &= w'_{B} &= \displaystyle \frac{\ell^3}{6\,EI}\cdot q_0 | ||
Zeile 183: | Zeile 209: | ||
Und sehen: unsere Lösung nach Rayleigh-Ritz stimmt am Rand exakt mit der analytischen Lösung überein, es ist | Und sehen: unsere Lösung nach Rayleigh-Ritz stimmt am Rand exakt mit der analytischen Lösung überein, es ist | ||
<math>\begin{array}{ccc} | ::<math>\begin{array}{ccc} | ||
W&=&\hat{w}\\ | W&=&\hat{w}\\ | ||
\Phi&=&\hat{\phi} | \Phi&=&\hat{\phi} | ||
\end{array}</math>! | \end{array}</math>! | ||
|code= | |code= | ||
<syntaxhighlight lang="lisp" line start=1> | <syntaxhighlight lang="lisp" line start=1> | ||
1 | /*******************************************************/ | ||
/* equilibreium condition */ | |||
equilibrium : makelist(diff(subst(PMPE, U),X[j]) = 0,j,1,2); | |||
ACM : augcoefmatrix(equilibrium,X); | |||
print(submatrix(ACM,3),"*",transpose(X),"=",-col(ACM,3))$ | |||
/*******************************************************/ | |||
/* solve */ | |||
sol: ratsimp(solve(equilibrium,X))[1]; | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
= | <!--------------------------------------------------------------------------------> | ||
{{MyCodeBlock|title=Post-Processing | |||
|text= | |||
[[Datei:UEBA-31.png|mini|Lösungsverläufe für ''w, φ, M, Q'']]Die Näherungslösung für Auslenkung ''w(x)'', Kippwinkel ''ϕ(x),'' Moment ''M(x)'' und Querkraft ''Q(x)'' können wir jetzt auftragen. Dafür verwenden wir die weiteren Referenzgrößen | [[Datei:UEBA-31.png|mini|Lösungsverläufe für ''w, φ, M, Q'']]Die Näherungslösung für Auslenkung ''w(x)'', Kippwinkel ''ϕ(x),'' Moment ''M(x)'' und Querkraft ''Q(x)'' können wir jetzt auftragen. Dafür verwenden wir die weiteren Referenzgrößen | ||
<math>\begin{array}{ll} | ::<math>\begin{array}{ll} | ||
M_{ref}&= m\,g\,\ell\\ | M_{ref}&= m\,g\,\ell\\ | ||
Q_{ref}&= m\,g | Q_{ref}&= m\,g | ||
Zeile 210: | Zeile 241: | ||
Für unsere Fragestellung schreiben wir die Lösung um als | Für unsere Fragestellung schreiben wir die Lösung um als | ||
<math>\begin{array}{ll} | ::<math>\begin{array}{ll} | ||
EI&= \displaystyle \frac{m\,g \,\ell^2}{6\, \Phi}\\ | EI&= \displaystyle \frac{m\,g \,\ell^2}{6\, \Phi}\\ | ||
W&= \displaystyle \frac{3\,\Phi \ell}{4} | W&= \displaystyle \frac{3\,\Phi \ell}{4} | ||
Zeile 217: | Zeile 248: | ||
und bestimmen uns den Drehwinkel aus den gemessenen statischen Beschleunigungen (vgl. Bild oben). Dabei ist | und bestimmen uns den Drehwinkel aus den gemessenen statischen Beschleunigungen (vgl. Bild oben). Dabei ist | ||
<math>a_y = g \cdot \sin(\Phi)</math>. | ::<math>a_y = g \cdot \sin(\Phi)</math>. | ||
{{MyWarning|title=Warum nehmen wir nicht die z-Komponente der Beschleunigung?|text=Die az-Komponente können wir nicht gebrauchen weil | {{MyWarning|title=Warum nehmen wir nicht die z-Komponente der Beschleunigung?|text=Die az-Komponente können wir nicht gebrauchen weil | ||
::<math>\displaystyle \left.\frac{\partial a_z}{\partial \Phi} \right\vert_{\Phi=0} = 0</math>}} | ::<math>\displaystyle \left.\frac{\partial a_z}{\partial \Phi} \right\vert_{\Phi=0} = 0</math>}} | ||
Da für kleine Winkel sin(Φ) ≈ Φ gilt, ist | Da für kleine Winkel sin(Φ) ≈ Φ gilt, ist | ||
<math>\Phi = 0.1</math> | ::<math>\Phi = 0.1</math> | ||
Wir berechnen die gesuchte Materialkonstante mit | Wir berechnen die gesuchte Materialkonstante mit | ||
<math>\displaystyle I = \frac{h^4}{12}</math> | ::<math>\displaystyle I = \frac{h^4}{12}</math> | ||
zu | zu | ||
<math>\displaystyle E=878.976.000 \frac{N}{m^2}</math>.< | ::<math>\displaystyle E=878.976.000 \frac{N}{m^2}</math>. | ||
|code= | |||
<syntaxhighlight lang="lisp" line start=1> | |||
/************************************************************/ | |||
/* post-processing */ | |||
fcts: ratsimp( subst(params,subst(reference,subst(sol,subst(trial,w(xi)/ŵ))))); | |||
fcts: makelist( [ŵ,ŵ,-EI*ŵ,-EI*ŵ][i+1]*diff(fcts,xi,i)/ℓ^i,i,0,3); | |||
fcts: makelist(fcts[i]/[ŵ, Phi[ref], M[ref], Q[ref]][i], i,1,4); | |||
fcts: subst(params,subst(reference,fcts)); | |||
plot2d(fcts, [xi,0,1], [xlabel, "x/ℓ ->"], [ylabel, " ->"], | |||
[legend, "w/ŵ", "φ/Φ_ref", "M/M_ref", "Q/Q_ref"]); | |||
</syntaxhighlight> | </syntaxhighlight> | ||
}} | }} | ||
<hr /> | <hr /> |
Version vom 13. April 2021, 08:24 Uhr
Aufgabenstellung
Wie man die Sensoren eines Smartphones für Messungen einsetzt, zeigen wir hier.
Hier soll der Elastizitätsmodul des Stab-Materials mit Hilfe eines Biegeversuchs bestimmt werden. Der Stab der Länge ℓ hat einen quadratischen Querschnitt der Höhe h und die Masse m. Für die Messung nutzen Sie als Sensor ihr Smartphone, das Ihnen die statische Beschleunigung ay, az in y- und z-Richtung angibt.
Sie haben Ihre Standard-Lösungen für den Euler-Bernoulli-Balken zu Hause vergessen und müssen sich mit einer Näherungslösung für den Balken nach dem Verfahren von Rayleigh-Ritz zufrieden geben.
Für den Versuch wird der Balken wird durch seine Gewichtskraft belastet. Er ist in A fest eingespannt, die Masse des Smartphones sei vernachlässigbar.
Gesucht ist die Lösung mit dem Ansatz von Rayleigh-Ritz und zwei Trial-Functions.
Gegeben: ℓ=3 m, m=28 kg, g=9.81 m/s2, h=10 cm,
ay = 0.9793658 m/s2, az= 9.7609909 m/s2
Lösung mit Maxima
Smartphones haben eine Reihe von Sensoren eingebaut - und die man kann als Ingenieur prima gebrauchen ...
Ein Erklärungsvideo zu Beschleunigungs-Sensoren finden Sie hier.
Header
Das Rayleigh-Ritz-Verfahren ist hier ein bisschen unter der experimentellen Bestimmung von Parametern des Systems "vergraben".
Der Lösungsweg ist aber der gleiche wie gewohnt.
/*******************************************************/
/* MAXIMA script */
/* version: wxMaxima 15.08.2 */
/* author: Andreas Baumgart */
/* last updated: 2020-01-13 */
/* ref: TMC */
/* description: Rayley-Ritz-Solution for EBB */
/* with "Smartphone" */
/* see https://youtu.be/KZVgKu6v808 */
/*******************************************************/
/*******************************************************/
/* declare variational variables - see 6.3 Identifiers */
declare( "ℓ", alphabetic);
declare( "φ", alphabetic);
declare( "Φ", alphabetic);
declare( "ŵ", alphabetic);
System-Parameters
Die Streckenlast auf den Balken ist
und wir arbeiten mit der dimensionslosen Länge
- .
/* system parameters */
params: [q[0]=m*g/ℓ];
dimless: [x = xi*ℓ];
/* make equations of motion dim'less with load case #1 from Gross e.a., same as UEBI */
reference : [ŵ = q[0]*ℓ^4/(8*EI), Phi[ref] = q[0]*ℓ^3/(6*EI), M[ref] = m*g*ℓ, Q[ref] = m*g];
Formfunctions
Als Ansatzfunktion für die Näherungslösung verwenden wir
- .
Die Trial-Functions ϕi erfüllen dabei die Bedingungen
und
/************************************************************/
/* Rayleigh-Ritz */
/* trial function */
trial: w(xi) = sum(C[j]*xi^(j),j,2,3);
trial: expand(subst(solve([subst([xi=1],subst(trial,w(xi)))= W,subst([xi=1],diff(subst(trial,w(xi)),xi)/ℓ)= Φ],[C[2], C[3]])[1],trial));
X : [W,Φ];
phi : makelist(coeff(subst(trial,w(xi)),X[i]),i,1,2);
plot2d([phi[1],phi[2]/ℓ],[xi,0,1], [xlabel, "x/ℓ ->"], [ylabel, "ϕ ->"], [legend, "ϕ_1", "ϕ_2/ℓ"]);
Potential Energy
Für den Ritz-Ansatz brauchen wir die Terme der Potentiellen Energie des Systems
,
wobei Π die Formänderungsenergie ist und A die Arbeitsfunktion der äußeren Last q0.
Es ist
.
Π und A setzen wir in U ein und schreiben die skalare Gleichung in Matrizenform an. Dabei müssen wir
beachten. Mit den gesuchten Größen
erhalten wir für das Potential
wobei für die Koeffizienten der Matrix K
gilt und die rechten Seite P
.
✔ Matlab© und Polynome: |
Alle verwendeten Funktionen in diesem Beispiel sind Polynome. Matlab© bietet für die Manipulation von Polynomen eine Klasse von Functions an, die hier sehr hilfreich sind: |
/* define potential energy of system */
PMPE : [U = Pi - A,
Pi = 1/2*ℓ*'integrate(EI*'diff(w(xi),xi,2)^2/ℓ^4,xi,0,1),
A = ℓ*'integrate(q[0]*w(xi),xi,0,1)];
PMPE: subst(dimless,subst(params,subst(trial,PMPE)));
PMPE: subst(PMPE[3],subst(PMPE[2], PMPE[1]));
PMPE : ev(PMPE,nouns);
Solving
Die Gleichgewichtsbedingungen
sind erfüllt, wenn
- .
Dieses lineare Gleichungssystem hat die Lösung
- .
Zum Vergleich schauen wir jetzt bei der analytischen Lösung des Problems nach:
- .
Und sehen: unsere Lösung nach Rayleigh-Ritz stimmt am Rand exakt mit der analytischen Lösung überein, es ist
- !
/*******************************************************/
/* equilibreium condition */
equilibrium : makelist(diff(subst(PMPE, U),X[j]) = 0,j,1,2);
ACM : augcoefmatrix(equilibrium,X);
print(submatrix(ACM,3),"*",transpose(X),"=",-col(ACM,3))$
/*******************************************************/
/* solve */
sol: ratsimp(solve(equilibrium,X))[1];
Post-Processing
Die Näherungslösung für Auslenkung w(x), Kippwinkel ϕ(x), Moment M(x) und Querkraft Q(x) können wir jetzt auftragen. Dafür verwenden wir die weiteren Referenzgrößen
und tragen die Lösungen dimensionslos auf:
Für unsere Fragestellung schreiben wir die Lösung um als
und bestimmen uns den Drehwinkel aus den gemessenen statischen Beschleunigungen (vgl. Bild oben). Dabei ist
- .
🧨 Warum nehmen wir nicht die z-Komponente der Beschleunigung?: |
Die az-Komponente können wir nicht gebrauchen weil
|
Da für kleine Winkel sin(Φ) ≈ Φ gilt, ist
Wir berechnen die gesuchte Materialkonstante mit
zu
- .
/************************************************************/
/* post-processing */
fcts: ratsimp( subst(params,subst(reference,subst(sol,subst(trial,w(xi)/ŵ)))));
fcts: makelist( [ŵ,ŵ,-EI*ŵ,-EI*ŵ][i+1]*diff(fcts,xi,i)/ℓ^i,i,0,3);
fcts: makelist(fcts[i]/[ŵ, Phi[ref], M[ref], Q[ref]][i], i,1,4);
fcts: subst(params,subst(reference,fcts));
plot2d(fcts, [xi,0,1], [xlabel, "x/ℓ ->"], [ylabel, " ->"],
[legend, "w/ŵ", "φ/Φ_ref", "M/M_ref", "Q/Q_ref"]);
Links
- ...
Literature
- ...