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

7 Ansichten (letzte 30 Tage)
Karlo
Karlo am 22 Nov. 2022
Beantwortet: Gyan Vaibhav am 18 Okt. 2023
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

Antworten (1)

Gyan Vaibhav
Gyan Vaibhav am 18 Okt. 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

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by