Balkenberechnung

Vorstudie für ein Mathematica-Modul

Alle Werte einer Grösse sind in der gleichen Einheit einzugeben. Die Einheiten werden hier zur Vereinfachung der Formel(Reduktion der Fehlerhäufigkeit) weggelassen.

Voreingestellte Werte

Balkenlänge und Position

nullPos  =  0;

balkenLaenge  =  10;

Streckenlastfunktion

constq  =  -1/50;
q[x_] :=  
        constq *
          x (x - 
              nullPos)*(balkenLaenge - (x - 
                  nullPos ));

plo1= Plot[q[x],{x,nullPos,nullPos+balkenLaenge}];

Kraftfunktion der Streckenlast

Q[x_]:= Integrate[q[t],{t,nullPos,x}];

plo2= Plot[Q[x],{x,nullPos,nullPos+balkenLaenge}];

Gesamtkraft der Streckenlast

qGes = Q[nullPos+balkenLaenge]

N[%]

Schwerpunkt der Fläche der Streckenlastfunktion

sQ = Integrate[t q[t],{t,nullPos,nullPos+balkenLaenge}]/qGes

Einzellasten und Abstände der Einzellasten von der Nullposition

xF[1] = nullPos + 3    ;
kF[1] = -3      ;
xF[2] = nullPos + 6    ;
kF[2] = -4      ;
xF[3] = nullPos + 9    ;
kF[3] = 2     ;
anzEinzelLast  =  3;

Graphik Kräfte

sprung[x_]:=1-Sign[Abs[x]-x]

{sprung[-1],sprung[0],sprung[1]}

Plot[sprung[x-1.2],{x,-1,3}];

fTotal[x_]:= Evaluate[ Q[x] + sprung[x-xF[1]] kF[1] + sprung[x-xF[2]] kF[2] + sprung[x-xF[3]] kF[3] ]

Plot[fTotal[x],{x,nullPos,nullPos+balkenLaenge}];

fTotal[nullPos+balkenLaenge]

(* Kontrolle *)
kF[1] + kF[2] + kF[3] + qGes

N[%]

Auflagekräfte

fRechts = -((xF[1]-nullPos) kF[1] + (xF[2]-nullPos) kF[2] + (xF[3]-nullPos) kF[3] + qGes (sQ-nullPos))/balkenLaenge

fLinks = -fRechts- fTotal[nullPos+balkenLaenge]

N[%]

(* Kontrolle *)
fRechts + fLinks + kF[1] + kF[2] + kF[3] + qGes

Graphik (Skizze, y-Koordinate des Flächenschwerpunktes nicht exakt bestimmt)

<< Graphics`Arrow`;
p1 = {nullPos, 0};
p2 = {nullPos + balkenLaenge, 0};
po[k_] := p1 + {xF[k], 0};
pu[k_] := p1 + {xF[k], -kF[k]};
Show[
        Graphics[{
Thickness[ .01], 
            Line[{p1, 
                p2}], 
Arrow[{nullPos, -fLinks}, {nullPos, 0}], 
Arrow[{nullPos + 
                  balkenLaenge, -fRechts}, {nullPos + balkenLaenge, 0}], 
            Arrow[pu[1], po[1]], 
Arrow[pu[2], 
              po[2]], 
Arrow[pu[3], 
              po[3]], 
Arrow[{nullPos + sQ, 
                0 - 1}, {nullPos + sQ, 
                qGes - 1}], 
PointSize[0.03], 
            RGBColor[1, 0, 0], 
Point[p1], Point[p2]}, 
          PlotRange -> All], plo1, 
        AspectRatio -> Automatic];

Modul

In Bearbeitung