Prueba 4.pdf


Rubrica

Pregunta teorica:

$S_{ij}$ la accion requerida en $i$ producto de un desplazamiento unitario en $j$ ciando todos los demas grados de libertad se encuentran restringidos

% Calculo de la rigidez lateral de un portico
% Variacion del Peralte de vigas
clc
clear variables

format longG

% Sistema de unidades [MKS]

% Generamos los nudos y barras del problema
L=[790 850 300]; % Longitud del marco
H=[342 342 342]; % Altura del marco

% Parametros del material
HA=Material(240000,0.2);

% Parametros de las secciones
H_viga=0.01:0.1:100;

Agrietamiento_columna=0.50;
Column=Seccion(50*70,Agrietamiento_columna*50*70^3/12,(5/6)*50*70);

Agrietamiento_viga=0.35;
Beam_base=Seccion(10^5,Agrietamiento_viga*30*65^3/12,(5/6)*30*65);
Beam=repmat(Seccion,1,width(H_viga));
for i=1:width(H_viga)
    % Asumimos que la viga es infinitamente rigida
    Beam(i)=Seccion(10^5,Agrietamiento_viga*30*H_viga(i)^3/12,(5/6)*30*H_viga(i));
end

numero_por_eje=[4 4 4 3];

% Creamos los nudos
nudos=repmat(nudo,sum(numero_por_eje),1);
numero_nudo=1;
for i=1:width(numero_por_eje)
    for j=1:numero_por_eje(i)
        if i==4
            h=sum(H(1:j));
        else
            h=sum(H(1:j-1));
        end
            nudos(numero_nudo,1)=nudo(numero_nudo,[sum(L(1:i-1)),h],["f" "f" "f"],[0 0 0]);
            numero_nudo=numero_nudo+1;
    end
end

% Estabecemos las condiciones de borde
nudos(1,1).condiciones_borde=["r" "r" "r"];
nudos(5,1).condiciones_borde=["r" "r" "r"];
nudos(9,1).condiciones_borde=["r" "r" "r"];

% Establecemos las cargas de nudos
nudos(2,1).load=[6000,0,0];
nudos(3,1).load=[14000,0,0];
nudos(4,1).load=[23000,0,0];

% Creamos las barras para la viga de 65cm
barras_base=repmat(barra,18,1);
% Creamos las columnas
numero_barra=1;
idx=[1 5 9];
for i=1:3
    idx_base=idx(i);
    for j=1:3
        barras_base(numero_barra,1)=barra(nudos(idx_base,1),nudos(idx_base+1,1),HA,Column,["na" "na"]);
        numero_barra=numero_barra+1;
        idx_base=idx_base+1;
    end
end
% Creamos las vigas
idx=[2 3 4];
idx2=[4 4 3];
for i=1:3
    for j=1:3
        barras_base(numero_barra,1)=barra(nudos(idx(i)+4*(j-1),1),nudos(idx(i)+4*(j-1)+idx2(j),1),HA,Beam_base,["na" "na"]);
        barras_base(numero_barra,1)=barras_base(numero_barra,1).Asignar_Carga_Distribuida(-30,-30,90);
        numero_barra=numero_barra+1;
    end
end

% Creamos las barras para todas las vigas
barras=repmat(barra,18,width(H_viga));
for k=1:width(H_viga)
    % Creamos las columnas
    numero_barra=1;
    idx=[1 5 9];
    for i=1:3
        idx_base=idx(i);
        for j=1:3
            barras(numero_barra,k)=barra(nudos(idx_base,1),nudos(idx_base+1,1),HA,Column,["na" "na"]);
            numero_barra=numero_barra+1;
            idx_base=idx_base+1;
        end
    end
    % Creamos las vigas
    idx=[2 3 4];
    idx2=[4 4 3];
    for i=1:3
        for j=1:3
            barras(numero_barra,k)=barra(nudos(idx(i)+4*(j-1),1),nudos(idx(i)+4*(j-1)+idx2(j),1),HA,Beam(k),["na" "na"]);
            barras(numero_barra,k)=barras(numero_barra,k).Asignar_Carga_Distribuida(-30,-30,90);
            numero_barra=numero_barra+1;
        end
    end
end

modelo_base=Modelo(nudos,barras_base);
modelo_base=modelo_base.Calculos();
modelo_base=modelo_base.Resultados_Nudos();
modelo_base=modelo_base.Resultados_Barras();

% Generamos el modelos

modelos=repmat(Modelo,1,width(H_viga));

for i=1:width(H_viga)
    modelos(i)=Modelo(nudos,barras(:,i));
    modelos(i)=modelos(i).Calculos();
    modelos(i)=modelos(i).Resultados_Nudos();
    modelos(i)=modelos(i).Resultados_Barras();
end

% Calculamos los resultados
delta=zeros(4,width(H_viga));
for i=1:width(H_viga)
    delta(1,i)=modelos(i).Nudos(9,1).Dj(1,1);
    delta(2,i)=modelos(i).Nudos(10,1).Dj(1,1);
    delta(3,i)=modelos(i).Nudos(11,1).Dj(1,1);
    delta(4,i)=modelos(i).Nudos(12,1).Dj(1,1);
end

figure
hold on
plot(H_viga,delta(2,:),LineWidth=1.5)
plot(H_viga,delta(3,:),LineWidth=1.5)
plot(H_viga,delta(4,:),LineWidth=1.5)

grid on
title('Desplazamiento del Marco versus Peralte de Viga')
xlabel('Peralte de Viga [cm]')
ylabel('Deformacion [cm]')

figure
hold on

Drift=zeros(3,width(delta));
Drift(1,:)=(5.5/342)*(delta(2,:)-delta(1,:));
Drift(2,:)=(5.5/342)*(delta(3,:)-delta(2,:));
Drift(3,:)=(5.5/342)*(delta(4,:)-delta(3,:));

plot(H_viga,Drift(1,:),LineWidth=1.5)
plot(H_viga,Drift(2,:),LineWidth=1.5)
plot(H_viga,Drift(3,:),LineWidth=1.5)

x=[0 100];
y=[0.020 0.020];
plot(x,y,LineWidth=1.50,LineStyle="--",Color='k')

grid on
title('Deriva del Marco versus Peralte de Viga')
xlabel('Peralte de Viga [cm]')
ylabel('Deriva')

interp1(Drift(1,:),H_viga,0.020)
interp1(Drift(2,:),H_viga,0.020)
interp1(Drift(3,:),H_viga,0.020)

Untitled

Untitled

$$ H_{min-P1}=61.50[cm] $$

$$ H_{min-P2}=84.95[cm] $$

$$ H_{min-P3}=76.63[cm] $$

Por lo tanto el peralte minimo para cumplir derivas es:

$$ H_{min}=85[cm] $$

Los resultados solicitados para un peralte de viga de $65[cm]$ son: