How to program node 3. It is a 3element (spring assembly) 4 element
3 views (last 30 days)
Show older comments
P2 = 1000
P4 = 4000
kel1 = 1000*[1 -1;-1 1]
kel2 = 1000*[1 -1;-1 1]
kel3 = 1000*[1 -1;-1 1]
k = [1000,1000,1000];
elem_con = [1 2;2 3;3 4]
elem = size(elem_con,1)
nodes = elem+1
K = zeros(nodes)
%Forces
F = [0;1000;0;4000]
%Assembly
for i=1:elem
ke = k(i)*[1 -1;-1 1]
node1 = elem_con(i,1);
node2 = elem_con(i,2);
node3 = elem_con(i,3);
K(node1,node1) = K(node1,node1) + ke(1,1)
K(node1,node2) = K(node1,node2) + ke(1,2)
K(node2,node1) = K(node2,node1) + ke(2,1)
K(node2,node2) = K(node2,node2) + ke(2,2)
K(node3,node2) = K(node3,node2) + ke(3,2)
K(node3,node3) = K(node3,node3) + ke(3,3)
end
d = zeros(nodes,1)
d1 = 0;
d(2:4) = K(2:4,2:4)\F(2:4)
F = K*d
del1 = d(1:2)
del2 = d(2:3)
del3 = d(3:4)
fel1 = kel1*del1
fel2 = kel2*del2
fel3 = kel3*del3
Answers (1)
Gyan Vaibhav
on 18 Oct 2023
Hi Karlo,
It seems like you are trying to assemble the global stiffness matrix K for a 3-element spring assembly system and solve for the displacements d and forces F. However, there seems to be a mistake in your code.
You are assuming a 3-node element, but in your element connectivity matrix “elem_con”, you have defined only 2 nodes per element.
Given the provided information, I will assume you have a 1D spring assembly system with 4 nodes and 3 spring elements between them.
You can modify your code as follows:
P2 = 1000;
P4 = 4000;
kel1 = 1000*[1 -1;-1 1];
kel2 = 1000*[1 -1;-1 1];
kel3 = 1000*[1 -1;-1 1];
k = [1000,1000,1000];
elem_con = [1 2;2 3;3 4];
elem = size(elem_con,1);
nodes = elem+1;
K = zeros(nodes);
%Forces
F = [0;P2;0;P4]; % Updated force vector
%Assembly
for i=1:elem
ke = k(i)*[1 -1;-1 1];
node1 = elem_con(i,1);
node2 = elem_con(i,2);
K(node1,node1) = K(node1,node1) + ke(1,1);
K(node1,node2) = K(node1,node2) + ke(1,2);
K(node2,node1) = K(node2,node1) + ke(2,1);
K(node2,node2) = K(node2,node2) + ke(2,2);
end
d = zeros(nodes,1);
d(2:4) = K(2:4,2:4)\F(2:4); % Solve for displacements
F = K*d; % Compute forces
del1 = d(1:2);
del2 = d(2:3);
del3 = d(3:4);
fel1 = kel1*del1; % Compute forces in element 1
fel2 = kel2*del2; % Compute forces in element 2
fel3 = kel3*del3; % Compute forces in element 3
I hope these suggestions help you resolve the issue.
Best regards,
Gyan
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!