Cer Chas

Post on 09-Sep-2015

220 views 0 download

description

Cer Chas

Transcript of Cer Chas

  • 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