from numpy import *
dtr = pi/180 # degree-to-radian conversion
from matplotlib.pyplot import *
%matplotlib inline
X1,X2,X3 = 4.,161.,97. # mm (left to right)
F = 71.7 # N
Dy = F*(X2+X3)/X1
Ey = F + Dy
NA = 0.
VA = -Dy + Ey
MA = Ey*X2 - Dy*(X1+X2)
NB = 0.
VB = -Dy + Ey
MB = -Dy*X1
NC = 0.
VC = -Dy
MC = -Dy*X1
print ('answer at Point A:')
print (' NA=',NA,'N')
print (' VA=',VA,'N')
print (' MA=',MA/1e3,'N-m')
print (' NB=',NB,'N')
print (' VB=',VB,'N')
print (' MB=',MB/1e3,'N-m')
print (' NC=',NC,'N')
print (' VC=',VC,'N')
print (' MC=',MC/1e3,'N-m')
T = 101. # lb
width = 0.5 # in.
XIJ = 1.40 # in.
X_notch = 0.85 # in.
XGnotch = 2.85 # in.
YED = 1.4 # in.
if 0: # book parameters
T = 100. # lb
width = 0.5 # in.
XIJ = 1.50 # in.
X_notch = 1.0 # in.
XGnotch = 3.0 # in.
YED = 1.5 # in.
MD = ND = 0.
VD = T
NE = 0.
VE = T
ME = -YED*T
NF = -T/sqrt(2)
VF = T/sqrt(2)
r = YED # outer radius of turn
w = width
YEF = (r-0.5*w)/sqrt(2)
MF = -T*(YED+YEF)
print ('answer:')
print (' ND=',ND,'lb')
print (' VD=',VD,'lb')
print (' MD=',MD,'in-lb')
print (' NE=',NE,'lb')
print (' VE=',VE,'lb')
print (' ME=',ME,'in-lb')
print (' NF=',NF,'lb')
print (' VF=',VF,'lb')
print (' MF=',MF,'in-lb')
W = 3.69 # kN
XCD = 1.60 # m
MO = 0.
NO = VO = -W
NL = VL = -W
ML = -W*XCD
print ('answer:')
print (' NL=',NL,'kN')
print (' VL=',VL,'kN')
print (' ML=',ML,'kN-m')
print (' NO=',NO,'kN')
print (' VO=',VO,'kN')
print (' MO=',MO,'kN-m')
P = 6. # kN
L = 3. # m
print ('answer:')
print (' V=',P,'kN, M=',P,'x kN')
print (' V=',0,'kN, M=',P*L/3,' kN')
print (' V=',-P,'kN, M=',P*L,'-',P,'x kN')

For the cantilever beam shown, determine the shear and moment as a function of position and graph these functions.
X = 5.68 # m
w = 7.76 # kN/m
print ('answer:')
print (' V=(',-w,'kN/m) x m')
print (' M=(',-w/2,'kN/m) x^2 m^2')
x = arange(0.,X,0.1)
v = -w*x
%matplotlib inline
grid()
plot( x, v, color='black')
xlabel('$x$ (ft)')
ylabel('$V(x)$ (lb)')
m = -w/2*x**2
%matplotlib inline
grid()
plot( x, m, color='blue')
xlabel('$x$ (ft)')
ylabel('$M(x)$ (ft-lb)')
checked; works.

