How to program node 3. It is a 3element (spring assembly) 4 element

4 次查看(过去 30 天)
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

回答(1 个)

Gyan Vaibhav
Gyan Vaibhav 2023-10-18
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

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

产品


版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by