cer chas
DESCRIPTION
Cer ChasTRANSCRIPT
-
AnlisisMatricialdeEstructurasCarlosArmandoDeCastroPayares
DiseodeMarcos:Problemapropuesto porRenMeziat,UniversidaddelosAndes.
Vamosadefinirunmarcocomounaestructuraplanacompuestaporbarrasynodosquecarecendemasaydepesoencomparacinalascargasaplicadasquedebesoportarlaestructura.Laestructurapuedetenerapoyos fijos y apoyos tipo patn que solo las sostienen en una direccin. El problema general esencontrar las fuerzas en cada barra como funcin de las cargas externas que sostiene la estructura lascualesslopuedenactuarsobrelosnodos.
Comoejemploconsideraremosdostiposdemarcos:
Tipo1
Tipo2
Note que los tipos de estructuras dados son modulares, es decir que su forma y diseo se repiteregularmente,paraelprimeroenformadetringulosyparaelsegundoenformadecuadradoscruzadosporladiagonal.Desarrollarunprogramaquefuncioneparacualquieradelosdostiposdeestructurasyrealicelassiguientesoperaciones.
1) Recibadelusuarioeltipodeestructuraelegida:Tipo1oTipo2.2) Recibadelusuarioeltamaodelaestructura,yaseadeTipo1odeTipo2.3) Recibadelusuariolascargasaplicadasencadaunodelosnodosdelaestructuraseleccionadaen
cuantoatipoytamao.4) Calculelasfuerzastransmitidasencadaunodeloselementos.5) Mostraralusuariolasfuerzasencadaelemento.6) Mostraralusuariolasreaccionesenlosapoyos.7) Advertirdelasmximastensionesymximascompresionescalculadas.8) Pedir al usuario el Esfuerzo de Fluencia y el rea de la seccin transversal de unmaterial y
decidirsielmaterialespecificadoesconvenienteonoparalascargasdadas.9) PediralusuarioelmdulodeYoungdelmaterialdelasbarrasparadeterminarlaelongacinen
cadaunadeellas.
Solucin:ElalgoritmoelaboradoenMatlabeselsiguiente:
-
function[Fuerzas,Reacciones,Esfuerzos,Deformaciones,Max_Compresion,Max_Tension]=cerchas
%ElaboradoporCarlosArmandoDeCastroPayares.%CursodeAnlisisNumrico.%UniversidaddelosAndes.
seleccion=input('Tipodecercha(1o2):')
switchseleccion
case1
%Nmerodetringulos:%
n=input('Nmerodetringulos:')
%Nmerodenodos:%
n=n+2
%Matriztopolgica:%
%Nodosgenerales:
fori=1:n2topologica(i,i+1)=1topologica(i,i+2)=1
end
topologica(n1,n)=1
fori=1:nforj=1:n
topologica(j,i)=topologica(i,j)end
end
%Nodosconapoyo:
topologica(1,n+1)=3topologica(n,n+1)=1
fori=2:n1topologica(i,n+1)=0
end
%Matrizdengulos:%
fori=1:2:n2
-
angulos(i,i+1)=pi/3angulos(i,i+2)=0
end
fori=2:2:n2angulos(i,i+1)=pi/3angulos(i,i+2)=0
end
angulos(n1,n)=pi/3
fori=1:nforj=i+1:n
angulos(j,i)=angulos(i,j)+piend
end
%**************************************************************************%LlenadodelamatrizdecoeficientesA:%**************************************************************************
%Barrasdelaestructura.Diagonalsuperior:%
k=1m=1fori=1:n
forj=i+1:niftopologica(i,j)==1
A(2*k1,m)=cos(angulos(i,j))A(2*k,m)=sin(angulos(i,j))m=m+1
endendk=k+1
end
%Diagonalinferior:%
k=1m=1fori=1:n
p=0forj=i+1:n
iftopologica(i,j)==1p=p+1A(2*k1+2*p,m)=A(2*k1,m)A(2*k+2*p,m)=A(2*k,m)m=m+1
endendk=k+1
end
-
%Nodosconapoyo:%
L=length(A(1,:))k=1fori=1:n
iftopologica(i,n+1)~=0switchtopologica(i,n+1)case1
A(2*i,L+k)=1k=k+1
case2A(2*i1,L+k)=1k=k+1
case3A(2*i,L+k+1)=1A(2*i1,L+k)=1k=k+2
endend
end
case2
%Nmerodecuadrados:%
n=input('Nmerodecuadrados:')
%Nmerodenodos:%
n=4+2*(n1)
%Matriztopolgica:%
%Nodosgenerales:
fori=1:n2topologica(i,i+1)=1topologica(i,i+2)=1
end
topologica(n1,n)=1
fori=1:nforj=1:n
topologica(j,i)=topologica(i,j)end
end
%Nodosconapoyo:
topologica(1,n+1)=0topologica(2,n+1)=3topologica(n,n+1)=1
-
fori=3:n1topologica(i,n+1)=0
end
%Matrizdengulos:%
fori=1:2:n3angulos(i,i+1)=pi/2angulos(i,i+2)=0
end
fori=2:2:n2angulos(i,i+1)=pi/4angulos(i,i+2)=0
end
angulos(n1,n)=pi/2
fori=1:nforj=i+1:n
angulos(j,i)=angulos(i,j)+piend
end
%**************************************************************************%LlenadodelamatrizdecoeficientesA:%**************************************************************************
%Barrasdelaestructura.Diagonalsuperior:%
k=1m=1fori=1:n
forj=i+1:niftopologica(i,j)==1
A(2*k1,m)=cos(angulos(i,j))A(2*k,m)=sin(angulos(i,j))m=m+1
endendk=k+1
end
%Diagonalinferior:%
k=1m=1fori=1:n
p=0forj=i+1:n
iftopologica(i,j)==1
-
p=p+1A(2*k1+2*p,m)=A(2*k1,m)A(2*k+2*p,m)=A(2*k,m)m=m+1
endendk=k+1
end
%Nodosconapoyo:%
L=length(A(1,:))k=1fori=1:n
iftopologica(i,n+1)~=0switchtopologica(i,n+1)case1
A(2*i,L+k)=1k=k+1
case2A(2*i1,L+k)=1k=k+1
case3A(2*i,L+k+1)=1A(2*i1,L+k)=1k=k+2
endend
end
otherwise
'Seleccinnovlida.'
end
%Lecturadelascargas:%
['Cargasverticalespositivashaciaabajo,cargashorizontalespositivashacialaizquierda.']fori=1:n
iftopologica(i,n+1)==0Fx(i)=input(['Cargahorizontalenelnodo'num2str(i)':'])Fy(i)=input(['Cargaverticalenelnodo'num2str(i)':'])else
Fx(i)=0Fy(i)=0
endend
fori=1:nb(2*i1,1)=Fx(i)
end
fori=1:nb(2*i,1)=Fy(i)
-
end
%**************************************************************************%Solucindelsistema:%**************************************************************************
X=A^1*b
fori=1:length(X)3Fuerzas(i)=X(i)
endfori=1:3
Reacciones(i)=X(length(X)(3i))end
%**************************************************************************%Lecturadelaspropiedadesdelmaterial:%**************************************************************************
E=input('MdulodeYoungdelmaterialE=')Ar=input('reatransversaldelasbarrasAr=')Sy=input('EsfuerzodefluenciadelmaterialSy=')
Esfuerzos=1/Ar*FuerzasDeformaciones=Esfuerzos/E
%**************************************************************************%Valoresmximosdelasfuerzas:%**************************************************************************
Max_Compresion=Fuerzas(1)Max_Tension=Fuerzas(1)
fori=2:length(Fuerzas)ifabs(Fuerzas(i))>abs(Max_Compresion)&&Fuerzas(i)abs(Max_Tension)&&Fuerzas(i)>=0Max_Tension=Fuerzas(i)end
end
w=0i=1whilei
-
ifw==0['Elmaterialesadecuado.']
else['Elmaterialesinadecuado.Elesfuerzosuperaellmite
elstico.']end