A beam with an overhang is subjected to the uniformly distributed load shown. Determine (and graph) the shear and moment as functions of position.
w = 530. # lb/ft
X = 7.75 # ft (half length)
Cy = 0.
By = 2*w*X
print ('answer:')
print (' for =0<x<X:')
print (' V=(',-w,'lb/ft) x')
print (' M=(',-w/2,'lb/ft) x^2')
print (' for =X<x<2X:')
print (' V=',By,'lb-(',w,'lb/ft) x')
print (' M=',-By*X,'ft-lb+(',By,'lb) x +(',-w/2,'lb/ft) x^2')
x = arange(0.,2*X,0.1)
N = int(len(x)/2)
v1 = -w*x[:N]
v2 = By - w*x[N:]
%matplotlib inline
grid()
plot( x[:N], v1, label= '$0<x<X$', color='black')
plot( x[N:], v2, label= '$X<x<2X$', color='red')
legend(loc='lower right')
xlabel('$x$ (ft)')
ylabel('$V(x)$ (lb)')
m1 = -w/2*x[:N]**2
m2 = -By*X + By*x[N:] -w/2*x[N:]**2
%matplotlib inline
grid()
plot( x[:N], m1, label= '$0<x<X$', color='blue')
plot( x[N:], m2, label= '$X<x<2X$', color='blue')
xlabel('$x$ (ft)')
ylabel('$M(x)$ (ft-lb)')
w0 = 8.73 # kN/m
L = 5.08 # m
F0 = w0/(2*L) # times x^2
XF = 2./3. # times x
print( 'answer:')
print( ' V=',-F0,'x^2')
print (' M=',-F0/3,'x^3')
x = arange(0.,L,0.1)
v = -F0*x**2
grid()
plot( x, v, color='blue')
xlabel('$x$ (m)')
ylabel('$V(x)$ (kN)')
m = -F0/3.*x**3
grid()
plot( x, m, color='blue')
xlabel('$x$ (m)')
ylabel('$M(x)$ (kN-m)')
checked; works.
w1 = 9.75 # kN/m
w2 = 3.53 # kN/m
L = 8.90 # m
F1 = 0.5*L*(w1-w2) # triangle force dist.
X1 = L/3.
F2 = L*w2 # uniform force dist.
X2 = L/2
Ay = F1 + F2
MA = F1*X1 + F2*X2
$V(x)=A_y-\int_0^x w_2\; dx'-\int_0^x \left (w_1-w_2 \right )\left (1-\frac{x'}{L} \right )\; dx'$
$V(x)=A_y-w_2 x - \left (w_1-w_2 \right ) \left (x- \frac{x^2}{2L} \right )$
$V(x)=A_y-w_1x+ \frac{w_1-w_2}{2L} x^2$
$M(x)=-M_A + \int_0^x \left (A_y-w_1x'+ \frac{w_1-w_2}{2L} x'^2 \right )\; dx'$
$M(x)=-M_A + A_yx-\frac{w_1}{2}x^2+ \frac{w_1-w_2}{6L} x^3 $
v0 = Ay
v1 = -w1
v2 = (w1-w2)/(2*L)
m0 = -MA
m1 = Ay
m2 = -w1/2
m3 = (w1-w2)/(6*L)
print ('answer:')
print (' V(x) = {:.2f} {:+.2f} x {:+.4f} x^2'.format(v0,v1,v2))
print (' M(x) = {:.2f} {:+.2f} x {:+.2f} x^2 {:+.4f} x^3'.format(m0,m1,m2,m3))
x = arange(0.,L,0.1)
v = v0 + v1*x + v2*x**2
grid()
plot( x, v, color='blue')
xlabel('$x$ (m)')
ylabel('$V(x)$ (kN)')
m = m0 + m1*x + m2*x**2 + m3*x**3
grid()
plot( x, m, color='blue')
xlabel('$x$ (m)')
ylabel('$M(x)$ (kN-m)')
checked; works.
w1 = 370. # lb/ft
w2 = 740. # lb/ft
L = 18. # ft
F1 = 0.5*L*(w2-w1) # triangle force dist.
X1 = 2*L/3.
F2 = L*w1 # uniform force dist.
X2 = L/2
By = (F1*X1 + F2*X2)/L
Ay = F1+F2-By
$w(x) = w_1 + (w_2-w_1)\frac{x}{L} $
$V(x)=A_y-\int_0^x w_1\; dx'-\int_0^x \left (w_2-w_1 \right )\frac{x'}{L} \; dx' $
$V(x)= A_y - w_1 x - \frac{w_2-w_1 }{2L}x^2 $
$M(x)= \int_0^x \left [ A_y - w_1 x' - \left (w_2-w_1 \right ) \frac{x'^2}{2L} \right ]\;dx'$
$ M(x)= A_yx-\frac{w_1}{2}x^2+ \frac{w_1-w_2}{6L} x^3$
v0 = Ay
v1 = -w1
v2 = (w1-w2)/(2*L)
m0 = 0.
m1 = Ay
m2 = -w1/2
m3 = (w1-w2)/(6*L)
print ('answer:')
print (' V(x) = {:.2f} {:+.2f} x {:+.2f} x^2'.format(v0,v1,v2))
print (' M(x) = {:.2f} {:+.2f} x {:+.2f} x^2 {:+.2f} x^3'.format(m0,m1,m2,m3))
x = arange(0.,L,0.1)
v = v0 + v1*x + v2*x**2
grid()
plot( x, v, color='blue')
xlabel('$x$ (m)')
ylabel('$V(x)$ (kN)')
m = m0 + m1*x + m2*x**2 + m3*x**3
grid()
plot( x, m, color='blue')
xlabel('$x$ (ft)')
ylabel('$M(x)$ (ft-lb)')
checked; works.
FBD:

Find $F_B$ and $F_C$ from the FBD of the truck:
$$ \begin{matrix} \sum M_B = 0 & \Rightarrow & F_C (l_C-l_B) - W (l_E-l_B) =0 & \Rightarrow & F_C = \frac{l_E-l_B}{l_C-l_B}W \\ \sum F_y = 0 & \Rightarrow & F_B+F_C-W = 0 & \Rightarrow & F_B = W-F_C \end{matrix} $$Construct the load function (using the Dirac Delta):
$$w(x) = w_0 + F_B \; \delta(x-l_B) + F_C \; \delta(x-l_C)$$Then integrate to find $V(x)$:
$$V(x) = \int_{0}^{x}-w(x')dx'=\left\{\begin{matrix} -w_0 x, & 0<x<l_B \\ -w_0 x -F_B, & l_B<x<l_C \\ -w_0 x -F_B-F_C, & l_C<x<L \end{matrix}\right.$$And integrate again to find $M(x)$:
$$M(x) = \int_{0}^{x}V(x')dx'=\left\{\begin{matrix} M_1(x), & 0<x<l_B \\ M_2(x), & l_B<x<l_C \\ M_3(x), & l_C<x<L \end{matrix}\right.$$where
$M_1(x)=\int_{0}^{x}-w_0x'\;dx'$
$M_2(x)= M_1(l_B)+\int_{l_B}^{x}\left (-w_0x' -F_B \right )\;dx'$
$M_3(x)= M_2(l_C)+\int_{l_C}^{x}\left (-w_0x' -F_B -F_C \right )\;dx'$
Thus we have
$M_1(x)= -\tfrac{1}{2}w_0x^2$
$ \begin{align} M_2(x) & = -\tfrac{1}{2}w_0l_B^2 + \left [ -\tfrac{1}{2}w_0x'^2-F_B x' \right ]_{l_B}^{x} \\ & = -\tfrac{1}{2}w_0x^2 -F_B x + F_B l_B\\ \end{align}$
$ \begin{align} M_3(x) & = -\tfrac{1}{2}w_0l_C^2 +F_B(l_B-l_C) + \left [ -\tfrac{1}{2}w_0x'^2-(F_B+F_C) x' \right ]_{l_C}^{x} \\ & = -\tfrac{1}{2}w_0x^2 -(F_B+F_C) x + F_B l_B + F_C l_C\\ \end{align}$
W = 10.0 # kN
lB = 1.3 # m
lC = lB + 2.7 # m
L = lC + 1.5 # m
lE = 2.5 # m
w0 = 1.0 # kN/m
FC = (lE-lB)/(lC-lB) * W
FB = W - FC
# graph functions:
x1 = linspace(0.,lB,100)
x2 = linspace(lB,lC,100)
x3 = linspace(lC, L,100)
V1 = -w0*x1
V2 = -w0*x2 - FB
V3 = -w0*x3 - FB - FC
grid()
linestyle = {'color':'red', 'linewidth':2}
plot( x1, V1, **linestyle)
plot( [x1[-1],x2[0]], [V1[-1],V2[0]], **linestyle) # vertical connecting line
plot( x2, V2, **linestyle)
plot( [x2[-1],x3[0]], [V2[-1],V3[0]], **linestyle) # vertical connecting line
plot( x3, V3, **linestyle)
xlabel('$x$ (m)')
ylabel('$V(x)$ (kN)')
M1 = -0.5*w0*x1**2
M2 = -0.5*w0*x2**2 - FB*x2 + FB*lB
M3 = -0.5*w0*x3**2 - (FB+FC)*x3 + FB*lB + FC*lC
grid()
plot( x1, M1, **linestyle)
plot( x2, M2, **linestyle)
plot( x3, M3, **linestyle)
xlabel('$x$ (m)')
ylabel('$M(x)$ (kN-m)')
w1 = 4.8 # kN/m
L = 2.55 *2 # m (total length)
$w(x) = w_1\frac{x}{L} + A_y\delta(x) + B_y\delta(x-\frac{L}{2}) $
where $\delta(x)$ is the Dirac delta function.
$V(x)= Ay - \frac{w_1}{2L}x^2+By H(x-\frac{L}{2})$
where $H(x)$ is the Heaviside step function.
$M(x)=\left\{\begin{matrix} A_yx-\frac{w_1}{6L}x^3 & 0<x< \frac{L}{2}\\ A_yx-\frac{w_1}{6L}x^3 + B_y(x-\frac{L}{2}) & \frac{L}{2}<x< L \end{matrix}\right.$
F = 0.5*w1*L
By = F*4/3
Ay = F - By
v0 = Ay
v1 = 0.
v2 = -w1/2/L
m0 = 0.
m1 = Ay
m2 = 0.
m3 = -w1/(6*L)
print ('answer:')
print (' V=',v0,' + (',v2,')x^2 for 0<x<',L/2)
print (' M=(',m1,')x + (',m3,')x^3 for 0<x<',L/2)
v0 = Ay + By
x = arange(L/2,L,0.1)
v = v0 + v1*x + v2*x**2
grid()
plot( x, v, color='blue')
xlabel('$x$ (m)')
ylabel('$V(x)$ (kN)')
m = m0 + m1*x + m2*x**2 + m3*x**3 + By*(x-L/2)
grid()
plot( x, m, color='blue')
xlabel('$x$ (m)')
ylabel('$M(x)$ (kN-m)')