martes, 22 de noviembre de 2011

PROGRAMA DE CALCULO DE LOS COEFICIENTES DE LA NORMA NCSA-02


' PROGRAMA DE CALCULO DE LOS COEFICIENTES DE LA NORMA NCSA-02

cls
$include "c:\tb\tbwindo.inc"
$include "c:\tb\tbmenu.inc"
key off
out &H3d9,1


call makewindow(0,0,2,80,fnattr%(4,3),0,0,0)
call prtwindow (1,1," ANTONIO MARTINEZ GIMENEZ - ARQUITECTO ")

call makewindow(3,10,13,64,fnattr%(10,2),2,1,1)
call prtwindow (2,2,"Norma sismoresistente NCSE 2002")
call prtwindow (3,2,"Pantalla/Impresora/Disco
/i/d")
call prtwindow (4,2,"Proyecto/Calculos generales
/c")


color 10,2
locate 6,50:input"",opc$
if opc$="" then opc$="p"
if opc$="d" then input "Nombre del fichero ";ndf$
select case opc$
case "p":open "scrn:" for output as #1
case "i":open "lpt1:" for output as #1
case "d":open ndf$ for output as #1
' case "d":open n$ for apend as #1
end select

'locate 7,50:input"",opc1$
' if opc1$="" then opc1$="p"
' if opc1$="p" then
' locate 8,12:input "Nombre del fichero (extension .sis)";ndf1$
' if ndf1$="" then ndf1$="muros.he1"
' open ndf1$ for input as #2
' open "cerramie.he1" for input as #3
' goto fichas
' end if
call removewindow
cls
screen 9


pi#=4*atn(1)
dim Tff(30,30)
d1$=_
"\ \ #.#####"


' Datos del edificio
H =12 ' Altura de la edificacion sobre rasante en m.
nu= 3 ' Numero de plantas sobre rasante.
B = 0 ' Dimension de las pantallas rigidizadoras, o de los planos
' triangulados, en el sentido de la oscilacion, en m
L =10.5 ' Dimension en planta de la edificacion, en sentido de la oscilacion

'peso de cada planta (considerando un 50% de sobrecarga de uso)
P.p=211.611 ' 0.6 T/m2 x 100 m2 carga en toneladas en cada planta
n.p=12 ' numero de pilares, todos iguales de 30x30

'Hf(k)=altura de la panta k sobre la rasante
'si todas las plantas son igulales
for n=1 to nu
P(n)=P.p
Hf(n)=n*(H/nu) ' suponiendo que todas las plantas tienen la misma altura
next n

input "general o proyecto";aa$
if aa$="g" then goto general

color 4,10
print #1, "Aceleracion sismica basica "
print #1, " ab/g ka"
print #1, "---------------------------------------------------------------------"
print #1, "Beniel, Santomera............................................. 0.16 1"
color 4,11
print #1, "Abanilla, Alcantarilla Fortuna, Murcia, Molina.Segura ........ 0.15 1"
print #1, "Alguazas, Ceuti, Lorqui, P Lumbreras, Torres de Cotillas ..... 0.14 1"
print #1, "Archena, Villanueva del Segura ............................... 0.13 1"
print #1, "Campos del Rio, Librilla, Lorca, Ojos, Ricote, Ulea .......... 0.12 1"
color 8,2
print #1, "Aguilas, Albudeite, Alhama, Blanca, F Alamo, S P Pinatar .... 0.11 1"
print #1, "Abaran, Aledo, San Javier, Ulea............................... 0.10 1"
print #1, "Cieza, Mazarron, Pliego, Mula, Torre Pacheco ................. 0.09 1"
print #1, "Los Alcazares, Bullas, Cehegin ............................... 0.08 1"
print #1, "Cartagena Calasparra Caravaca Jumilla, Morata. L.Union, Yecla. 0.07 1"
print #1, "---------------------------------------------------------------------"
color 1,7
print "Si selecciona Murcia pulsar "
print "En caso contrario, escriba los valores separados por una ,"
input "",ab#,ka
if ab#=0 then ab#=0.15
if ka=0 then ka=1
cls
color 4,10


print #1, " Coeficiente de riesgo "
print #1, "--------------------------------------------"
print #1, "Construcciones de importancia normal  p=1.0 "
print #1, "Construcciones de importancia especia p=1.3 "
print #1, "--------------------------------------------"
color 1,7
print "Si selecciona Construcciones de importancia normal pulse RT"
input "Coeficiente de riesgo ",p
if p=0 then p=1

cls
color 4,10

print #1, " Coeficiente del terreno "
print #1, " c "
print #1, "------------------------------------------------------------------"
print #1, "Roca compacta, suelo cementado o granular muy denso........... 1.0"
print #1, "Roca muy fracturada, suelo granulares densos o cohesivos duros 1.3"
print #1, "Suelo granular de compacidad media o suelo cohesivo de consis- "
print #1, "tencia firme o muy firme ..................................... 1.6"
print #1, "Suelo ganular suelto o suelo cohesivo blando ................. 2.0"
print #1, "------------------------------------------------------------------"
color 1,7
print "Si selecciona Suelo granular de compacidad media, pulse RT> "
input "Coeficiente del terreno ",C
if C=0 then C=1.6

pab=p*ab#

print #1, using d1$;_
"Aceleracion sismica basica ab= ";ab#
print #1, using d1$;_
"Coeficiente de riesgo p= ";p
print #1, using d1$;_
"Coeficiente del terreno........................................... C= ";C
print #1, using d1$;_
"Valor auxiliar ...........................................pab = p*ab= ";pab

if pab<=0.1 then
S=C/1.25
print #1, using d1$;_
"Coef. de amplificacion del terreno S=C/1.25= ";S
end if

if pab>0.1 and pab<0.4 then
S=C/1.25+3.33*(pab-0.1)*(1-C/1.25)
print #1, using d1$;_
"Coef.de amplificacion del terreno S=C/1.25+3.33*(pab-0.1)*(1-C/1.25)= ";S
end if

if pab>=0.4 then
S=1
print #1, using d1$;_
"Coef.de amplificacion del terreno S= ";S
end if

ac=S*p*ab#
print #1, using d1$;_
"Aceleracion sismica de calculo ac=S*p*ab#= ";ac


print #1, Coeficiente be"
print #1, "Ductibilidad............................ 4 3 2 1"
print #1, "------------------------------------------------------------"
print #1, "Porticos de ha o acero planta diafana 0.27 0.36 0.45 1.09"
print #1, "Porticos de ha o acero p compartimentada 0.25 0.33 0.50 1.00"
print #1, "Muros p compartimentada 0.46 0.93"
print #1, "------------------------------------------------------------"
input "Coeficiente be ";be
'Tb=Periodo caracteristico del espectro.
Tb=ka*C/2.5
'cls
color 4,10

print #1, " Calculo del periodo funamental TF"
print #1, " Tipo de edificio "
print #1, "Muro de fabrica: ladrillo o bloques 1"
print #1, "Porticos de h/a sin pantallas rigidizadoras 2"
print #1, "Porticos de h/a con pantallas rigidizadoras 3"
print #1, "Porticos rigidos de acero 4"
print #1, "Porticos de acero con planos triangulados 5"

color 1,7
print "Si selecciona Portico de h/a sin pant. rig. pulse "
input "Tipo de edificio ",t
if t=0 then t=2
select case t
case 1: Tf=0.06*H*sqr(H/(2*L+H))/sqr(L)
case 2: Tf=0.09*nu
case 3: Tf=0.07*nu*sqr(H/(B+H))
case 4: Tf=0.11*nu
case 5: Tf=0.085*nu*sqr(H/(B+H))
end select

if nu<4 then Tf=0.3
if Tf<=0.75 then n.m=1
if Tf>0.75 and Tf<=1.25 then n.m=2
if Tf>1.25 then n.m=3

cls
For n=1 to n.m
Ti(n)=Tf/(2*n-1)
next n



'calculo de las fuerzas sismicas

'nun(i,k)=factor de distribucion
'c.f(i,k)=coeficiente de forma



'coeficiente sismico s(i,k) correspondiente a la planta k en el modo i
'fuerza sismica estatica equivalente Fa(i,k)
'Ti(i) Periodo del modo considerado
suma=0
suma2=0
for i=1 to n.m
if Ti(i)<=Tb then af(i)=2.5
if Ti(i) >Tb then af(i)=2.5*Tb/Ti(i)
for k=1 to nu
c.f(i,k)=sin((2*i-1)*pi#*Hf(k)/2/H) 'coeficiente de forma
suma(i) =suma(i) +P(k)*c.f(i,k)
suma2(i)=suma2(i)+P(k)*c.f(i,k)^2
next k
next i

for i=1 to n.m
for k=nu to 1 step -1
nun(i,k)=c.f(i,k)*suma(i)/suma2(i)
s(i,k) =ac*af(i)*be*nun(i,k)
Fa(i,k) =s(i,k)*P(k)
V(i,k) =V(i,k+1)+Fa(i,k)
next
next

for k=nu to 1 step -1
for i=1 to n.m
Vm(k)=Vm(k)+V(i,k)^2
next
Vt(k)=sqr(Vm(k))
fp(k)=Vt(k)/n.p
dif(k)=abs(fp(k)-fp(k+1))
next

color 4,10

print #1, using d1$;"Coeficiente de respuesta .........be= ";be

color 2,7


print #1, using d1$;"Periodo fundamental (sg) Tf= ";Tf
print #1, using d1$;"Periodo caracteristico (sg) Tb= ";Tb


color 1,3

for i=1 to n.m
print #1, using d1$;"Modo i= ";i
print #1, using d1$;"Periodo Ti(i)= ";Ti(i)
print #1, using d1$;"coeficiente af(i)= ";af(i)
color 1,6
print #1, "Hf(k)=altura de la planta k sobre la rasante "
print #1, "P.p=60 ' 0.6 T/m2 x 100 m2 carga en toneladas en cada planta"
print #1, "s(i,k) = coeficiente sismico de la planta k en el modo i "
print #1, "Fa(i,k) = fuerza sismica estatica equivalente "

color 1,4
print #1, " k Hf P.p Vt fp dif ";
color 1,5
print #1, " c.f s Fa V "

for k=1 to nu
color 1,4
print #1, using "\ \ ## ##.## ###.## ###.## ##.## #.## ";_
"piso ";k,Hf(k),P(k), Vt(k), fp(k),dif(k);
color 1,5
print #1, using "#.### #.### ";c.f(i,k),s(i,k);
print #1, using "##.## ###.## ";Fa(i,k),V(i,k);
print #1,
next k
next i

end

general:
d2$= " #.## #.#### #.####"
print #1, " ab#*p"
print #1, "p= 1 1.3 "
print #1, "ab# ----------------"
for ab=0.07 to 0.17 step 0.01
print #1, using d2$;ab;ab;1.3*ab
next

print #1, "Construcciones de importancia normal p=1.0 "
p=1: gosub c.a.t.S
print #1, "Construcciones de importancia especia p=1.3 "
p=1.3: gosub c.a.t.S

print #1, " Calculo del Periodo fundamental Tf"
print #1, " Tipo de edificio "
print #1, "Muro de fabrica: ladrillo o bloques "
be#=0.93:gosub fundamen
print #1, "Porticos de h/a sin pantallas rigidizadoras "
be#=0.55:gosub fundamen
print #1, "Porticos de h/a con pantallas rigidizadoras "
be#=0.36:gosub fundamen
print #1, "Porticos rigidos de acero "
be#=0.50:gosub fundamen
print #1, "Porticos de acero con planos triangulados "
be#=0.33:gosub fundamen

end

c.a.t.S:

d2$= " #.## #.#### #.#### #.#### #.####"
d3$= " #.#### #.#### #.#### #.####"
print #1, "Coeficiente de amplificacion del terreno S"
print #1, "Aceleracion sismica de calculo"
print #1, "C= 1 1.3 1.6 2.0"
print #1, " ab# ----------------------------------"
for ab=0.07 to 0.17 step 0.01
n=0
for C=1 to 2.1 step 0.3
n=n+1
if C>1.8 then C=2
if p*ab=<0.1 then
SA(n)=C/1.25
else
SA(n)=C/1.25 + 3.33*(p*ab-0.1)*(1-C/1.25)
end if
tt(n)=C/2.5 ' periodo caracteristico del espectro

acc(n)=SA(n)*p*ab
next
color 2
print #1, using d2$;ab;SA(1);SA(2);SA(3);SA(4)
color 3
print #1, using d3$;acc(1);acc(2);acc(3);acc(4)
color 2
next
print #1, "T";:print #1, using d3$;tt(1);tt(2);tt(3);tt(4)
call s
return

fundamen:
d4$=" #.#### "


print #1, " Numero de plantas"
print #1, " l.(m) 1 2 3 4 5 6 7"
print #1, "---------------------------------------------------------------"
if be#=0.93 then
for L=4 to 20 step 4
print #1, using "\ \ ";str$(L);
for nu=1 to 7
H=3*nu
if nu<4 then Tff(L,H)=0.3
if nu>3 then Tff(L,H)=0.06*H*sqr(H/(2*L+H))/sqr(L)
if H<21 then print #1, using d4$;Tff(L,H);
if H=21 then print #1, using d4$;Tff(L,H)
next nu
next L
end if



for nu=1 to 7
if nu<4 then
Tfff(nu)=0.3
else
H=3*nu
select case be#
case 0.55: Tfff(nu)=0.09*nu
case 0.36: Tfff(nu)=0.07*nu*sqr(H/(B+H))
case 0.50: Tfff(nu)=0.11*nu
case 0.33: Tfff(nu)=0.085*nu*sqr(H/(B+H))
end select
end if
next nu

for nu=1 to 7
H=3*nu
if be<> 0.93 then
if H<21 then print #1, using d4$;Tfff(nu);
if H=21 then print #1, using d4$;Tfff(nu)
end if
next nu
call s
return


sub s
while inkey$="":wend
end sub

No hay comentarios: