Finite Element solution using BEAM2D elements

Replacement rules for parameters

parameters={
l->1.3,
d1->0.04,
d2->0.08,
p1->700,
M1-> 300,
F1->900,
E1->215 (10^9)
};

Using replacement rules

(d1+d2)/.parameters

Stiffness mx and load vector of BEAM2D element

Kbeam=((2 Iz E1)/(L^3)){{6,3L,-6,3L},
{3L,2(L^2),-3L,(L^2)},
{-6,-3L,6,-3L},
{3L,(L^2),-3L,2(L^2)}};
Kbeam//MatrixForm//TraditionalForm

Fbeam={Vi,Mi,Vj,Mj}+((p L)/12){6,L,6,-L};
Fbeam//MatrixForm//TraditionalForm

Stiffness mx and load vector for each elements

Kbeam//MatrixForm

K1=Kbeam/.{L->1.5l,Iz->(d2^4)π/64}/.parameters;
K1//MatrixForm

K2=Kbeam/.{L->1.5l,Iz->(d2^4)π/64}/.parameters;
K2//MatrixForm
K3=Kbeam/.{L->l,Iz->(d1^4)π/64}/.parameters;
K3//MatrixForm
K4=Kbeam/.{L->l,Iz->(d1^4)π/64}/.parameters;
K4//MatrixForm

f1=Fbeam/.{L->1.5l,Vi->FA,Vj->0,Mi->0,Mj->M1,p->-p1}/.parameters;
f1//MatrixForm

f2=Fbeam/.{L->1.5l,Vi->0,Vj->FC,Mi->0,Mj->0,p->-p1}/.parameters;
f2//MatrixForm
f3=Fbeam/.{L->l,Vi->0,Vj->-F1,Mi->0,Mj->0,p->0}/.parameters;
f3//MatrixForm
f4=Fbeam/.{L->l,Vi->0,Vj->0,Mi->0,Mj->0,p->0}/.parameters;
f4//MatrixForm

Global stiffness mx and load vector

Kglob=ConstantArray[0,{10,10}];
Kglob[[{1,2,3,4},{1,2,3,4}]]+=K1;
Kglob[[{3,4,5,6},{3,4,5,6}]]+=K2;
Kglob[[{5,6,7,8},{5,6,7,8}]]+=K3;
Kglob[[{7,8,9,10},{7,8,9,10}]]+=K4;

Kglob//MatrixForm

MatrixPlot[Kglob]

Kglob2=ArrayPad[K1,{0,6}]+ArrayPad[K2,{2,4}]+ArrayPad[K3,{4,2}]+ArrayPad[K4,{6,0}];
Kglob2//MatrixForm

Kglob==Kglob2

Fglob=ArrayPad[f1,{0,6}]+ArrayPad[f2,{2,4}]+ArrayPad[f3,{4,2}]+ArrayPad[f4,{6,0}];
Fglob//MatrixForm

Condensed stiffness mx and solution for unconstrained DoFs

constraints={1,5}

activeDofs=Complement[ Table[i,{i,10}],constraints]

Kcond=Kglob[[activeDofs,activeDofs]];
Kcond//MatrixForm

Fcond=Fglob[[activeDofs]];
Fcond//MatrixForm

Uactive=Inverse[Kcond].Fcond

U=ConstantArray[0,10];
U[[activeDofs]]+=Uactive;
U//MatrixForm

Reaction Forces

Kglob.U//Chop//MatrixForm

Fglob//MatrixForm

Solve@Thread[(Kglob.U)[[constraints]]==Fglob[[constraints]]]

Visualization

xCoords={0,1.5l,3l,4l,5l}
yCoords=ConstantArray[0,5]

xCoords/.parameters

points=Partition[Riffle[xCoords,yCoords],2]/.parameters

Graphics[{
PointSize[0.02],Point/@points,
Blue,Line[points]
}]

Manipulate[
yCoords=λ U[[{1,3,5,7,9}]];
points=Partition[Riffle[xCoords,yCoords],2]/.parameters;
Graphics[{
PointSize[0.02],Point/@points,
Blue,Line[points]
},Axes->True,PlotRange->{-2,2}],
{λ,0,100,Appearance->"Labeled"},SaveDefinitions->True
]