代写 matlab ES2D5/ES3C3 assignment 2019

ES2D5/ES3C3 assignment 2019
The assignment consists of two parts. Part (1) is straightforward and part (2) requires more thinking. The report should contain stiffness matrix, displacement plots, the value of the maximum force in (1), and short but written in complete English sentences explanatory notes. The MATLAB script used for calculations should be attached so that the marker can run it. Coordinates of the axis used in the assignment are parts of your student ID number.
Consider a planar pin-jointed frame shown in the figure above.
The frame consists of 8 spokes connected at their end points (pins 1 to 8) by links of equal length when not under load.
Initially, the outer points of the frame are positioned at the circle of radius R0 and the centre at (0,0). Spokes are connected at the axis point, pin 9, with co-ordinates (xA,yA). The top and neighbouring joints (1 and 2) are fixed.
Then, a vertical load F is applied to the lowest joint.
Use MATLAB to carry out the following tasks. The script is provided with some bits replaced by ### which you should fill in. All the necessary information can be inferred from Megson, Chapter 17.
(1) Construct stiffness matrices of individual links and use them to populate the system stiffness matrix. Check that the matrix looks reasonable at least visually. Explain why.
Find displacements of joints under the applied load and present the corresponding plot. Check that the plot looks reasonable at least visually. Write a sentence or two to explain the observed.
Find, to 3 s.f., the load at which one of the links fails. Does it feel reasonable? (50 marks)
(2) Exclude the failed link from calculation by artificially setting its stiffness to zero and describe what happens to the system next. Does it look reasonable? Write a sentence or two to explain.
Why excluding the link is not always the correct procedure? Alter the script to address the deficiency atleastapproximately. Describetheresult. (50marks)
Consider the system with R0 = 1 m, all links are the mild steel beams of 1 cm diameter. The Young¡¯s modulus of the steel is 210 GPa, its Yield strength is 210 MPa. The axis position is (xA,yA) where
xA = 0.*** / 2, where *** are last 3 digits of your student number;
yA = 0.*** / 2, where *** are 6th, 5th, and 4th from last digits of your student number.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% STUDENT ID 1456923 Defining system parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NSpokes = 8; % number of spokes
NJoints = NSpokes + 1; % number of joints
NLinks = 2*NSpokes; % spokes _ edge links
R0 = 1; % circle radius
Dspoke = 0.01; % spoke diameter, m
Douter = 0.01; % diameter of outer links, m
E = 210e9; %Pa, mild steel Young’s modulus
sigma_Yield = 210e6; %Pa, mild steel ultimate strength
xA = 0.923 / 2; % x of the centre, last 3 digits of the student number divided by 2
yA = 0.456 / 2; % y of the centre, 6, 5, 4th from last digits of the student number divided by 2 Fapplied = 409; % N, force applied to stress the system
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Calculating parameters of individual links and joints %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Spoke_phi = linspace(0,2*pi()*(1-1/NSpokes),NSpokes) + pi()/2; % angle of spokes’ fixing locations Joint_x0 = [R0 * cos(Spoke_phi) xA]’; % x coordinates of Joints, N outer and 1 central
Joint_y0 = [R0 * sin(Spoke_phi) yA]’; % y coordinates of Joints, N outer and 1 central
% Now, let the links 1…N are spokes, links (N+1)…2*N are the outer connections
Link_i = [1:NSpokes 1:NSpokes]; % spokes start at outer points, connecting links start where spokes start Link_j = [ones(1,NSpokes)*NJoints 2:NSpokes 1];
% spokes end at the axis, outer links end at the beginning of the next spoke
Link_theta = atan2(Joint_y0(Link_j) – Joint_y0(Link_i), Joint_x0(Link_j) – Joint_x0(Link_i));
% spokes “begin” at the system edge and “end” in the centre
Link_la = cos(Link_theta); % lambda in stiffness matrix of a member
Link_mu = sin(Link_theta); % mu in stiffness matrix of a member
Link_L0 = sqrt( (Joint_x0(Link_j) – Joint_x0(Link_i)).^2 + (Joint_y0(Link_j) – Joint_y0(Link_i)).^2 );
% length of links
Spoke_D = ones(NSpokes,1)*Dspoke; % spoke diameter, m
Outer_D = ones(NSpokes,1)*Douter; % outer link diameter, m
Link_A = pi()/4*[Spoke_D.^2 ; Outer_D.^2]; % links cross-section, spokes then outer ones Link_Stf = Link_A*E./Link_L0;
Link_I = ********************; % second moment for buckling
Link_Fmin = – pi()^2 * E * Link_I / 4 ./ Link_L0.^2; % buckling on compression

Link_Fmax = Link_A * sigma_Yield; % breaking on tension
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Composing stiffness matrix of the system and force vector %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Joint_Force = zeros(2*NJoints,1); Joint_Force(************) = -Fapplied;
% force vector, negative vertical to the (NSpokes/2 + 1)st spoke STIFFNESS = zeros(2*NJoints,2*NJoints); % stiffness matrix
for kLink = 1: **** % populating the global stiffness matrix
i0 = (Link_i(kLink)-1)*2; % row after which the node i begins j0 = (Link_j(kLink)-1)*2; % row after which the node j begins la = Link_la(kLink); % cos(theta) for the current spoke
mu = Link_mu(kLink); % sin(theta) for the current spoke
mtrx = Link_Stf(kLink)*[ ************************ ];
% 2 X 2 part of the stiffness matrix for the current link, see Megson (17.23) which contains an error
STIFFNESS((i0+1):(i0+2),(i0+1):(i0+2)) = STIFFNESS((i0+1):(i0+2),(i0+1):(i0+2)) **** mtrx; STIFFNESS((i0+1):(i0+2),(j0+1):(j0+2)) = STIFFNESS((i0+1):(i0+2),(j0+1):(j0+2)) **** mtrx; STIFFNESS((j0+1):(j0+2),(i0+1):(i0+2)) = STIFFNESS((j0+1):(j0+2),(i0+1):(i0+2)) **** mtrx; STIFFNESS((j0+1):(j0+2),(j0+1):(j0+2)) = STIFFNESS((j0+1):(j0+2),(j0+1):(j0+2)) **** mtrx;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Calculating displacements from known forces
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
STIFFNESS_cut = STIFFNESS(5:end,5:end); % removing rows and columns corresponding to zero displacements F_cut = Joint_Force(5:end); % removing forces applied to joints with zero displacements %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% w_cut = STIFFNESS_cut \ F_cut; % CORE OPERATION: SOLVING TO FIND DEFORMATIONS %%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% w = [0;0;0;0;w_cut]; % completing deformation vector with zeroes
Joint_Force = ****; % calculating force including fixed joints (use w and STIFFNESS)
Joint_x = Joint_x0 + w(1:2:end); % x of joints with deformations
Joint_y = Joint_y0 + w(2:2:end); % y of joints with deformations
Link_L = sqrt( (Joint_x(Link_j) – Joint_x(Link_i)).^2 + (Joint_y(Link_j) – Joint_y(Link_i)).^2 );

% new length of links
Link_F = (Link_L-Link_L0).*Link_Stf; % force in the link
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Plotting results
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
WSTRETCH = 2000; % stretch the shown deformations to make them visible
Joint_xD = Joint_x0 + w(1:2:end)*WSTRETCH; % x with deformations stretched WSTRETCH times Joint_yD = Joint_y0 + w(2:2:end)*WSTRETCH; % y with deformations stretched WSTRETCH times
figure(33);
clf;
plot(Joint_x0(1),Joint_y0(1),’b.’,’markersize’,30); % fixed joint
hold on; axis equal; axis(R0*1.3*[-1 1 -1 1]); plot(Joint_x0(2),Joint_y0(2),’b.’,’markersize’,30); % fixed joint plot(Joint_x0(NSpokes/2+1),Joint_y0(NSpokes/2+1),’b.’,’markersize’,30); % loaded joint for kLink = 1:NLinks % plotting links
if Link_Stf(kLink)>1e-20, % only plotting existing links
clr = [(max((Link_F))-(Link_F(kLink))) (Link_F(kLink)-min(Link_F)) 0]/(max((Link_F))-min((Link_F)));
% colour coding: tension GREENer, compression REDer
if (Link_F(kLink) > Link_Fmax(kLink)) || (Link_F(kLink) < Link_Fmin(kLink)), lntype = '--'; else, lntype = '-'; end; % dashed line if the link fails plot([Joint_x0(Link_i(kLink)) Joint_x0(Link_j(kLink))], ... [Joint_y0(Link_i(kLink)) Joint_y0(Link_j(kLink))],'-','color',[0.7 0.7 0.7]); plot([Joint_xD(Link_i(kLink)) Joint_xD(Link_j(kLink))], ... [Joint_yD(Link_i(kLink)) Joint_yD(Link_j(kLink))],lntype,'linewidth',2,'color',clr); text((Joint_x0(Link_i(kLink))+Joint_x0(Link_j(kLink)))/2-0.05, ... (Joint_y0(Link_i(kLink))+Joint_y0(Link_j(kLink)))/2,num2str(kLink),'fontsize',16); % captions of links end end plot(Joint_xD,Joint_yD,'k.','markersize',15); for kJoint = 1:NJoints % signing joint numbers text(Joint_x0(kJoint)*1.12-0.05,Joint_y0(kJoint)*1.1,num2str(kJoint),'color','b','fontsize',20); end plot(Joint_xD(NSpokes/2+1),Joint_yD(NSpokes/2+1),'r.','markersize',30); xlabel('x'); ylabel('y'); set(gca,'fontsize',16,'linewidth',1);