
    J0g:.                     d    S SK rS rS rS SK rS rS SK rS rS SK rS rS rS SK rS SK rS rS	 r	g)
    Nc                  |   [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      S.n U $ )u   
Retorna os diferenciais de temperatura para paredes internas com áreas climatizadas e não climatizadas,
agora com 13 valores para representar as 13 horas do dia (06:00 às 18:00).
)       @      @      @      @333333@      @r	   r   ffffff@      @皙@      ?333333?)r   ?r   r   皙@r   皙	@r   ffffff@r   r   r   r   )r         @r	         @      @r	   g@r   r   r   r   r   r   )r   r   r
   r   g@r   g@r   r   r   r   r   r   )   r   r   r   r   r   r   r   r   r   r   r   r   interna_nao_climatizada_norteinterna_nao_climatizada_sulinterna_nao_climatizada_lesteinterna_nao_climatizada_oesteinterna_climatizada_norteinterna_climatizada_sulinterna_climatizada_lesteinterna_climatizada_oestenparraydiferenciais_temperaturas    0/var/www/html/cag/calculotermica/ctermicacalc.py&obter_diferenciais_temperatura_paredesr&      s|     *,2s)t)+2s)t)+2s)t)+2s)t%'XX.U%V#%88,S#T%'XX.U%V%'XX.U%V
  $#    c                  (   [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " S5      [         R                  " S5      [         R                  " S5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / S	Q5      [         R                  " / S
Q5      S.n U $ )u   
Retorna os diferenciais de temperatura devido à insolação para cada orientação
e cor da parede, com 13 valores representando o intervalo de 06h às 18h.
)r   r   r   r   r   r   r   r   r   r   r         ?      ?)r   r   r   r   r	   r   r   r   r   r   r   r   r)   )r   r   r   r	   r   r	   r   r   r   r   r   r   r      )r   r	   r   r   r	   r   r   r   r   r   r)   r*   g?)r   r   r   r   r   r	   r   r   r   r   r   r)   r*   )r	   r         @r,   r   r   r	   r   r   r   r   r   r)   )r*   r)   r   r   r   r   r   r	   r   r	   r   r   r   )r)   r   r   r   r   r   r   r   r   r   r	   r   r   )r   r   r   r   r   r   r	   r   r,   r   r   r	   r   )parede_clara_norteparede_media_norteparede_escura_norteparede_clara_sulparede_media_sulparede_escura_sulparede_clara_lesteparede_media_lesteparede_escura_lesteparede_clara_oesteparede_media_oesteparede_escura_oester!   r"   zeros)diferenciais_insolacaos    r%   /obter_diferenciais_temperatura_insolacao_pareder<      s     !hh'hi hh'hi!xx(ij HHRLHHRLXXb\ !hh'hi hh'hi!xx(ij !hh'hi hh'hi!xx(ij'* "!r'   c                     [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " S/S-  5      [         R                  " S/S-  5      [         R                  " S/S-  5      [         R                  " S/S-  5      S.n U $ )u  
Retorna os diferenciais de temperatura por condução para vidros internos,
considerando se o ambiente adjacente é climatizado ou não, e a orientação solar.
Os valores são estimativas médias para uso em simulações térmicas horárias (06h às 18h).
r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r)   r   r   r   r   r   r   r   r   r   r   r   r   r   r)   r+   r   r    )diferenciais_temperatura_vidross    r%   %obter_diferenciais_temperatura_vidrosrB   A   s     *,2s)t)+2s)t)+2s)t)+2s)t &(XXsebj%9%'XXsebj%9%'XXsebj%9%'XXsebj%9'# +*r'   c                  4   [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " S/S-  5      [         R                  " S5      [         R                  " S5      [         R                  " S5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " S/S-  5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " S/S-  5      S.n U $ )u   
Retorna os diferenciais de temperatura devido à insolação para vidros em diferentes orientações,
considerando valores mais conservadores com base na literatura técnica.
)r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r)   r)   r+   )r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r	   r   r   r   r   r   r   r   r   r   )vidro_transparente_nortevidro_cortina_clara_nortevidro_blackout_preto_nortevidro_transparente_sulvidro_cortina_clara_sulvidro_blackout_preto_sulvidro_transparente_lestevidro_cortina_clara_lestevidro_blackout_preto_lestevidro_transparente_oestevidro_cortina_clara_oestevidro_blackout_preto_oester9   )diferenciais_insolacao_vidross    r%   /obter_diferenciais_temperatura_insolacao_vidrosrQ   [   s     %'HH-n$o%'XX.o%p&(hhurz&: #%((2,#%88B<$&HHRL %'HH-n$o%'XX.o%p&(hhurz&: %'HH-n$o%'XX.o%p&(hhurz&:'%!, )(r'   c                     [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " S/S-  5      [         R                  " S/S-  5      [         R                  " S/S-  5      [         R                  " S/S-  5      S.n U $ )u   
Retorna os diferenciais de temperatura por condução térmica (∆T) entre ambientes internos e externos,
para diferentes orientações e tipos de ambiente.
r>   r?   r@   r)   r+   r   r    r#   s    r%   $obter_diferenciais_temperatura_portarS      s     *,2s)t)+2s)t)+2s)t)+2s)t%'XXsebj%9%'XXsebj%9%'XXsebj%9%'XXsebj%9
  $#r'   c                     0 n 0 SS_SS_SS_SS_S	S
_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SSSSS.En/ S QS!/S"-  / S#Q/ S$QS%.n/ S&Q/ S'Q/ S(Q/ S)Q/ S(Q/ S*Q/ S+QS,.nUR                  5        Hz  u  pEUR                  5        Ha  u  pgU HV  nU S-U 3n	S.U	 S-U 3n
UR                  U	S5      n[        R                  " [        R                  " U5      U-  S/5      nXU
'   MX     Mc     M|     U $ )0u   
Retorna os diferenciais de temperatura devido à insolação para portas
em diferentes materiais e orientações, com valores mais conservadores
baseados em literatura técnica.
clarar   mediar   escurar   transparenter   cortina_clarag333333@blackoutr)   aluminio_refletivor   aluminio_neutror   aluminio_absorvedorr   aco_refletivoaco_convencionalaco_expostor   pvc_refletivor   
pvc_neutropvc_absorvedorcomposta_refletivacomposta_neutrar   r   )composta_absorvedoraisolante_convencionalisolante_refletivoisolante_multicamadas)ffffff??r)   皙?r)   rk   rj   rk   r)   rk   rj   r*   g333333?g        r+   )rk   r)   rl   r   rl   r)   rk   r)   rl   r)   rk   皙?rj   )r)   rl   r   g?r   rl   r)   rl   r   rl   r)   rk   rm   )nortesullesteoeste)rU   rV   rW   )rX   rY   rZ   )	refletivoneutro
absorvedor)rr   convencionalexposto)	refletivaneutraabsorvedora)ru   rr   multicamadas)madeiravidroaluminioacopvccompostaisolante_porta_   )itemsgetr!   roundr"   )diferenciais	materiaisorientacoescombinacoes
orientacaopesos	categoriatipostipo
chave_tipochave
valor_basediferencials                r%   .obter_diferenciais_temperatura_insolacao_portar      s    L 	# 		
 	 	C 	c 	3 	s 	 	C 	s 	 	c 	#  	c!" 	3#$ !$!$!!$+I4 SRR	K 0>974:AK )..0
 + 1 1 3I ){!D62
 Aj\:&]]:s;
 hhrxx'CQG&1U#  !4 1 r'   c                  l    [         R                  " / SQ5      [         R                  " S/S-  5      S.n U $ )u   
