Está en la página 1de 26

>> %PROGRAMA PARA CALCULO DE RETICULADOS PLANOS CON CARGAS PUNTUALES EN NODOS

%Y DISTRIBUIDAS UNIFORMEMENTE

b=zeros(1);

AA=0;

BB=0;

CC=0;

DD=0;

EE=0;

E=zeros(1,b);

I=zeros(1,b);

A=zeros(1,b);

n=zeros(1);

P=zeros(n,2);

S=zeros(b,2);

deltax=0; deltay=0;

fprintf('ingrese numero de barras\n');

b=input('');
fprintf('ingrese numero de nodos\n');

n=input('');

for j=1:b

fprintf('ingrese coef. de elasticidad de barra %d\n',j);

E(j)=input('');

fprintf('ingrese seccion de barra %d\n',j);

A(j)=input('');

fprintf('ingrese momento de inercia de barra %d\n',j);

I(j)=input('');

end

for i=1:n

for j=1:2

fprintf('ingrese coordenada de punto %d de nodo %d\n',j,i);

P(i,j)=input('');

end

end

for i=1:b
for j=1:2

fprintf('ingrese punto %d de barra %d\n',j,i);

S(i,j)=input('');

end

end

M=zeros(b);

R=zeros(b);

L=zeros(b,1);

GLD=zeros(b,6);

for i=1:b

for j=1:6

fprintf('ingrese grado de libertad %d de barra %d\n',j,i);

GLD(i,j)=input('');

end

end

%%matriz de rotacion%%

T1=zeros(6);
KK=zeros(6);

K=zeros(3*n);

KT=zeros(3*n);

K1=zeros(6);

QQ=zeros(3*n,1);

for i=1:b

K=zeros(3*n);

deltax=P(S(i,2),1)-P(S(i,1),1);

deltay=P(S(i,2),2)-P(S(i,1),2);

l=(deltax^2+deltay^2)^0.5;

M(i,1)=deltax;

M(i,2)=deltay;

R(i,1)=deltax/l;

R(i,2)=deltay/l;

L(i,1)=l;

T1=[R(i,1) R(i,2) 0 0 0 0;-R(i,2) R(i,1) 0 0 0 0; 0 0 1 0 0 0;0 0 0 R(i,1) R(i,2) 0;0 0 0 -R(i,2) R(i,1) 0;0 0 0 0 0 1];

display(T1);
AA=E(1,i)*A(1,i)/L(i,1);

BB=12*E(1,i)*I(1,i)/L(i,1)^3;

CC=6*E(1,i)*I(1,i)/L(i,1)^2;

DD=4*E(1,i)*I(1,i)/L(i,1);

EE=2*E(1,i)*I(1,i)/L(i,1);

KK=[AA 0 0 -AA 0 0;0 BB CC 0 -BB CC;0 CC DD 0 -CC EE;-AA 0 0 AA 0 0;0 -BB -CC 0 BB -CC;0 CC EE 0 -CC DD];

K1=T1'*KK*T1;

display(K1);

K(GLD(i,:),GLD(i,:))=K1;

KT=KT+K;

end

disp(KT);

Q=zeros(3*n,1);

QP=zeros(3*n,1);

D=zeros(3*n,1);

LIBRES=0;

RESTRINGIDOS=0;
fprintf('ingrese cantidad de grados libres %d\n',i);

LIBRES=input('');

RESTRINGIDOS=(3*n)-LIBRES;

GDLL=zeros(1,LIBRES);

GDLR=zeros(1,RESTRINGIDOS);

for i=1:LIBRES

fprintf('ingrese grados libres %d\n',i);

GDLL(i)=input('');

end

for i=1:RESTRINGIDOS

fprintf('ingrese grados restringidos %d\n',i);

GDLR(i)=input('');

end

for i=1:3*n

fprintf('ingrese las cargas de grado de libertad %d\n',i);

QP(i)=input('');

end
nd=0;

L=10;

T1=1;

QQ=zeros(3*n,1);

fprintf('ingrese cacantidad de barras con cargas distribuidas o intermedias\n');

nd=input('');

if nd>0

DIST=zeros(1,nd);

QDD=zeros(6,nd);

QD=zeros(1,6);

for k=1:nd

fprintf('ingrese numero de barra con carga distribuida %d\n',k);

DIST(1,k)=input('');

end

for i=1:nd

a=DIST(i);
deltax=P(S(a,2),1)-P(S(a,1),1);

deltay=P(S(a,2),2)-P(S(a,1),2);

l=(deltax^2+deltay^2)^0.5;

M(a,1)=deltax;

M(a,2)=deltay;

R(a,1)=deltax/l;

R(a,2)=deltay/l;

L(a,1)=l;

