martes, 25 de octubre de 2011

Memoria de calculo sismico (programa)



' sism1.bas
'programa escrito en Turbobasic.Algunas instrucciones podrian no funcionar en otros basic mas modernos por lo que habria que adaptar el programa. 

cls                           'esta primera instruccion limpia la pantalla
dim J(3,10)
dim num(3)
dim den(3)
dim N(3,10)

loca$="xxx"             'aqui sustituimos xxx por el nombre de la localidad que estudiamos
                               'continuamos con los datos del proyecto concreto:
Ab=0.05                 ' coeficiente de la localidad
ndp=8                     ' numero total de plantas
q=0.46                    ' carga por m2 en T.
data 100,100,100,100,100,100,100,100    'superficies de cada una de las 8 plantas de este proyecto.    
data 3,6,9,12,15,18,21,24                          'alturas de las 8 plantas, desde la rasante.

for n= 1 to ndp                                           'bucle para leer las superficies de cada planta
  read sup(n)
  m(n)=sup(n)*q                               'calcula la carga de cada planta
next
for n= 1 to ndp                
  read h(n)                                        'bucle para leer la altura de cada planta
next
ht=h(ndp)   

mi=1                                                ' modo de vibracion considerado
pi=4*atn(1)                                     'calculo del valor de la constante pi
                                                       ' (4 veces el valor del arco en radianes  cuya tangente vale 1)



' calculos


' calculo del coeficiente de forma de cada modo de vibracion y planta
for k=1 to ndp
for i=1 to mi
J(i,k)=sin((2*i-1)*pi*h(k)/(2*ht))
next i
next k

' calculo del Factor de distribucion para cada modo de vibracion y planta


for i=1 to mi
  num(i)=0  
  den(i)=0
  for k=1 to ndp
    num(i)=num(i)+m(k)*J(i,k)
    den(i)=den(i)+m(k)*J(i,k)^2
  next k
next i

for i=1 to mi
  for k=1 to ndp
    N(i,k)=J(i,k)*num(i)/den(i)
  next k
next i




opcion1:
cls
color 5,7
locate 15,14:print "  Pantalla/impresora/disco/salir (/i/d/s):  "
locate 15,61:print " "
locate 15,61:x$=input$(1)
if x$="" then x$="p"
select case x$
  case "p": open "scrn:" for output as #1
  case "i": open "lpt1:" for output as #1
  case "d": input "Nombre del fichero",ndf$
                open ndf$ for output as #1
  case "s": cls:end
  case "c":cls:while inkey$="":wend:goto opcion1
  case "x":color 1,2:cls:shell :goto opcion1
  case else: goto opcion1
end select
cls



' pantalla


