
    ch@                     F    S SK rS rS rS	S jrS	S jrS	S jrS rS
S jrg)    Nc                 ^    U c  Sn SnSnSnSnSnXU -  -
  nX6U-  XTU-  -  -  -  nXtU-  -  nU$ )u   
Calcula a densidade do ar com base na altitude usando a fórmula barométrica.
altitude em metros. Se altitude for None, assume 0 metros (nível do mar).
r   gfffffr@g9vz?i͋ gq@g:#@ )	altitudeT0Lp0RgT_hp_hdensidade_ars	            ?/var/www/html/cagpublico_m/cag/calculotermica/cargastermicos.pycalcular_densidade_arr      sd    
  
BA	BAA 8|
C baq5k*
*C c'?L    c                    Sn[         R                  " U5      n[         R                  " U5      n[         R                  " U5      n[         R                  " U5      nU R                  U R                  -  nU R                  U R                  -  nX@R
                  U R                  -  -  nU R                  nU[         R                  " U/U-  5      -  nX&U-   U-   -  nX7-  n[         R                  " US5      n[         R                  " US5      n[         R                  " US5      n[         R                  " US5      n[         R                  " US5      n[         R                  " US5      nUUUUUUUS.$ )u   
Calcula as cargas térmicas do ambiente com base nos dados fornecidos.
Utiliza a área do piso para ajustar a carga térmica de iluminação e outras fontes.
      )carga_sensivel_totalr   carga_latente_totalcarga_iluminacaocarga_equipamentoscarga_sensivel_pessoascarga_latente_pessoas)
npzeroscalor_sensivel_pessoanumero_pessoascalor_latente_pessoataxa_iluminacao	area_pisodissipacao_equipamentosarrayround)	termicos	horas_diar   r   r   r   r   r   dissipacao_equipamentos_horarias	            r   !calcular_cargas_termicas_ambienter'      sk    I88I.((9-xx	*), &;;h>U>UU$99H<S<SS 0083E3EEE '/&F&F#"(($C#Dy#PQQ 5EEHZZZ0 88$8!<((#6:xx 0!4"4a8XX&<a@HH%:A> !5 42,0"8!6 r   c                 J    SU -  U-  n[         R                  " U/U-  5      nU$ )uZ   
Calcula a vazão de ar externo devido à infiltração, constante para cada hora do dia.
g      ?r   r"   )r    
pe_direitor%   vazao_infiltracaovazao_horaria_infiltracaos        r   calcular_vazao_ar_infiltracaor-   K   s1     i*4 "*;)<y)H I$$r   c                 B    X-  n[         R                  " U/U-  5      nU$ )uX   
Calcula a vazão de ar externo devido à renovação, constante para cada hora do dia.
r)   )r   taxa_renovacaor%   vazao_renovacaovazao_horaria_renovacaos        r   calcular_vazao_ar_renovacaor2   S   s)     %5O hh'89'DE""r   c                 >    [        XU5      n[        X#U5      nXV-   nU$ )u[   
Calcula a vazão total de ar externo (infiltração + renovação) para cada hora do dia.
)r-   r2   )r    r*   r   r/   r%   vazao_infiltracao_horariavazao_renovacao_horariavazao_total_ar_exteriors           r    calcular_vazao_total_ar_exteriorr7   [   s/     !>iU^ _9.Zcd7Q""r   c                 R    [        U R                  5      nSnXE-  U-  X-
  -  S-  nU$ )un   
Calcula o calor sensível devido à vazão de ar exterior em cada hora do dia, com o resultado em W (watts).
i    )r   r   )r$   temperaturas_externastemperatura_internar6   r   capacidade_calorifica_arcalor_sensivels          r   #calcular_calor_sensivel_ar_exteriorr>   d   sE     )):):;L# #=@WW,BDGKLNr   c                 v    US-  nX#-
  S-  nUb  US-  nO[        S5      eU c  [        S5      eX-  U-  U-  nU$ )u  
Calcula o calor latente devido à vazão de ar exterior em cada hora do dia, com o resultado em W (watts).

Parâmetros:
- densidade_ar: Densidade do ar (kg/m³), ajustada para a altitude do projeto.
- vazao_total_ar_exterior: Vazão total de ar exterior (m³/h).
- umidade_absoluta_externa: Umidade específica externa (g/kg).
- umidade_absoluta_interna: Umidade específica interna (g/kg).
- hlv: Calor latente de vaporização da água (kJ/kg), com valor padrão de 2440 kJ/kg.

Retorna:
- Calor latente (W).
i  r9   uH   A vazão total de ar exterior é None e não pode ser usada no cálculo.u<   A densidade do ar é None e não pode ser usada no cálculo.)
ValueError)	r   r6   umidade_absoluta_externaumidade_absoluta_internahlv
hlv_joulesumidade_absoluta_diferencavazao_total_ar_exterior_m3_scalor_latentes	            r   "calcular_calor_latente_ar_exteriorrH   p   sl     tJ #;"UY]!] *'>'E$cdd WXX !?*LOiiMr   )r   )i	  )	numpyr   r   r'   r-   r2   r7   r>   rH   r   r   r   <module>rJ      s,    4,\%##
!r   