Gelöste Aufgaben/Kw99: Unterschied zwischen den Versionen

Aus numpedia
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(10 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 12: Zeile 12:
<onlyinclude>
<onlyinclude>
[[Datei:Kw98-01.png|alternativtext=|links|mini|250x250px|Lageplan]]
[[Datei:Kw98-01.png|alternativtext=|links|mini|250x250px|Lageplan]]
Gesucht ist die analytische Lösung für den Euler-Bernoulli-Balken.
Gesucht ist die analytische Lösung für den Euler-Bernoulli-Balken. Im Vergleich zu [[Gelöste Aufgaben/Kw98|Kw98]] wird hier eine Lösung mit normierten Koordinaten verfolgt.
</onlyinclude>
</onlyinclude>
[[Datei:Kw98-02.png|mini|Systemparameter]]
Ermitteln Sie für ein Euler-Bernoulli-Modell die analytischen Verläufe der Schnittgrößen und Verschiebungen im Balken für diese Parameter:
Ermitteln Sie für ein Euler-Bernoulli-Modell die analytischen Verläufe der Schnittgrößen und Verschiebungen im Balken für diese Parameter:
::<math>\begin{array}{ll}\displaystyle {{\mathit{EI}}_{2}}&=\frac{{{\mathit{EI}}_{1}}}{2},\\ {{K}_{A}}&=\displaystyle  \frac{{{\mathit{EI}}_{1}}}{{{\ell}_{1}}},\\ {{k}_{B}}&=0,\\ {{k}_{C}}&=\displaystyle \frac{{{\mathit{EI}}_{1}}}{{{\ell}_{1}^{3}}},\\ {{q}_{B}}&=4\cdot {{q}_{A}},\\ {{\ell}_{2}}&=\displaystyle  \frac{{{\ell}_{1}}}{2},\\ {{M}_{B}}&=5\cdot {{\ell}_{1}^{2}}\cdot {{q}_{A}}\end{array}</math>.


== Lösung mit Maxima ==
== Lösung mit Maxima ==
Zeile 35: Zeile 35:
{{MyCodeBlock|title=Header
{{MyCodeBlock|title=Header
|text=
|text=
Diese Aufgabe mit der [[Randwertprobleme/Methoden zur Lösung von Randwertproblemen/Finite Elemente Methode|Methode der Finiten Elemente]] in [[Gelöste Aufgaben/Kw96|KW96]] gelöst.
Diese Aufgabe wird mit der [[Randwertprobleme/Methoden zur Lösung von Randwertproblemen/Finite Elemente Methode|Methode der Finiten Elemente]] in [[Gelöste Aufgaben/Kw96|KW96]] gelöst. Und im Vergleich zu [[Gelöste Aufgaben/Kw98|KW98]] wird hier die analytische Lösung mit dimensionslosen Koordinaten angeschreiben.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
Zeile 43: Zeile 43:
/* author: Andreas Baumgart                            */
/* author: Andreas Baumgart                            */
/* last updated: 2017-09-06                            */
/* last updated: 2017-09-06                            */
/* ref: TM-C, Labor 1                                 */
/* ref: TM-C, Labor 1 - dimensionslos                  */
/* description                                         */
/* description: die Auslenkung w und die unabhängige  */
/*                                                     */
/*             Ortskoordinate werden dim'los gemacht  */
/*******************************************************/
/*******************************************************/
</syntaxhighlight>
</syntaxhighlight>
Zeile 53: Zeile 53:
{{MyCodeBlock|title=Declarations
{{MyCodeBlock|title=Declarations
|text=
|text=
Wir definieren die Parameter
Wir definieren die Formfunktionen für die Streckenlast
 
::<math>\begin{array}{l}{{\phi}_{0}}\left( \xi\right) :=1-\xi\\{{\phi}_{1}}\left( \xi\right) :=\xi\end{array} \text{ mit } \xi = \displaystyle\frac{x_1}{\ell_1}</math>.
::<math>\begin{array}{l}q_{A}=\frac{3\cdot kN}{m},\\l_{1}=\frac{7\cdot m}{10}, \\EI_{1}=33600\; N\; {{m}^{2}},\\{{l}_{2}}=\frac{21\; m}{40},\\EI_{2}=16800\; N\;{{m}^{2}},\\{{K}_{A}}=96\;kN\; m,\\{{k}_{C}}=\frac{22\;kN}{m},\\{{k}_{B}}=\frac{98\;kN}{m},\\{{q}_{B}}=\frac{12\; N}{mm},\\{{M}_{B}}=1470\; Nm\end{array}</math>.
 
und die Formfunktionen für die Streckenlast
 
::<math>\begin{array}{l}{{\phi}_{0}}\left( \xi\right) :=1-\xi\\{{\phi}_{1}}\left( \xi\right) :=\xi\end{array}</math>.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
/* system parameter */
/* system parameter */
units  : [mm = m/1000, cm = m/100];
params: [EI[2]=EI[1]/2,
params : [q[A]=3*N/mm, l[1]=700*mm, EI[1] = 2.1*10^11*N/m^2 * 3*cm*(4*cm)^3/12];
        K[A]=EI[1]/l[1],
simple : [l[2] = 3/4*l[1], EI[2] = EI[1]/2,
        k[B]=0,
          K[A]=2*EI[1]/l[1], k[C] = 512/229*EI[1]/l[1]^3, k[B] = EI[1]/l[1]^3,  
        k[C] = EI[1]/l[1]^3,
          q[B] = 4*q[A], M[B] = q[A]*l[1]^2];
        q[B]=4*q[A],
 
        l[2]=l[1]/2,
params : append(params,makelist(lhs(simple[i])=subst(params,rhs(simple[i])),i,1,length(simple)));
        M[B] = 5*q[A]*l[1]^2];
params : subst(units,params);


/* form - functions  */
/* form - functions  */
Zeile 77: Zeile 71:
</syntaxhighlight>
</syntaxhighlight>
}}
}}


<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Formfunctions
{{MyCodeBlock|title=Integration of Differential Equation to Formfunction
|text=
|text=
In Bereich I und II gilt dieselbe Bewegungs-Differentialgleichung
In Bereich I und II gilt dieselbe Bewegungs-Differentialgleichung
Zeile 85: Zeile 80:
::<math>E\; I_i w_i^{IV}(x_i) = q(x_i) ,\;\; i=\{1,2\} \text{ mit } q(x_i) = q_0\cdot\phi_0(\xi) + q_1\cdot\phi_1(\xi)</math>,
::<math>E\; I_i w_i^{IV}(x_i) = q(x_i) ,\;\; i=\{1,2\} \text{ mit } q(x_i) = q_0\cdot\phi_0(\xi) + q_1\cdot\phi_1(\xi)</math>,


die wir durch Integration lösen und dann bereichsweise anpassen.
die wir durch Integration lösen und dann bereichsweise an Rand- und Übergangsbedingungen anpassen. Diese Aufgabe wird etwas übersichtlicher, wenn wir die Auslenkung ''w'' und die Ortskoordinate ''x'' dimensionslos machen. So wählen wir:
 
::<math>w = \ell_{Bez}\cdot \tilde{w}</math>
 
und setzten für die Bezugslänge die Auslenkung eines Kragbalkens unter konstanter Streckenlast (hier ''q<sub>A</sub>'') an. Diese Auslenkung findet man in [[Sources/Lexikon/Standard-Lösungen|Standard-Lösungen]] unter "Kragbalken mit Streckenlast" zu:
 
::<math>{{\ell}_{\mathit{Bez}}}=\displaystyle \frac{{{q}_{A}} \cdot  {{\ell}_{1}^{4}}}{8\cdot {{\mathit{EI}}_{1}}}</math>
 
Zusätzlich wählen wir zwei unabhängige, dimensionslose Ortskoordinaten für die Bereich I und II, die ihren Ursprung jeweils in den Punkten A und B haben.
 
::<math>\xi_i = \displaystyle \frac{x_i}{\ell_i}</math>


So gilt für Bereich II: ''q<sub>0</sub> = 0'' und ''q<sub>1</sub> = 0''.
Mit


Die allgemeine Lösung ist mit
::<math>\begin{array}{lll}q_0=q_A, &q_1=q_B &\text{ für Bereich I und}\\q_0=0, &q_1=0 &\text{ für Bereich II}\end{array}</math>


::<math>\displaystyle \phi_i(x) = \frac{dw(x)}{dx}</math>
ist die allgemeine Lösung für
 
::<math>\begin{array}{ll} \ldots\text{ die Verdrehung: }&\displaystyle \phi_i(x) = \frac{d\,w_i(x)}{d\,x_i}\\ \ldots\text{ das Biege-Moment: }&\displaystyle M_i(x) = - EI_i \frac{d^2\,w_i(x)}{d\,x_i^2}\\ \ldots\text{ die Querkraft: }&\displaystyle Q_i(x) = - EI_i \frac{d^3\,w_i(x)}{d\,x_i^3} \end{array}</math>


... für Bereich I:
... für Bereich I:


::<math>\begin{array}{l} {{w}_{1}}\left( x\right) :=\frac{120\cdot {{l}_{1}}\cdot {{C}_{1,0}}+120\cdot {{l}_{1}}\cdot {{C}_{1,1}}\cdot x+60\cdot {{l}_{1}}\cdot {{C}_{1,2}}\cdot {{x}^{2}}+20\cdot {{l}_{1}}\cdot {{C}_{1,3}}\cdot {{x}^{3}}+5\cdot {{l}_{1}}\cdot {{x}^{4}}\cdot {{q}_{A}}+{{x}^{5}}\cdot \left( {{q}_{B}}-{{q}_{A}}\right) }{120\cdot {{l}_{1}}\cdot {{\mathit{EI}}_{1}}}\\ {{\phi}_{1}}\left( x\right) :=\frac{120\cdot {{l}_{1}}\cdot {{C}_{1,1}}+120\cdot {{l}_{1}}\cdot {{C}_{1,2}}\cdot x+60\cdot {{l}_{1}}\cdot {{C}_{1,3}}\cdot {{x}^{2}}+20\cdot {{l}_{1}}\cdot {{x}^{3}}\cdot {{q}_{A}}+5\cdot {{x}^{4}}\cdot \left( {{q}_{B}}-{{q}_{A}}\right) }{120\cdot {{l}_{1}}\cdot {{\mathit{EI}}_{1}}}\\ {{M}_{1}}\left( x\right) :=-\frac{120\cdot {{l}_{1}}\cdot {{C}_{1,2}}+120\cdot {{l}_{1}}\cdot {{C}_{1,3}}\cdot x+60\cdot {{l}_{1}}\cdot {{x}^{2}}\cdot {{q}_{A}}+20\cdot {{x}^{3}}\cdot \left( {{q}_{B}}-{{q}_{A}}\right) }{120\cdot {{l}_{1}}}\\ {{Q}_{1}}\left( x\right) :=-\frac{120\cdot {{l}_{1}}\cdot {{C}_{1,3}}+120\cdot {{l}_{1}}\cdot x\cdot {{q}_{A}}+60\cdot {{x}^{2}}\cdot \left( {{q}_{B}}-{{q}_{A}}\right) }{120\cdot {{l}_{1}}} \end{array}</math>
::<math>\begin{array}{ll} {{w}_{1}}\left( \xi\right) :=&\frac{120\cdot {{C}_{1,0}}\cdot {{\ell}_{\mathit{Bez}}}+120\cdot {{C}_{1,1}}\cdot {{\ell}_{\mathit{Bez}}}\cdot \xi+60\cdot {{C}_{1,2}}\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{2}}+20\cdot {{C}_{1,3}}\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{3}}+\left( 5\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{4}}-{{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{5}}\right) \cdot {{q}_{A}}+{{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{5}}\cdot {{q}_{B}}}{15\cdot {{q}_{A}}}\\ {{\phi}_{1}}\left( \xi\right) :=&\frac{120\cdot {{C}_{1,1}}\cdot {{\ell}_{\mathit{Bez}}}+120\cdot {{C}_{1,2}}\cdot {{\ell}_{\mathit{Bez}}}\cdot \xi+60\cdot {{C}_{1,3}}\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{2}}+\left( 20\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{3}}-5\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{4}}\right) \cdot {{q}_{A}}+5\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{4}}\cdot {{q}_{B}}}{15\cdot {{\ell}_{1}}\cdot {{q}_{A}}}\\ {{M}_{1}}\left( \xi\right) :=&-\frac{{{\mathit{EI}}_{1}}\cdot \left( 120\cdot {{C}_{1,2}}\cdot {{\ell}_{\mathit{Bez}}}+120\cdot {{C}_{1,3}}\cdot {{\ell}_{\mathit{Bez}}}\cdot \xi+\left( 60\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{2}}-20\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{3}}\right) \cdot {{q}_{A}}+20\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{3}}\cdot {{q}_{B}}\right) }{15\cdot {{\ell}_{1}^{2}}\cdot {{q}_{A}}}\\ {{Q}_{1}}\left( \xi\right) :=&-\frac{{{\mathit{EI}}_{1}}\cdot \left( 120\cdot {{C}_{1,3}}\cdot {{\ell}_{\mathit{Bez}}}+\left( 120\cdot {{\ell}_{\mathit{Bez}}}\cdot \xi-60\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{2}}\right) \cdot {{q}_{A}}+60\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{2}}\cdot {{q}_{B}}\right) }{15\cdot {{\ell}_{1}^{3}}\cdot {{q}_{A}}} \end{array}</math>


... für Bereich II:
... für Bereich II:


::<math>\begin{array}{l} {{w}_{2}}\left( x\right) :=\frac{120\cdot {{l}_{2}}\cdot {{C}_{2,0}}+120\cdot {{l}_{2}}\cdot {{C}_{2,1}}\cdot x+60\cdot {{l}_{2}}\cdot {{C}_{2,2}}\cdot {{x}^{2}}+20\cdot {{l}_{2}}\cdot {{C}_{2,3}}\cdot {{x}^{3}}}{120\cdot {{l}_{2}}\cdot {{\mathit{EI}}_{2}}}\\ {{\phi}_{2}}\left( x\right) :=\frac{120\cdot {{l}_{2}}\cdot {{C}_{2,1}}+120\cdot {{l}_{2}}\cdot {{C}_{2,2}}\cdot x+60\cdot {{l}_{2}}\cdot {{C}_{2,3}}\cdot {{x}^{2}}}{120\cdot {{l}_{2}}\cdot {{\mathit{EI}}_{2}}}\\ {{M}_{2}}\left( x\right) :=-\frac{120\cdot {{l}_{2}}\cdot {{C}_{2,2}}+120\cdot {{l}_{2}}\cdot {{C}_{2,3}}\cdot x}{120\cdot {{l}_{2}}}\\ {{Q}_{2}}\left( x\right) :=-{{C}_{2,3}} \end{array}</math>.
::<math>\begin{array}{ll} {{w}_{2}}\left( \xi\right) :=&\frac{24\cdot {{\mathit{EI}}_{1}}\cdot {{\ell}_{2}^{4}}\cdot {{C}_{2,0}}\cdot {{\ell}_{\mathit{Bez}}}+24\cdot {{\mathit{EI}}_{1}}\cdot {{\ell}_{2}^{4}}\cdot {{C}_{2,1}}\cdot {{\ell}_{\mathit{Bez}}}\cdot \xi+12\cdot {{\mathit{EI}}_{1}}\cdot {{\ell}_{2}^{4}}\cdot {{C}_{2,2}}\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{2}}+4\cdot {{\mathit{EI}}_{1}}\cdot {{\ell}_{2}^{4}}\cdot {{C}_{2,3}}\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{3}}}{3\cdot {{\ell}_{1}^{4}}\cdot {{\mathit{EI}}_{2}}\cdot {{q}_{A}}}\\ {{\phi}_{2}}\left( \xi\right) :=&\frac{24\cdot {{\mathit{EI}}_{1}}\cdot {{\ell}_{2}^{4}}\cdot {{C}_{2,1}}\cdot {{\ell}_{\mathit{Bez}}}+24\cdot {{\mathit{EI}}_{1}}\cdot {{\ell}_{2}^{4}}\cdot {{C}_{2,2}}\cdot {{\ell}_{\mathit{Bez}}}\cdot \xi+12\cdot {{\mathit{EI}}_{1}}\cdot {{\ell}_{2}^{4}}\cdot {{C}_{2,3}}\cdot {{\ell}_{\mathit{Bez}}}\cdot {{\xi}^{2}}}{3\cdot {{\ell}_{1}^{4}}\cdot {{\ell}_{2}}\cdot {{\mathit{EI}}_{2}}\cdot {{q}_{A}}}\\ {{M}_{2}}\left( \xi\right) :=&-\frac{24\cdot {{\mathit{EI}}_{1}}\cdot {{\ell}_{2}^{4}}\cdot {{C}_{2,2}}\cdot {{\ell}_{\mathit{Bez}}}+24\cdot {{\mathit{EI}}_{1}}\cdot {{\ell}_{2}^{4}}\cdot {{C}_{2,3}}\cdot {{\ell}_{\mathit{Bez}}}\cdot \xi}{3\cdot {{\ell}_{1}^{4}}\cdot {{\ell}_{2}^{2}}\cdot {{q}_{A}}}\\ {{Q}_{2}}\left( \xi\right) :=&-\frac{8\cdot {{\mathit{EI}}_{1}}\cdot {{\ell}_{2}}\cdot {{C}_{2,3}}\cdot {{\ell}_{\mathit{Bez}}}}{{{\ell}_{1}^{4}}\cdot {{q}_{A}}} \end{array}</math>.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
/* solve ....*/
/* solve ....*/
dgl : EI[i]*diff(w(x),x,4) = q[0]*phi[0](x/l[i]) + q[1]*phi[1](x/l[i]);
dimless : l[Bez] = q[A]*l[1]^4/(8*EI[1]);
dgl : EI[i]*l[Bez]*diff(w(xi),xi,4)/l[i]^4 = q[0]*phi[0](xi) + q[1]*phi[1](xi);
dgl: subst(dimless,dgl);
 
/* generic solution */
/* generic solution */
displ : solve(integrate(integrate(integrate(integrate(dgl,x),x),x),x),w(x));
displ : solve(integrate(integrate(integrate(integrate(dgl,xi),xi),xi),xi),w(xi));
sections: [[i=1, %c4=C[1,0], %c3=C[1,1], %c2=C[1,2], %c1=C[1,3], q[0]=q[A], q[1]=q[B]],
sections: [[i=1, %c4=C[1,0], %c3=C[1,1], %c2=C[1,2], %c1=C[1,3], q[0]=q[A], q[1]=q[B]],
           [i=2, %c4=C[2,0], %c3=C[2,1], %c2=C[2,2], %c1=C[2,3], q[0]= 0  , q[1]= 0  ]];
           [i=2, %c4=C[2,0], %c3=C[2,1], %c2=C[2,2], %c1=C[2,3], q[0]= 0  , q[1]= 0  ]];


/* section I */
/* section I */
define(  w[1](x),  subst(sections[1],subst(displ,w(x))));
define(  w[1](xi),  ratsimp(subst(sections[1],subst(displ,l[Bez]*w(xi)))));
define(Phi[1](x), diff(w[1](x),x ));
define(Phi[1](xi),       diff(w[1](xi),xi )/l[1]^1);
define(  M[1](x), -EI[1]*diff(w[1](x),x,2));
define(  M[1](xi), -EI[1]*diff(w[1](xi),xi,2)/l[1]^2);
define(  Q[1](x), -EI[1]*diff(w[1](x),x,3));
define(  Q[1](xi), -EI[1]*diff(w[1](xi),xi,3)/l[1]^3);


/* section II */
/* section II */
define(  w[2](x),  subst(sections[2],subst(displ,w(x))));
define(  w[2](xi),  ratsimp(subst(sections[2],subst(displ,l[Bez]*w(xi)))));
define(Phi[2](x), diff(w[2](x),x ));
define(Phi[2](xi),       diff(w[2](xi),xi )/l[2]^1);
define(  M[2](x), -EI[2]*diff(w[2](x),x,2));
define(  M[2](xi), -EI[2]*diff(w[2](xi),xi,2)/l[2]^2);
define(  Q[2](x), -EI[2]*diff(w[2](x),x,3));
define(  Q[2](xi), -EI[2]*diff(w[2](xi),xi,3)/l[2]^3);
</syntaxhighlight>
</syntaxhighlight>
}}
}}
Zeile 174: Zeile 184:
Und das liefert das Gleichungssystem aus 8 Gleichungen
Und das liefert das Gleichungssystem aus 8 Gleichungen


::<math>\begin{pmatrix}\frac{{{C}_{1,0}}}{{{\mathit{EI}}_{1}}}=0\\ \frac{{{C}_{1,1}}\cdot {{K}_{A}}}{{{\mathit{EI}}_{1}}}-{{C}_{1,2}}=0\\ \frac{{{\ell}_{1}^{4}}\cdot {{q}_{B}}}{120\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{4}}\cdot {{q}_{A}}}{30\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{3}}\cdot {{C}_{1,3}}}{6\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{2}}\cdot {{C}_{1,2}}}{2\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}}\cdot {{C}_{1,1}}}{{{\mathit{EI}}_{1}}}+\frac{{{C}_{1,0}}}{{{\mathit{EI}}_{1}}}=\frac{{{C}_{2,0}}}{{{\mathit{EI}}_{2}}}\\ \frac{{{\ell}_{1}^{3}}\cdot {{q}_{B}}}{24\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{3}}\cdot {{q}_{A}}}{8\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}^{2}}\cdot {{C}_{1,3}}}{2\cdot {{\mathit{EI}}_{1}}}+\frac{{{\ell}_{1}}\cdot {{C}_{1,2}}}{{{\mathit{EI}}_{1}}}+\frac{{{C}_{1,1}}}{{{\mathit{EI}}_{1}}}=\frac{{{C}_{2,1}}}{{{\mathit{EI}}_{2}}}\\ \frac{{{\ell}_{1}}\cdot {{q}_{B}}}{2}-\frac{{{C}_{2,0}}\cdot {{k}_{B}}}{{{\mathit{EI}}_{2}}}+\frac{{{\ell}_{1}}\cdot {{q}_{A}}}{2}-{{C}_{2,3}}+{{C}_{1,3}}=0\\ -{{M}_{B}}+\frac{{{\ell}_{1}^{2}}\cdot {{q}_{B}}}{6}+\frac{{{\ell}_{1}^{2}}\cdot {{q}_{A}}}{3}-{{C}_{2,2}}+{{\ell}_{1}}\cdot {{C}_{1,3}}+{{C}_{1,2}}=0\\ \frac{{{\ell}_{2}^{2}}\cdot {{C}_{2,3}}}{2\cdot {{\mathit{EI}}_{2}}}+\frac{{{\ell}_{2}}\cdot {{C}_{2,2}}}{{{\mathit{EI}}_{2}}}+\frac{{{C}_{2,1}}}{{{\mathit{EI}}_{2}}}=0\\ -\frac{{{\ell}_{2}^{3}}\cdot {{C}_{2,3}}\cdot {{k}_{C}}}{6\cdot {{\mathit{EI}}_{2}}}-\frac{{{\ell}_{2}^{2}}\cdot {{C}_{2,2}}\cdot {{k}_{C}}}{2\cdot {{\mathit{EI}}_{2}}}-\frac{{{\ell}_{2}}\cdot {{C}_{2,1}}\cdot {{k}_{C}}}{{{\mathit{EI}}_{2}}}-\frac{{{C}_{2,0}}\cdot {{k}_{C}}}{{{\mathit{EI}}_{2}}}+{{C}_{2,3}}=0\end{pmatrix}
::<math>\begin{array}{ccc}{{C}_{1,0}}&=&0\\  \frac{{{\ell}_{1}}\cdot {{C}_{1,1}}\cdot {{K}_{A}}}{{{\mathit{EI}}_{1}}}-{{C}_{1,2}}&=&0\\ \frac{{{q}_{B}}}{120}+\frac{{{q}_{A}}}{30}+\frac{{{C}_{1,3}}}{6}+\frac{{{C}_{1,2}}}{2}+{{C}_{1,1}}+{{C}_{1,0}}&=&\frac{{{\mathit{EI}}_{1}}\cdot {{\ell}_{2}^{4}}\cdot {{C}_{2,0}}}{{{\ell}_{1}^{4}}\cdot {{\mathit{EI}}_{2}}}\\  \frac{{{q}_{B}}}{24}+\frac{{{q}_{A}}}{8}+\frac{{{C}_{1,3}}}{2}+{{C}_{1,2}}+{{C}_{1,1}}&=&\frac{{{\mathit{EI}}_{1}}\cdot {{\ell}_{2}^{3}}\cdot {{C}_{2,1}}}{{{\ell}_{1}^{3}}\cdot {{\mathit{EI}}_{2}}}\\  \frac{{{q}_{B}}}{2}-\frac{{{\ell}_{2}^{4}}\cdot {{C}_{2,0}}\cdot {{k}_{B}}}{{{\ell}_{1}}\cdot {{\mathit{EI}}_{2}}}+\frac{{{q}_{A}}}{2}-\frac{{{\ell}_{2}}\cdot {{C}_{2,3}}}{{{\ell}_{1}}}+{{C}_{1,3}}&=&0\\ -\frac{{{M}_{B}}}{{{\ell}_{1}^{2}}}+\frac{{{q}_{B}}}{6}+\frac{{{q}_{A}}}{3}-\frac{{{\ell}_{2}^{2}}\cdot {{C}_{2,2}}}{{{\ell}_{1}^{2}}}+{{C}_{1,3}}+{{C}_{1,2}}&=&0\\ \frac{{{\ell}_{2}^{3}}\cdot {{C}_{2,3}}}{2\cdot {{\ell}_{1}^{3}}}+\frac{{{\ell}_{2}^{3}}\cdot {{C}_{2,2}}}{{{\ell}_{1}^{3}}}+\frac{{{\ell}_{2}^{3}}\cdot {{C}_{2,1}}}{{{\ell}_{1}^{3}}}&=&0\\ -\frac{{{\ell}_{2}^{4}}\cdot {{C}_{2,3}}\cdot {{k}_{C}}}{6\cdot {{\ell}_{1}}\cdot {{\mathit{EI}}_{2}}}-\frac{{{\ell}_{2}^{4}}\cdot {{C}_{2,2}}\cdot {{k}_{C}}}{2\cdot {{\ell}_{1}}\cdot {{\mathit{EI}}_{2}}}-\frac{{{\ell}_{2}^{4}}\cdot {{C}_{2,1}}\cdot {{k}_{C}}}{{{\ell}_{1}}\cdot {{\mathit{EI}}_{2}}}-\frac{{{\ell}_{2}^{4}}\cdot {{C}_{2,0}}\cdot {{k}_{C}}}{{{\ell}_{1}}\cdot {{\mathit{EI}}_{2}}}+\frac{{{\ell}_{2}}\cdot {{C}_{2,3}}}{{{\ell}_{1}}}&=&0\end{array}
</math>
</math>


Zeile 180: Zeile 190:
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* boundary conditions */
node[A]: [ w[1](0) = 0,
          K[A]*Phi[1](0)+M[1](0) = 0];
node[B]: [ w[1](1) = w[2](0),
          Phi[1](1) = Phi[2](0),
          -Q[1](1) -k[B]*w[2](0) +Q[2](0) = 0,
          -M[1](1) -M[B]+M[2](0) = 0];
node[C]: [ Phi[2](1) = 0,
          -Q[2](1) - k[C]*w[2](1) = 0];
BCs : expand(subst(dimless,append(node[A],node[B],node[C])));       
scale: [EI[1]/l[1]^4, 1/l[1]^2, EI[1]/l[1]^4, EI[1]/l[1]^3,1/l[1], 1/l[1]^2, EI[2]/l[1]^3, 1/l[1]];
BCs : expand(scale*BCs);
</syntaxhighlight>
</syntaxhighlight>
}}
}}


<!-------------------------------------------------------------------------------->
<!-------------------------------------------------------------------------------->
{{MyCodeBlock|title=Prepare for Solver
{{MyCodeBlock|title=Prepare for Solver
|text=
|text=
Das Gleichungssystem wollen wir als
Das Gleichungssystem wollen wir als


::<math>\underline{\underline{A}}\cdot\underline{x}= \underline{b}</math>
::<math>\underline{\underline{A}}\cdot\underline{x}= \underline{b}
</math>


schreiben, also
schreiben, also - hier nach Einsetzen der System-Parameter


::<math>\begin{pmatrix}\frac{1}{{{\mathit{EI}}_{1}}} & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ 0 & \frac{{{K}_{A}}}{{{\mathit{EI}}_{1}}} & -1 & 0 & 0 & 0 & 0 & 0\\ \frac{1}{{{\mathit{EI}}_{1}}} & \frac{{{\ell}_{1}}}{{{\mathit{EI}}_{1}}} & \frac{{{\ell}_{1}^{2}}}{2\cdot {{\mathit{EI}}_{1}}} & \frac{{{\ell}_{1}^{3}}}{6\cdot {{\mathit{EI}}_{1}}} & -\frac{1}{{{\mathit{EI}}_{2}}} & 0 & 0 & 0\\ 0 & \frac{1}{{{\mathit{EI}}_{1}}} & \frac{{{\ell}_{1}}}{{{\mathit{EI}}_{1}}} & \frac{{{\ell}_{1}^{2}}}{2\cdot {{\mathit{EI}}_{1}}} & 0 & -\frac{1}{{{\mathit{EI}}_{2}}} & 0 & 0\\ 0 & 0 & 0 & 1 & -\frac{{{k}_{B}}}{{{\mathit{EI}}_{2}}} & 0 & 0 & -1\\ 0 & 0 & 1 & {{\ell}_{1}} & 0 & 0 & -1 & 0\\ 0 & 0 & 0 & 0 & 0 & \frac{1}{{{\mathit{EI}}_{2}}} & \frac{{{\ell}_{2}}}{{{\mathit{EI}}_{2}}} & \frac{{{\ell}_{2}^{2}}}{2\cdot {{\mathit{EI}}_{2}}}\\ 0 & 0 & 0 & 0 & -\frac{{{k}_{C}}}{{{\mathit{EI}}_{2}}} & -\frac{{{\ell}_{2}}\cdot {{k}_{C}}}{{{\mathit{EI}}_{2}}} & -\frac{{{\ell}_{2}^{2}}\cdot {{k}_{C}}}{2\cdot {{\mathit{EI}}_{2}}} & -\frac{{{\ell}_{2}^{3}}\cdot {{k}_{C}}-6\cdot {{\mathit{EI}}_{2}}}{6\cdot {{\mathit{EI}}_{2}}}\end{pmatrix}\cdot\underline{x}=\begin{pmatrix}0\\ 0\\ -\frac{{{\ell}_{1}^{4}}\cdot {{q}_{B}}}{120\cdot {{\mathit{EI}}_{1}}}-\frac{{{\ell}_{1}^{4}}\cdot {{q}_{A}}}{30\cdot {{\mathit{EI}}_{1}}}\\ -\frac{{{\ell}_{1}^{3}}\cdot {{q}_{B}}}{24\cdot {{\mathit{EI}}_{1}}}-\frac{{{\ell}_{1}^{3}}\cdot {{q}_{A}}}{8\cdot {{\mathit{EI}}_{1}}}\\ -\frac{{{\ell}_{1}}\cdot {{q}_{B}}}{2}-\frac{{{\ell}_{1}}\cdot {{q}_{A}}}{2}\\ {{M}_{B}}-\frac{{{\ell}_{1}^{2}}\cdot {{q}_{B}}}{6}-\frac{{{\ell}_{1}^{2}}\cdot {{q}_{A}}}{3}\\ 0\\ 0\end{pmatrix}
::<math>\begin{pmatrix}1 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 1 & -1 & 0 & 0 & 0 & 0 & 0\\ 1 & 1 & \frac{1}{2} & \frac{1}{6} & -\frac{1}{8} & 0 & 0 & 0\\ 0 & 1 & 1 & \frac{1}{2} & 0 & -\frac{1}{4} & 0 & 0\\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & -\frac{1}{2}\\ 0 & 0 & 1 & 1 & 0 & 0 & -\frac{1}{4} & 0\\ 0 & 0 & 0 & 0 & 0 & \frac{1}{8} & \frac{1}{8} & \frac{1}{16}\\ 0 & 0 & 0 & 0 & -\frac{1}{8} & -\frac{1}{8} & -\frac{1}{16} & \frac{23}{48}\end{pmatrix}\cdot \underline{x}=\begin{pmatrix}0\\ 0\\ -\frac{{{q}_{A}}}{15}\\ -\frac{7\cdot {{q}_{A}}}{24}\\ -\frac{5\cdot {{q}_{A}}}{2}\\ 4\cdot {{q}_{A}}\\ 0\\ 0\end{pmatrix}
</math>
</math>
Die Matrix-Elemente sind für die Koeffizientenmatrix
::<math>\begin{array}{l} a_{1,1} = 1/EI_{1}\\ a_{2,2} = K_{A}/EI_{1}\\ a_{2,3} = -1\\ a_{3,1} = 1/EI_{1}\\ a_{3,2} = \ell_{1}/EI_{1}\\ a_{3,3} = \ell_{1}^2/(2\cdot EI_{1})\\ a_{3,4} = \ell_{1}^3/(6\cdot EI_{1})\\ a_{3,5} = -1/EI_{2}\\ a_{4,2} = 1/EI_{1}\\ a_{4,3} = \ell_{1}/EI_{1}\\ a_{4,4} = \ell_{1}^2/(2\cdot EI_{1})\\ a_{4,6} = -1/EI_{2}\\ a_{5,4} = 1\\ a_{5,5} = -k_{B}/EI_{2}\\ a_{5,8} = -1\\ a_{6,3} = 1\\ a_{6,4} = \ell_{1}\\ a_{6,7} = -1\\ a_{7,6} = 1/EI_{2}\\ a_{7,7} = \ell_{2}/EI_{2}\\ a_{7,8} = \ell_{2}^2/(2\cdot EI_{2})\\ a_{8,5} = -k_{C}/EI_{2}\\ a_{8,6} = -(\ell_{2}\cdot k_{C})/EI_{2}\\ a_{8,7} = -(\ell_{2}^2\cdot k_{C})/(2\cdot EI_{2})\\ a_{8,8} = -(\ell_{2}^3\cdot k_{C}-6\cdot EI_{2})/(6\cdot EI_{2})\\ \end{array}</math>
und für die rechte Seite
::<math>\begin{array}{l} b_{1} = 0\\ b_{2} = 0\\ b_{3} = (-(\ell_{1}^4\cdot q_{B})/(120\cdot EI_{1}))-(\ell_{1}^4\cdot q_{A})/(30\cdot EI_{1})\\ b_{4} = (-(\ell_{1}^3\cdot q_{B})/(24\cdot EI_{1}))-(\ell_{1}^3\cdot q_{A})/(8\cdot EI_{1})\\ b_{5} = (-(\ell_{1}\cdot q_{B})/2)-(\ell_{1}\cdot q_{A})/2\\ b_{6} = M_{B}-(\ell_{1}^2\cdot q_{B})/6-(\ell_{1}^2\cdot q_{A})/3\\ b_{7} = 0\\ b_{8} = 0 \end{array}</math>.
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
/* augmented coeff matrix */
/* integration constants = unknowns */
ICs : [C[1,0],C[1,1],C[1,2],C[1,3],C[2,0],C[2,1],C[2,2],C[2,3]];
ACM: augcoefmatrix(BCs,ICs);
ACM: augcoefmatrix(BCs,ICs);
/* system matrix and rhs */
AA :  submatrix(ACM,9);
AA :  submatrix(ACM,9);
bb : - col(ACM,9);
bb : - col(ACM,9);
 
/* print OLE */
for i: 1 thru 8 do
print(subst(params,AA),"*",x,"=",subst(params,bb));
  print(simplode(["b[",i,"] = ", string(bb[i][1])]))$
for i: 1 thru 8 do
  for j: 1 thru 8 do
      if not AA[i][j] = 0 then
          print(simplode(["A[",i,",",j,"] = ", string(AA[i][j])]))$
</syntaxhighlight>
</syntaxhighlight>
}}
}}
Zeile 224: Zeile 237:
Das Lösen des Gleichungssystems liefert
Das Lösen des Gleichungssystems liefert


::<math>\begin{array}{l} {{C}_{1,0}}=0,\\{{C}_{1,1}}=246.1 \; N {{m}^{2}},\\{{C}_{1,2}}=703.2\; N m,\\{{C}_{1,3}}=-2404.3\; N,\\{{C}_{2,0}}=127.6 \;  N m^3,\\{{C}_{2,1}}=224.7\;  N m^2,\\{{C}_{2,2}}=-979.8 \;  N m,\\{{C}_{2,3}}=2101.8 N \end{array}</math>.
::<math>\begin{array}{l} {{C}_{1,0}}=0,\\{{C}_{1,1}}=\frac{1331\cdot {{q}_{A}}}{1170},\\{{C}_{1,2}}=\frac{1331\cdot {{q}_{A}}}{1170},\\{{C}_{1,3}}=-\frac{257\cdot {{q}_{A}}}{1365},\\{{C}_{2,0}}=\frac{57058\cdot {{q}_{A}}}{4095},\\{{C}_{2,1}}=\frac{81007\cdot {{q}_{A}}}{8190},\\{{C}_{2,2}}=-\frac{9994\cdot {{q}_{A}}}{819},\\{{C}_{2,3}}=\frac{6311\cdot {{q}_{A}}}{1365} \end{array}
</math>
|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
1+1
/* solving */
D : ratsimp(determinant(AA))$
[ P, L, U] : ratsimp(get_lu_factors(lu_factor(AA)))$
cc : ratsimp(linsolve_by_lu(AA,bb)[1])$
sol : makelist(ICs[i] = cc[i][1],i,1,8)$
</syntaxhighlight>
</syntaxhighlight>
}}
}}
Zeile 237: Zeile 255:


==== ... für w(x): ====
==== ... für w(x): ====
[[Datei:Kw98-21.png|mini|Biegelinie ''w(x)''|alternativtext=|ohne]]
[[Datei:Kw99-21.png|mini|Biegelinie ''w(x)''|alternativtext=|ohne]]


==== ... für ''Φ(x)'': ====
==== ... für ''Φ(x)'': ====
[[Datei:Kw98-22.png|mini|Kippung ''w'(x)''|alternativtext=|ohne]]
[[Datei:Kw99-22.png|mini|Kippung ''w'(x)''|alternativtext=|ohne]]


==== ... für M(x): ====
==== ... für M(x): ====
[[Datei:Kw98-23.png|mini|Biegemoment M(x)|alternativtext=|ohne]]
[[Datei:Kw99-23.png|mini|Biegemoment M(x)|alternativtext=|ohne]]


==== ... für Q(x): ====
==== ... für Q(x): ====
[[Datei:Kw98-24.png|mini|Querkraft ''Q(x)''|alternativtext=|ohne]]
[[Datei:Kw99-24.png|mini|Querkraft ''Q(x)''|alternativtext=|ohne]]


====... für die Lager-Reaktionskräfte:====
====... für die Lager-Reaktionskräfte:====
::<math>\begin{array}{l} {{A}_{z}}=2404.3 N,\\{{M}_{A}}=703.2 Nm,\\{{B}_{z}}=743.9 N,\\{{C}_{z}}=2101.8 N,\\{{M}_{C}}=-123.7 Nm\end{array}</math>
::<math>\begin{array}{ll} {{A}_{z}}&=\frac{257\cdot {{\ell}_{1}}\cdot {{q}_{A}}}{1365},\\{{M}_{A}}&=\frac{1331\cdot {{\ell}_{1}^{2}}\cdot {{q}_{A}}}{1170},\\{{B}_{z}}&=0,\\{{C}_{z}}&=\frac{6311\cdot {{\ell}_{1}}\cdot {{q}_{A}}}{2730},\\{{M}_{C}}&=\frac{31037\cdot {{\ell}_{1}^{2}}\cdot {{q}_{A}}}{16380} \end{array}</math>


|code=
|code=
<syntaxhighlight lang="lisp" line start=1>
<syntaxhighlight lang="lisp" line start=1>
/* bearing forces and moments */
/* bearing forces and moments */
reactForces: [A[z]=Q[1](0),
reactForces: [A[z] = Q[1](0),
               M[A] = K[A]*Phi[1](0),
               M[A] = K[A]*Phi[1](0),
               B[z] = k[B]*w[2](0),
               B[z] = k[B]*w[2](0),
               C[z] = k[C]*w[2](l[2]),
               C[z] = k[C]*w[2](1),
               M[C] = M[2](l[2])];
               M[C] = M[2](1)];


expand(subst(params,subst(sol, reactForces)));
expand(subst(dimless,subst(params,subst(sol, reactForces))));


/* plot displacements */
/* plot displacements */


fcts: [[ w [1](x), w [2](x-l[1])],
fcts: [[ w [1](xi), w [2](xi)],
       [Phi[1](x),Phi[2](x-l[1])],
       [Phi[1](xi),Phi[2](xi)],
       [ M [1](x), M [2](x-l[1])],
       [ M [1](xi), M [2](xi)],
       [ Q [1](x), Q [2](x-l[1])]];
       [ Q [1](xi), Q [2](xi)]];
facts: [EI[1]/(l[1]^4*q[A]),EI[1]/(l[1]^3*q[A]),1/(l[1]^2*q[A]),1/(l[1]^1*q[A])];
facts: [1/l[Bez], l[1]/l[Bez], 1/(q[A]*l[1]^2), 1/(q[A]*l[1])];
subst(M[B]/l[1]^2,q[A],facts);
 
textlabels : ["w(x)/(M[B]*l^2/EI[1])→", "w'(x)/(M[B]*l/EI[1])→", "M(x)/M[B]→", "Q(x)/(M[B]/l[1]→"];
textlabels : ["w(x)/(M[B]*l^2/EI[1])→", "w'(x)/(M[B]*l/EI[1])→", "M(x)/M[B]→", "Q(x)/(M[B]/l[1]→"];
for i: 1 thru 4 do(
for i: 1 thru 4 do(
   f : expand(subst(simple,subst(xi*l[1],x,facts[i]*[subst(sol, fcts[i][1]),
   f : expand(subst(dimless,subst(params,facts[i]*[subst(sol, fcts[i][1]),
                                                    subst(sol, fcts[i][2])]))),
                                                  subst(sol, fcts[i][2])]))),
   f1 : f[1],  f2 : f[2],
   r : subst(params,l[2]/l[1]),                                        
   toplot : [if xi<=1 then f1 else 0,
   preamble: if i<=2 then "set yrange [] reverse" else "set yrange []",
            if xi < 1 then 0 else f2],
   plot2d([[parametric,    t, subst(t,xi,f[1]), [t,0,1]],
   plot2d(toplot,[xi,0,1+subst(simple,l[2]/l[1])], [legend, "sec. I", "sec. II"],
          [parametric, 1+r*t, subst(t,xi,f[2]), [t,0,1]]],
                             [gnuplot_preamble, "set yrange [] reverse"] ,
                            [legend, "sec. I", "sec. II"],
                             [gnuplot_preamble, preamble],
                             [xlabel, "x/l[1] ->"],
                             [xlabel, "x/l[1] ->"],
                             [ylabel, textlabels[i]]))$
                             [ylabel, textlabels[i]]))$

Aktuelle Version vom 31. März 2021, 13:47 Uhr


Aufgabenstellung

Ein Stab ABC ist durch eine lineare veränderliche Streckenlast q mit den Eckwerten qA in A und qB in B sowie dem Moment MB in B belastet. Der Stab (E-Modul: E) besteht aus zwei Sektionen mit den Längen l1 bzw. l2 sowie den Flächenmomenten I1 bzw. I2. Der Stab ist in A durch ein gelenkiges Festlager, in C durch eine Schiebehülse gelagert, in B sind die beiden Sektionen fest miteinander verbunden. Die Feder in A ist eine Drehfester mit Steifigkeit KA, die Federn in B und C sind Translationsfedern mit den Steifigkeiten kB, kC.


Lageplan

Gesucht ist die analytische Lösung für den Euler-Bernoulli-Balken. Im Vergleich zu Kw98 wird hier eine Lösung mit normierten Koordinaten verfolgt.

Ermitteln Sie für ein Euler-Bernoulli-Modell die analytischen Verläufe der Schnittgrößen und Verschiebungen im Balken für diese Parameter:

.

Lösung mit Maxima

Die Aufgabe ist ein klassisches Randwertproblem:

  1. zwei Gebiete, in denen ein Euler-Bernoulli-Balken in AB und BC durch eine Streckenlast q belastet ist (in Bereich II ist die Streckenlast allerdings Null) und somit durch die Differentialbeziehung

    berschrieben wird.
  2. Rand- und Übergangsbedingungen in den Punkten A, B, C

Wir verwenden xi und ξi als Koordinaten je Bereich, in der Übersicht sieht das Randwertproblem so aus:

Rand
A
Bereich IÜbergang
B
Bereich IIRand
C


Header

Diese Aufgabe wird mit der Methode der Finiten Elemente in KW96 gelöst. Und im Vergleich zu KW98 wird hier die analytische Lösung mit dimensionslosen Koordinaten angeschreiben.


/*******************************************************/
/* MAXIMA script                                       */
/* version: wxMaxima 15.08.2                           */
/* author: Andreas Baumgart                            */
/* last updated: 2017-09-06                            */
/* ref: TM-C, Labor 1 - dimensionslos                  */
/* description: die Auslenkung w und die unabhängige   */
/*              Ortskoordinate werden dim'los gemacht  */
/*******************************************************/




Declarations

Wir definieren die Formfunktionen für die Streckenlast

.

/* system parameter */
params: [EI[2]=EI[1]/2,
         K[A]=EI[1]/l[1],
         k[B]=0,
         k[C] = EI[1]/l[1]^3,
         q[B]=4*q[A],
         l[2]=l[1]/2,
         M[B] = 5*q[A]*l[1]^2];

/* form - functions  */
phi[0](xi) := 1 - xi;
phi[1](xi) :=     xi;




Integration of Differential Equation to Formfunction

In Bereich I und II gilt dieselbe Bewegungs-Differentialgleichung

,

die wir durch Integration lösen und dann bereichsweise an Rand- und Übergangsbedingungen anpassen. Diese Aufgabe wird etwas übersichtlicher, wenn wir die Auslenkung w und die Ortskoordinate x dimensionslos machen. So wählen wir:

und setzten für die Bezugslänge die Auslenkung eines Kragbalkens unter konstanter Streckenlast (hier qA) an. Diese Auslenkung findet man in Standard-Lösungen unter "Kragbalken mit Streckenlast" zu:

Zusätzlich wählen wir zwei unabhängige, dimensionslose Ortskoordinaten für die Bereich I und II, die ihren Ursprung jeweils in den Punkten A und B haben.

Mit

ist die allgemeine Lösung für

... für Bereich I:

... für Bereich II:

.

/* solve ....*/
dimless : l[Bez] = q[A]*l[1]^4/(8*EI[1]);
dgl : EI[i]*l[Bez]*diff(w(xi),xi,4)/l[i]^4 = q[0]*phi[0](xi) + q[1]*phi[1](xi);
dgl: subst(dimless,dgl);

/* generic solution */
displ : solve(integrate(integrate(integrate(integrate(dgl,xi),xi),xi),xi),w(xi));
sections: [[i=1, %c4=C[1,0], %c3=C[1,1], %c2=C[1,2], %c1=C[1,3], q[0]=q[A], q[1]=q[B]],
           [i=2, %c4=C[2,0], %c3=C[2,1], %c2=C[2,2], %c1=C[2,3], q[0]= 0  , q[1]= 0  ]];

/* section I */
define(  w[1](xi),  ratsimp(subst(sections[1],subst(displ,l[Bez]*w(xi)))));
define(Phi[1](xi),        diff(w[1](xi),xi  )/l[1]^1);
define(  M[1](xi), -EI[1]*diff(w[1](xi),xi,2)/l[1]^2);
define(  Q[1](xi), -EI[1]*diff(w[1](xi),xi,3)/l[1]^3);

/* section II */
define(  w[2](xi),  ratsimp(subst(sections[2],subst(displ,l[Bez]*w(xi)))));
define(Phi[2](xi),        diff(w[2](xi),xi  )/l[2]^1);
define(  M[2](xi), -EI[2]*diff(w[2](xi),xi,2)/l[2]^2);
define(  Q[2](xi), -EI[2]*diff(w[2](xi),xi,3)/l[2]^3);




Boundary Conditions

Für die 2*4 = 8 Integrationskonstanten

suchen wir jetzt die passenden Gleichungen aus Rand- und Übergangsbedingungen.

Zur besseren Übersicht nennen wir die Schnitt-Momente und -Kräfte nach den jeweiligen Knotenpunkten A, B, C und fügen als Index ein + / - hinzu, um die Seite (+: rechts vom Knoten, -: links vom Knoten) zu kennzeichnen.

Aus Rand "A"

Geometrische Randbedingungen

Kraft- und Momenten-Randbedingungen

Aus Übergang "B"

Geometrische Randbedingungen

Kraft- und Momenten-Randbedingungen

Aus Rand "C"

Geometrische Randbedingungen

Kraft- und Momenten-Randbedingungen

Und das liefert das Gleichungssystem aus 8 Gleichungen

für die Integrationskonstanten.


/* boundary conditions */
node[A]: [ w[1](0) = 0,
           K[A]*Phi[1](0)+M[1](0) = 0];
node[B]: [ w[1](1) = w[2](0),
           Phi[1](1) = Phi[2](0),
          -Q[1](1) -k[B]*w[2](0) +Q[2](0) = 0,
          -M[1](1) -M[B]+M[2](0) = 0];
node[C]: [ Phi[2](1) = 0,
          -Q[2](1) - k[C]*w[2](1) = 0];
BCs : expand(subst(dimless,append(node[A],node[B],node[C])));         
scale: [EI[1]/l[1]^4, 1/l[1]^2, EI[1]/l[1]^4, EI[1]/l[1]^3,1/l[1], 1/l[1]^2, EI[2]/l[1]^3, 1/l[1]];
BCs : expand(scale*BCs);





Prepare for Solver

Das Gleichungssystem wollen wir als

schreiben, also - hier nach Einsetzen der System-Parameter


/* integration constants = unknowns */
ICs : [C[1,0],C[1,1],C[1,2],C[1,3],C[2,0],C[2,1],C[2,2],C[2,3]];
ACM: augcoefmatrix(BCs,ICs);
/* system matrix and rhs */
AA :   submatrix(ACM,9);
bb : - col(ACM,9);
/* print OLE */
print(subst(params,AA),"*",x,"=",subst(params,bb));




Solving

Das Lösen des Gleichungssystems liefert


/* solving */
D : ratsimp(determinant(AA))$
[ P, L, U] : ratsimp(get_lu_factors(lu_factor(AA)))$
cc : ratsimp(linsolve_by_lu(AA,bb)[1])$
sol : makelist(ICs[i] = cc[i][1],i,1,8)$




Post-Processing

Und die Ergebnisse können wir uns anschauen ...

... für w(x):

Biegelinie w(x)

... für Φ(x):

Kippung w'(x)

... für M(x):

Biegemoment M(x)

... für Q(x):

Querkraft Q(x)

... für die Lager-Reaktionskräfte:


/* bearing forces and moments */
reactForces: [A[z] = Q[1](0),
              M[A] = K[A]*Phi[1](0),
              B[z] = k[B]*w[2](0),
              C[z] = k[C]*w[2](1),
              M[C] = M[2](1)];

expand(subst(dimless,subst(params,subst(sol, reactForces))));

/* plot displacements */

fcts: [[ w [1](xi), w [2](xi)],
       [Phi[1](xi),Phi[2](xi)],
       [ M [1](xi), M [2](xi)],
       [ Q [1](xi), Q [2](xi)]];
facts: [1/l[Bez], l[1]/l[Bez], 1/(q[A]*l[1]^2), 1/(q[A]*l[1])];

textlabels : ["w(x)/(M[B]*l^2/EI[1])→", "w'(x)/(M[B]*l/EI[1])→", "M(x)/M[B]→", "Q(x)/(M[B]/l[1]→"];
for i: 1 thru 4 do(
  f : expand(subst(dimless,subst(params,facts[i]*[subst(sol, fcts[i][1]),
                                                  subst(sol, fcts[i][2])]))),
  r : subst(params,l[2]/l[1]),                                          
  preamble: if i<=2 then "set yrange [] reverse" else "set yrange []",
  plot2d([[parametric,     t, subst(t,xi,f[1]), [t,0,1]],
          [parametric, 1+r*t, subst(t,xi,f[2]), [t,0,1]]],
                             [legend, "sec. I", "sec. II"],
                             [gnuplot_preamble, preamble],
                             [xlabel, "x/l[1] ->"],
                             [ylabel, textlabels[i]]))$





Links

  • ...

Literature

  • ...