Introdução
O Fortran, uma das linguagens de programação mais antigas, continua a evoluir, oferecendo recursos modernos que permitem a integração com ferramentas contemporâneas. Este tutorial tem como objetivo guiar você na exploração do Fortran moderno, destacando a utilização do F2PY para conectar bibliotecas Fortran com Python. Vamos também discutir como integrar o Fortran com frameworks de simulação científica, aproveitando suas capacidades de processamento numérico. Ao final deste guia, você estará apto a utilizar Fortran em conjunto com Python para realizar simulações complexas e otimizar cálculos científicos.
Etapas
Instalação do Fortran e Python
O primeiro passo é garantir que você tem o compilador Fortran e o Python instalados em sua máquina. Para sistemas Linux, você pode instalar o gfortran com o comando `sudo apt install gfortran`. Para usuários Windows, você pode utilizar o MinGW ou o WSL. Para instalar o Python, você pode baixar a versão mais recente do site oficial.
commands# Instalar gfortran no Ubuntu
sudo apt install gfortran
# Instalar o Python (Windows)
Baixar de https://www.python.org/Configuração do F2PY
F2PY vem como parte da biblioteca NumPy. Para instalá-lo, você deve primeiro instalar o NumPy usando o pip. Abra o terminal e execute `pip install numpy` para garantir que você tem o F2PY disponível.
commands# Instalar o NumPy para utilizar o F2PY
pip install numpyCriando uma Biblioteca Fortran
Vamos criar um exemplo simples de uma biblioteca Fortran que realiza a soma de dois números. Crie um arquivo chamado `soma.f90` com o seguinte conteúdo:
soma.f90module soma_module implicit none contains subroutine soma(a, b, result) real(8), intent(in) :: a, b real(8), intent(out) :: result result = a + b end subroutine soma end module soma_module
Compilando a Biblioteca Fortran
Para compilar sua biblioteca Fortran e gerar um arquivo compartilhado que possa ser utilizado pelo F2PY, execute o seguinte comando no terminal. Isso criará o arquivo `soma.so` ou `soma.dll`, dependendo do seu sistema operacional.
commands# Compilar a biblioteca Fortran
gfortran -shared -o soma.so -fPIC soma.f90Usando F2PY para Criar a Interface em Python
Agora, você pode usar o F2PY para criar uma interface em Python para o seu código Fortran. Execute o seguinte comando no terminal para criar um módulo Python a partir da biblioteca Fortran compilada.
commands# Criar o módulo Python com F2PY
f2py -c -m soma soma.f90Testando o Módulo em Python
Crie um arquivo Python chamado `test_soma.py` e inclua o seguinte código para testar a função de soma que você integrou com o F2PY:
test_soma.pyimport numpy as np from soma import soma_module a = np.float64(3.0) b = np.float64(4.0) resultado = np.zeros(1, dtype=np.float64) soma_module.soma(a, b, resultado) print('A soma é:', resultado[0])
Executando o Teste
Agora, execute o script Python para verificar se a integração foi bem-sucedida. Execute o seguinte comando no terminal:
commands# Executar o teste
python test_soma.pyIntegração com Frameworks de Simulação Científica
Agora que você tem o código Fortran funcionando com Python, você pode integrá-lo em um framework de simulação científica como o SciPy ou o NumPy. Você pode usar essas bibliotecas para realizar simulações mais complexas com seus cálculos em Fortran.
exampleimport numpy as np from soma import soma_module # Exemplo de integração em uma simulação x = np.arange(0, 10, 1) results = np.zeros(len(x)) for i in range(len(x)): results[i] = soma_module.soma(x[i], 1.0) print('Resultados da simulação:', results)
Conclusão
Neste tutorial, você aprendeu a integrar o Fortran moderno com Python utilizando F2PY. Desde a instalação do ambiente até a criação e teste de uma biblioteca Fortran, você adquiriu as habilidades necessárias para implementar cálculos científicos com eficiência. Essa integração permite que você aproveite a velocidade do Fortran junto com a simplicidade e flexibilidade do Python, expandindo assim suas capacidades em simulações e análises científicas.