T1=[R(a,1) R(a,2) 0 0 0 0;-R(a,2) R(a,1) 0 0 0 0; 0 0 1 0 0 0;0 0 0 R(a,1) R(a,2) 0;0 0 0 -R(a,2) R(a,1) 0;0 0 0 0 0 1];

fprintf('ingrese carga constante de barra %d\n',a);

qd=input('');

QDD(:,i)=[0 qd*L(a,1)/2 qd*L(a,1)^2/12 0 qd*L(a,1)/2 -qd*L(a,1)^2/12]';

QD=T1'*QDD(:,i);

Q(GLD(a,:))=QD;

QQ(GLD(a,:))=Q(GLD(a,:))+QQ(GLD(a,:));

end

Q=zeros(2*n,1);
else fprintf('no hay cargas distribuidas\n');

end

Q=QQ+QP; %VECTOR DE REACCIONES

K11=zeros(LIBRES);

K12=zeros(LIBRES,RESTRINGIDOS);

K21=zeros(RESTRINGIDOS,LIBRES);

K22=zeros(RESTRINGIDOS,RESTRINGIDOS);

QL=zeros(LIBRES,1);

DL=zeros(LIBRES,1);

QR=zeros(RESTRINGIDOS,1);

K11=KT(GDLL,GDLL);

K12=KT(GDLL,GDLR);

K21=KT(GDLR,GDLL);

K22=KT(GDLR,GDLR);

QL=Q(GDLL);

DL=inv(K11)*QL;

QR=K21*DL;
Q(GDLR)=QR;

D(GDLL)=DL;

disp(D);

disp(Q);

q=zeros(6,b);

TR=zeros(1,6);

for i=1:b

deltax=P(S(i,2),1)-P(S(i,1),1);

deltay=P(S(i,2),2)-P(S(i,1),2);

l=(deltax^2+deltay^2)^0.5;

M(i,1)=deltax;

M(i,2)=deltay;

R(i,1)=deltax/l;

R(i,2)=deltay/l;

L(i,1)=l;

T1=[R(i,1) R(i,2) 0 0 0 0;-R(i,2) R(i,1) 0 0 0 0; 0 0 1 0 0 0;0 0 0 R(i,1) R(i,2) 0;0 0 0 -R(i,2) R(i,1) 0;0 0 0 0 0 1];

AA=E(1,i)*A(1,i)/L(i,1);
BB=12*E(1,i)*I(1,i)/L(i,1)^3;

CC=6*E(1,i)*I(1,i)/L(i,1)^2;

DD=4*E(1,i)*I(1,i)/L(i,1);

EE=2*E(1,i)*I(1,i)/L(i,1);

KK=[AA 0 0 -AA 0 0;0 BB CC 0 -BB CC;0 CC DD 0 -CC EE;-AA 0 0 AA 0 0;0 -BB -CC 0 BB -CC;0 CC EE 0 -CC DD];

TR=GLD(i,:);

q(:,i)=KK*T1*D(TR);

end

disp(q);%VETOR CARGAS EN CADA BARRA SIN CORRECCION

for i=1:nd

q(:,DIST(i))=q(:,DIST(i))-QDD(:,i);

end

fprintf('Matriz de rigidez global enlazada\n');

disp(KT);

fprintf('Matriz de desplazamientos\n');

disp(D);

fprintf('Matriz de cargas reacciones\n');


disp(Q);

fprintf('Matriz de cargas en barras\n');

disp(q);

ingrese numero de barras

ingrese numero de nodos

ingrese coef. de elasticidad de barra 1

200*10^9

ingrese seccion de barra 1

.001

ingrese momento de inercia de barra 1

2*10^-8

ingrese coef. de elasticidad de barra 2

200*10^9

ingrese seccion de barra 2

.001
ingrese momento de inercia de barra 2

2*10^-8

ingrese coordenada de punto 1 de nodo 1

ingrese coordenada de punto 2 de nodo 1

ingrese coordenada de punto 1 de nodo 2

.75

ingrese coordenada de punto 2 de nodo 2

.75

ingrese coordenada de punto 1 de nodo 3

ingrese coordenada de punto 2 de nodo 3

.75

ingrese punto 1 de barra 1

ingrese punto 2 de barra 1


2

ingrese punto 1 de barra 2

ingrese punto 2 de barra 2

ingrese grado de libertad 1 de barra 1

ingrese grado de libertad 2 de barra 1

ingrese grado de libertad 3 de barra 1

ingrese grado de libertad 4 de barra 1

ingrese grado de libertad 5 de barra 1

ingrese grado de libertad 6 de barra 1

6
ingrese grado de libertad 1 de barra 2

ingrese grado de libertad 2 de barra 2

ingrese grado de libertad 3 de barra 2

ingrese grado de libertad 4 de barra 2

ingrese grado de libertad 5 de barra 2

ingrese grado de libertad 6 de barra 2

T1 =

0.7071 0.7071 0 0 0 0

-0.7071 0.7071 0 0 0 0
0 0 1.0000 0 0 0

0 0 0 0.7071 0.7071 0

0 0 0 -0.7071 0.7071 0

0 0 0 0 0 1.0000

K1 =

1.0e+07 *

9.4301 9.4261 -0.0015 -9.4301 -9.4261 -0.0015

9.4261 9.4301 0.0015 -9.4261 -9.4301 0.0015

-0.0015 0.0015 0.0015 0.0015 -0.0015 0.0008

-9.4301 -9.4261 0.0015 9.4301 9.4261 0.0015

-9.4261 -9.4301 -0.0015 9.4261 9.4301 -0.0015

-0.0015 0.0015 0.0008 0.0015 -0.0015 0.0015


T1 =

-1 0 0 0 0 0

0 -1 0 0 0 0

0 0 1 0 0 0

0 0 0 -1 0 0

0 0 0 0 -1 0

0 0 0 0 0 1

K1 =

1.0e+08 *

2.6667 0 0 -2.6667 0 0

0 0.0011 -0.0004 0 -0.0011 -0.0004


0 -0.0004 0.0002 0 0.0004 0.0001

-2.6667 0 0 2.6667 0 0

0 -0.0011 0.0004 0 0.0011 0.0004

0 -0.0004 0.0001 0 0.0004 0.0002

1.0e+08 *

0.9430 0.9426 -0.0002 -0.9430 -0.9426 -0.0002 0 0 0

0.9426 0.9430 0.0002 -0.9426 -0.9430 0.0002 0 0 0

-0.0002 0.0002 0.0002 0.0002 -0.0002 0.0001 0 0 0

-0.9430 -0.9426 0.0002 3.6097 0.9426 0.0002 -2.6667 0 0

-0.9426 -0.9430 -0.0002 0.9426 0.9441 -0.0006 0 -0.0011 -0.0004

-0.0002 0.0002 0.0001 0.0002 -0.0006 0.0004 0 0.0004 0.0001

0 0 0 -2.6667 0 0 2.6667 0 0

0 0 0 0 -0.0011 0.0004 0 0.0011 0.0004

0 0 0 0 -0.0004 0.0001 0 0.0004 0.0002


ingrese cantidad de grados libres 2

ingrese grados libres 1

ingrese grados libres 2

ingrese grados libres 3

ingrese grados restringidos 1

ingrese grados restringidos 2

ingrese grados restringidos 3

ingrese grados restringidos 4

ingrese grados restringidos 5


8

ingrese grados restringidos 6

ingrese las cargas de grado de libertad 1

ingrese las cargas de grado de libertad 2

ingrese las cargas de grado de libertad 3

ingrese las cargas de grado de libertad 4

ingrese las cargas de grado de libertad 5

-10000

ingrese las cargas de grado de libertad 6

-250

ingrese las cargas de grado de libertad 7

0
ingrese las cargas de grado de libertad 8

ingrese las cargas de grado de libertad 9

ingrese cacantidad de barras con cargas distribuidas o intermedias

ingrese numero de barra con carga distribuida 1

ingrese carga constante de barra 2

-50000

-0.0000

0.0001

-0.0711

0
0

1.0e+03 *

-3.5600

-5.7086

-0.5375

8.7500

-2.5938

3.5600

-3.0414

-0.7612

1.0e+03 *
-6.5539 3.5600

-1.5193 -3.0414

-0.5375 -1.5198

6.5539 -3.5600

1.5193 3.0414

-1.0739 -0.7612

Matriz de rigidez global enlazada

1.0e+08 *

0.9430 0.9426 -0.0002 -0.9430 -0.9426 -0.0002 0 0 0

0.9426 0.9430 0.0002 -0.9426 -0.9430 0.0002 0 0 0

-0.0002 0.0002 0.0002 0.0002 -0.0002 0.0001 0 0 0

-0.9430 -0.9426 0.0002 3.6097 0.9426 0.0002 -2.6667 0 0

-0.9426 -0.9430 -0.0002 0.9426 0.9441 -0.0006 0 -0.0011 -0.0004

-0.0002 0.0002 0.0001 0.0002 -0.0006 0.0004 0 0.0004 0.0001

0 0 0 -2.6667 0 0 2.6667 0 0
0 0 0 0 -0.0011 0.0004 0 0.0011 0.0004

0 0 0 0 -0.0004 0.0001 0 0.0004 0.0002

Matriz de desplazamientos

-0.0000

0.0001

-0.0711

Matriz de cargas reacciones

1.0e+03 *
-3.5600

-5.7086

-0.5375

8.7500

-2.5938

3.5600

-3.0414

-0.7612

Matriz de cargas en barras

1.0e+04 *

-0.6554 0.3560

-0.1519 1.5709

-0.0538 0.0824

0.6554 -0.3560
0.1519 2.1791

-0.1074 -0.3105

También podría gustarte