Retorna os diferenciais de temperatura para telhados de diferentes tipos e condições
(externo, interno não climatizado, interno climatizado).
)r         @      "@      &@      *@      -@      .@      +@r   r         @r,   r   r   r+   )interno_nao_climatizadointerno_climatizador    ) diferenciais_temperatura_telhados    r%   +obter_diferenciais_temperatura_tipo_telhador      s5     $&88,s#t  "xx
3($ ,+r'   c            
      N   [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      [         R                  " / SQ5      S.n U $ )	uc   
Retorna os diferenciais de temperatura devido à insolação para tipos de telhados específicos.
)      !@      '@      ,@      1@      3@g     5@      6@      4@r   r   r         #@r   )      (@      /@r   g      7@      ;@g      >@g      ?@g      <@g      8@r   r   r   r   )r   r   r   r   r   g     0@r   r         )@      $@r   r   r   )       @      %@r   r   r   g     2@r   r   r   r   r   r   r   )r   r   r   g      0@      2@g     3@r   r   r   r   r   r   r   )r   r   r         @@      B@g      C@g     C@r   r   g      :@r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r	   r   )telhado_laje_claratelhado_laje_escuratelhado_americanatelhado_colonialtelhado_portuguesatelhado_metal_simplestelhado_metal_sanduicher    )diferenciais_insolacao_telhados    r%   0obter_diferenciais_temperatura_insolacao_telhador      su     !hh'rs  "xx(vwXX&opXX&pq hh'rs "$*x!y $&88,q#r&"$ *)r'   )
numpyr!   r&   r<   rB   rQ   rS   r   r   r    r'   r%   <module>r      sJ    $&"N +0 )R $,=R  , *r'   