Radiação de Corpo Negro, teoria disponível em: http://coral.ufsm.br/gef/Moderna/moderna02.pdf
Dados gerados: https://plot.ly/~zrhans/408/
!---------------------------------------------------
! Calcula e gera arquivos com valores de Radiância
! em função do comprimento de onda para um
! Corpo Negro.
!---------------------
! Autor: Hans Zimermann
! Data: 09-10-2016 Alt:
!---------------------------------------------------
program curvas_de_radiancia
implicit none
real, parameter :: c1 = 3.74e-16 ! [W][m^2] ou [J/s][m^2]
real, parameter :: c2 = 1.44e-2 ! [m][K]
real :: lambda = 0. , T = 0.
real :: radiancia = 0.
integer :: i, N = 20 ! N numero de pontos da função
real :: dl
T =7000.
! Relação entre lambda e N contador incremento = (b - a) / n
dl = ( 2e-6 - 0.)/ N
open(unit=1, file="radiacia.txt", status="replace")
open(unit=2, file="radiacia-x.txt", status="replace")
do i = 1,N
lambda = lambda + dl
radiancia = (c1)*(lambda**(-5.0))*( 1 / (exp(c2/(lambda*T))-1.0) )
print 100,lambda, radiancia
write(1,100) radiancia
write(2,100) lambda
end do
100 format (es12.2)
close(1)
close(2)
stop('Programma finalizado!')
end program curvas_de_radiancia
! TO DO (para os alunos)
! otimizar a escrita em arquivos empregando arranjos
! usar laços para gerar radiância para faixas distintas de temperaturas
! Saída de dados deve ser semelhante a https://plot.ly/~zrhans/408/
