!***************************************************************************
!CÁLCULO DO CENTRO DE PRSSÁO DE UM MINIFOGUETE 
!Referência: Barrowman
!Autor: Leonardo Costa Justen Santana
!****************************************************************************

!CHAMADA DE BIBLIOTECA EXTERNA
use portlib

!PROIBIR DECLARAÇÃO IMPLÍCITA DE VARIÁVEIS
IMPLICIT NONE

!DECLARAÇÃO DAS VARIÁVEIS
real*8 k,cn,cna,d,yn,yf,cf,Ll,a,b,s,m,l,yfo,cp, cg, me, dmax
integer t,n

!ABERTURA DO ARQUIVO DE ENTRADA
open(1,file="dadoscp.txt")

!CÁLCULO DO CENTRO DE PRESSÃO DO NARIZ
cn = 2 !coeficiente normal do nariz
read(1,*)Ll
!Escolha o tipo de nariz t , 1 para conico , 2 para ogiva , 3 para parabolico
read(1,*)t,n
select case(t)
	case(1) !Nariz cônico
		
	yn=0.67d0*Ll

	case(2)	!Nariz com perfil de ogiva

	yn=0.47d0*Ll

	case(3)	!Nariz com perfil parabólico

	yn=Ll/2
end	select
!write(*,*)yn
read(1,*)a,b,s,m,l,yfo,d,cg, dmax

!FECHAMENTO DO ARQUIVO DE ENTRADA
close(1)

!CÁLCULO DO CENTRO DE PRESSÃO DAS EMPENAS
cf=(4d0*n*(s/d)**2d0)/(1d0+sqrt(1d0+(2d0*l/(a+b))**2d0))  !Coeficiente normal
yf=yfo+(m*(a+2d0*b))/(3d0*(a+b))+(a**2d0+a*b+b**2d0)/(6d0*(a+b)) !Centro de pressão

!CÁLCULO DO FATOR DE INTERFERÊNCIA
k=2d0*(s+d)/(2d0*s+d)

!CÁLCULO DO COEFICIENTE DE FORÇA NORMAL
cna=cn+k*cf

!CÁLCULO DO COEFICIENTE DE PRESSÃO TOTAL
cp=(yn*cn+yf*k*cf)/cna

!CÁLUCLO DA MARGEM ESTÁTICA
me = (cp-cg)/d

!VERIFICAÇÃO RESULTADOS
write(*,*) cf, yf, k, cna, cp, me

!ABERTURA DO ARQUIVO DE SAÍDA 1
open(2,file="resposta.txt")
write(2,1)cp
close(2)

!ABERTURA DO ARQUIVO DE SAÍDA 2
open(2,file="resposta1.txt")
write(2,1)me
close(2)

!FORMATAÇÃO DOS ARQUIVOS
1 format(F7.3)

!FIM DO PROGRAMA
end 
