Randwertprobleme/Methoden zur Lösung von Randwertproblemen/Finite Differenzen Verfahren (EBB): Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „m“) |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Das Differenzenverfahren ersetzt die Bewegungsgleichung des Euler-Bernoulli-Balkens im Gebiet (die Differentialgleichung) durch den Differenzenquotienten. | |||
Also wird aus | |||
::<math>\frac{d\,w}{d\,x}|_{x=x_i}=\frac{\mathrm{w}\left(x_i+\mathit{\Delta x}\right) -\mathrm{w}\left( x_i\right) }{\mathit{\Delta x}}</math> | |||
mit endlich großem ''Δx''. Wir wählen | |||
::<math>x_{i+1}=x_i + \Delta\,x</math>, | |||
so dass wir die erste Ableitung der Funktion ''w(x)'' an ''N'' Stellen ''x<sub>i</sub>'' bequem durch ''N+1'' viele Stützstellen ''W<sub>i</sub> := w(x<sub>i</sub>)'' berechnen können. | |||
Wie klappt das für die vierte Ableitung in<blockquote><blockquote><math>EI \cdot w^{IV} = q</math>? | |||
{| | |||
!style="align:left"|Maxima | |||
! | |||
|- | |||
|style="width:50%; vertical-align:top;"|Indem wir die vierte Ableitung eines Polynoms, das durch benachbarte Punkte der Stützstellen verläuft, bestimmen und dies als vierten Ableitung der gesuchten Funktion verwenden. | |||
Wir erfassen Ableitungen der gesuchten Verschiebung durch Linearkombinationen der Stützstellen. | |||
Dazu brauchen wir mindestens ein Polynom 4ter Ordnung, damit wir es vier mal ableiten können, ohne dass es dabei verschwindet (Null wird). Wir wählen also 5 äquidistante Stützstellen um xi herum und sampeln die ''x''-Koordinate ''ξ'', die unbekannte Auslenkung Wj und den Wert der bekannten Streckenlast ''q<sub>j</sub>'': | |||
::<math>\begin{array}{crllll}[&-2\cdot \mathit{Δx}+&{{x}_i}&,{{W}_{i-2}}&,q_{i-2}&],\\ [&-\mathit{Δx}+&{{x}_i}&,{{W}_{i-1}}&,q_{i-1}&],\\ [&&{{x}_i}&,{{W}_{i}}&,q_{i}&],\\ [&&{{x}_i}+\mathit{Δx}&,{{W}_{i+1}}&,q_{i+1}&],\\ [&&{{x}_i}+2\cdot \mathit{Δx}&,{{W}_{i+2}}&,q_{i+2}&] \end{array}</math> | |||
Das Polynom 4ter Ordnung dazu ist | |||
::<math>p={{C}_{4}}\cdot {{x}^{4}}+{{C}_{3}}\cdot {{x}^{3}}+{{C}_{2}}\cdot {{x}^{2}}+{{C}_{1}}\cdot x+{{C}_{0}}</math> | |||
und dessen vierte Ableitung | |||
::<math>\begin{array}{rl}\kappa=&\displaystyle \frac{d^4\,p}{d\,x^4}\\=&4\cdot 3\cdot 2\cdot 1 \cdot C_4\\ = &\displaystyle \frac{{{W}_{i-2}}-4\cdot {{W}_{i-1}}+6\cdot {{W}_{i}}-4\cdot {{W}_{i+1}}+{{W}_{i+2}}}{{{\mathit{Δx}}^{4}}}\end{array}</math>, | |||
wobei wir die ''C<sub>i</sub>'' aus der Anpassung an die Stützstellen erhalten. Wie das im Detail geht, steht in [[Gelöste Aufgaben/Kit6|Kit6]]. | |||
|style="vertical-align:top" class="mw-collapsible mw-collapsed wikitable"| <syntaxhighlight lang="notmuch" line='line' style="border:1px solid blue"> | |||
/* Maxima Sourcecode */ | |||
declare("Δx", alphabetic); | |||
dgl: 'diff(w,x,4)=q/EI; | |||
/*samples */ | |||
S : makelist([x[0]+j*Δx,W[i+j]],j,-2,2); | |||
/* polynom */ | |||
p : sum(C[j]*x^j,j,0,4); | |||
/* equations */ | |||
equs : makelist(subst([x=S[j][1]],p)=S[j][2],j,1,5); | |||
/* unknown coefficients */ | |||
coef : makelist(C[j],j,0,4); | |||
/* solution */ | |||
sol : linsolve(equs,coef); | |||
/* 4th derivative*/ | |||
kappa : diff(p,x,4); | |||
kappa : subst(sol,kappa); | |||
print(dgl," -> ", subst(['diff(w,x,4)=kappa],dgl)); | |||
ole : Δx^4*subst(['diff(w,x,4)=kappa],dgl); | |||
</syntaxhighlight> | |||
|} | |||
[[Datei:FiniteDifferenzenVerfahren-Lasten.png|ohne|mini|Streckenlast und äußere Lasten im kontinuierlichen Fall um den Knoten ''I'' herum.]] | |||
[[Datei:FiniteDifferenzenVerfahren-Ersatzsystem.png|ohne|mini|Streckenlast und äußere Lasten im Fall von endlichen Differenzen um den Knoten ''I'' herum.]] |
Version vom 20. Februar 2021, 16:23 Uhr
Das Differenzenverfahren ersetzt die Bewegungsgleichung des Euler-Bernoulli-Balkens im Gebiet (die Differentialgleichung) durch den Differenzenquotienten.
Also wird aus
mit endlich großem Δx. Wir wählen
- ,
so dass wir die erste Ableitung der Funktion w(x) an N Stellen xi bequem durch N+1 viele Stützstellen Wi := w(xi) berechnen können.
Wie klappt das für die vierte Ableitung in
?
Maxima Indem wir die vierte Ableitung eines Polynoms, das durch benachbarte Punkte der Stützstellen verläuft, bestimmen und dies als vierten Ableitung der gesuchten Funktion verwenden. Wir erfassen Ableitungen der gesuchten Verschiebung durch Linearkombinationen der Stützstellen.
Dazu brauchen wir mindestens ein Polynom 4ter Ordnung, damit wir es vier mal ableiten können, ohne dass es dabei verschwindet (Null wird). Wir wählen also 5 äquidistante Stützstellen um xi herum und sampeln die x-Koordinate ξ, die unbekannte Auslenkung Wj und den Wert der bekannten Streckenlast qj:
- Fehler beim Parsen (Unbekannte Funktion „\begin{array}“): {\displaystyle \begin{array}{crllll}[&-2\cdot \mathit{Δx}+&{{x}_i}&,{{W}_{i-2}}&,q_{i-2}&],\\ [&-\mathit{Δx}+&{{x}_i}&,{{W}_{i-1}}&,q_{i-1}&],\\ [&&{{x}_i}&,{{W}_{i}}&,q_{i}&],\\ [&&{{x}_i}+\mathit{Δx}&,{{W}_{i+1}}&,q_{i+1}&],\\ [&&{{x}_i}+2\cdot \mathit{Δx}&,{{W}_{i+2}}&,q_{i+2}&] \end{array}}
Das Polynom 4ter Ordnung dazu ist
und dessen vierte Ableitung
- Fehler beim Parsen (Unbekannte Funktion „\begin{array}“): {\displaystyle \begin{array}{rl}\kappa=&\displaystyle \frac{d^4\,p}{d\,x^4}\\=&4\cdot 3\cdot 2\cdot 1 \cdot C_4\\ = &\displaystyle \frac{{{W}_{i-2}}-4\cdot {{W}_{i-1}}+6\cdot {{W}_{i}}-4\cdot {{W}_{i+1}}+{{W}_{i+2}}}{{{\mathit{Δx}}^{4}}}\end{array}} ,
wobei wir die Ci aus der Anpassung an die Stützstellen erhalten. Wie das im Detail geht, steht in Kit6.
/* Maxima Sourcecode */ declare("Δx", alphabetic); dgl: 'diff(w,x,4)=q/EI; /*samples */ S : makelist([x[0]+j*Δx,W[i+j]],j,-2,2); /* polynom */ p : sum(C[j]*x^j,j,0,4); /* equations */ equs : makelist(subst([x=S[j][1]],p)=S[j][2],j,1,5); /* unknown coefficients */ coef : makelist(C[j],j,0,4); /* solution */ sol : linsolve(equs,coef); /* 4th derivative*/ kappa : diff(p,x,4); kappa : subst(sol,kappa); print(dgl," -> ", subst(['diff(w,x,4)=kappa],dgl)); ole : Δx^4*subst(['diff(w,x,4)=kappa],dgl);