print #1, " ANEXO DE MEMORIA"
print #1,
print #1, " CUMPLIMIENTO DE NORMA NCSE-94"
print #1,
print #1," ------------------"
print #1,
print #1,"De acuerdo con la norma NCSE-94, esta se aplica a todos los"
print #1,"edificios cuando la aceleracion sismica de calculo Ac sea mayor o"
print #1,"igual a 0.06 (Ac>=0.06)."
print #1,"En el Mapa de peligrosidad sismica de Espa¤a tenemos que para "
Ab$=str$(Ab)
print #1,loca$+" la acelaracion sismica basica es ";Ab;" (Ab= ";Ab
print #1,"Segun el apartado 2.2 de la citada norma la acelaracion sismica"
print #1,"de calculo se obtiene multiplicando el coeficiente de riesgo (p)"
print #1,"por la aceleracion sismica basica (Ab):"
print #1," Ac = p x Ab"
print #1,"En este mismo articulo se define el coeficiente de riesgo en"
print #1,"funcion del periodo de vida que se considere para la construc-"
print #1,"cion:"
print #1," p=(t/50)^0.37"
print #1,"donde t es el periodo de vida considerado. Para construcciones de"
print #1,"normal importancia se debe considerar un periodo de vida de 50 a¤os,"
print #1,"lo que nos daria un coeficiente de riesgo p=1 y para cons-"
print #1,"trucciones de especial importancia el periodo de vida debe ser"
call s
print #1,"superior a 100 a¤os, lo cual nos daria un coeficiente de"
print #1,"riesgo p=1.3; es este caso consideramos por una mayor seguridad"
print #1,"el segundo caso con lo cual la aceleracion sismica de calculo"
print #1,"considerada seria de :"
print #1," Ac = 1.3 x 0.05 = 0.065"
print #1,"El calculo se realiza de acuerdo al metodo establecido en el"
print #1,"articulo 3.7 de esta Norma, teniendo en cuenta que la construc-"
print #1,"cion proyectada reune los requisitos establecidos en el epigrafe"
print #1,"3.5, asimilandola a un modelo unidimensional constituido por un"
print #1,"oscilador multiple con un solo grado de libertad por planta."
print #1,"La comprobacion de la estructura se llevara a cabo,al menos, para"
print #1,"dos direcciones ortogonales independientes."
print #1,"Segun el articulo 3.7.3 de esta Norma, la fuerza sismica estatica"
print #1,"equivalente, F(i,k) correspondiente a la planta k y al modo de"
print #1,"vibrarion i, viene dado por:"
print #1," F(i,k)=S(i,k)*P(k)"
print #1,"Donde P(k) es el peso de la planta k y S(i,k) es el coeficiente"
print #1,"sismico correspondiente a la planta k en el modo de vibracion i,"
print #1,"y que tiene el siguiente valor:"
print #1," S(i,k)=(Ac/g)*A1(Ti)*B*N(i,k)"
print #1,"Donde Ac es la aceleracion sismica calculada anteriormente, g es"
print #1,"la aceleracion de la gravedad, A1(Ti) es la ordenada espectral de"
print #1,"calculo correspondiente al periodo T del modo de vibracion i;"
call s
print #1,"B es el coeficiente de respuesta y N es el factor de distribucion."
print #1,"- Factor de distribucion: El factor de distribucion N(i,k) corres-"
print #1,"pondiente a la planta K en el modo de vibracion i toma el valor:"
print #1," N(i,k)=J(i,k)*S(k=1...n)(m(k)*J(i,k)/S(k=1...n)(m(k)*J^2"
print #1,"donde n es el numero de plantas, m(k) la masa de la planta k y J"
print #1,"es el coeficiente de forma correspondiente a la planta k y al"
print #1," modo de vibracion i."
print #1,"En este caso al tener 2 plantas sobre rasante y tratarse un edificio"
print #1,"con porticos de hormigon armado sin pantallas, (art 3.7.2.2),"
print #1,"el Periodo Fundamental de la estructura es:"
print #1," T(f) = 0.09 x 2 = 0.18 s."
print #1,"al ser este periodo menor de 0.75 s. (art. 3.7.2.1) se debe"
print #1,"considerar un Primer Modo de Vibracion igual al Periodo Funda-"
print #1,"metal (Tf)."
print #1,"Para el calculo del factor de distribucion, primero calcularemos el"
print #1,"coeficiente de forma de cada planta que es igual a:"
print #1," J(i,k)=sen(pi*H(k)/2H)"
print #1,"donde Hk esta altura de la planta considerada y H es la altura"
print #1,"total. Calculamos con los datos y formulas anteriores, el Factor"
print #1,"de distribucion para cada modo de vibracion y planta y tenemos"
print #1,"los siguientes resultados:"
call s
d1$=" ## ##,.## ##,.## #,.#### #,.####"
for i=1 to mi
print #1,"MODO DE VIBRACION ";i
print #1,
print #1," Planta Alt. de Masa Coeficiente Factor"
print #1," planta de Forma de Distribucion"
print #1,"-----------------------------------------------------"
for k=1 to ndp
print #1,using d1$;k;h(k);m(k);J(i,k);N(i,k)
next k
next i
end

sub s
print #1,"Para continuar pulsar una tecla";
while inkey$="":wend
cls
end sub


No hay comentarios: