Randwertprobleme/Methoden zur Lösung von Randwertproblemen/Finite Differenzen Verfahren (EBB)

Aus numpedia
Zur Navigation springen Zur Suche springen

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





Streckenlast und äußere Lasten im kontinuierlichen Fall um den Knoten I herum.
Streckenlast und äußere Lasten im Fall von endlichen Differenzen um den Knoten I herum.