ORCA - lncc-sered/manual-sdumont2nd GitHub Wiki

Table of Contents

ORCA

EM CONSTRUÇÃO

Página oficial do ORCA from FACCTs FACCTs é uma empresa spin-off da Sociedade Max Planck, fundada em 2016, que tem como missão levar inovações acadêmicas para a indústria, fornecendo ferramentas de simulação rápidas e precisas para pesquisa e desenvolvimento (P&D) nas áreas química, de materiais e farmacêutica. O principal produto da FACCTs é o pacote de software de química quântica ORCA, que possui mais de 20 anos de desenvolvimento. O ORCA é utilizado por cientistas para resolver problemas complexos usando modelos físicos baseados na resolução da equação de Schrödinger, abrangendo métodos avançados de teoria do funcional da densidade (DFT) e métodos de função de onda correlacionada.

Documentação da versão 6.0 e tutoriais disponíveis em: TUTORIAIS DO ORCA 6.0

Tutorial utilizado:

Os testes utilizando os exemplos disponíveis no tutorial oficial do ORCA 6.0. Modelos de solvatação implícita da Ureia (CO(NH₂)₂)

(recomenda-se executar primeiro o tutorial do link acima, para solvatação implícita da Molécula de Ureia (CO(NH₂)₂) como forma de validação)

Crie um diretório para realizar seus testes, como no exemplo abaixo:

mkdir tutorial-ORCA
cd tutorial-ORCA

🗂️ Local da Instalação e Carregando Module

Instalação do ORCA 6.0.1 está localizada em dois diretórios diferentes, a depender to tipo de arquitetura do processador que deseja utilizar:

1 - /scratch/app/orca/6.0_gnu_openmpi-4.1.6_avx2

2 - /scratch/app/orca/6.0_gnu_openmpi-4.1.6

3 - /scratch/app/arm/orca/6.0_arm64_openmpi-4.1.8
OBS: Ao carregar um module do orca todos os módulos dependentes são carregados automaticamente.

⚙️ Tabela 1 - Versões do ORCA recomendadas por Processador do Sdumont2nd

Versão do modulo do ORCA recomendada Processadores do Sdumont2nd Arquitetura Resumo motivacional
6.0_gnu_openmpi-4.1.6_avx2 AMD Genoa-X 9684 (EPYC Genoa) x86-64 Suporte a AVX2 para melhor performance em CPUs Zen 4
6.0_gnu_openmpi-4.1.6 Intel Xeon SHR 48C HBM2 x86-64 Compatível com x86-64 padrão; HBM2
6.0_arm64_openmpi-4.1.8 Grace ARM64 Neoverse V2 ARM64 Build específico para ARM64 Neoverse V2
6.0_gnu_openmpi-4.1.6_avx2 APU AMD Instinct MI300A x86-64 Suporte a AVX2 para melhor performance em CPUs Zen 4; integração com HBM3 via ROCm
Siglas da tabela 1
  • AVX2 (Advanced Vector Extensions 2) - É um conjunto avançado de instruções para processadores x86-64
  • HBM2 (High Bandwidth Memory 2) - É uma tecnologia de memória de alta largura. Usada em CPUs e aceleradores que precisam processar grandes volumes de dados rapidamente, como em clusters de alta performance.
  • HBM3 via ROCm - HBM3 é a terceira geração da memória de alta largura de banda.
    • ROCm (Radeon Open Compute) é a plataforma de software da AMD para computação heterogênea, que gerencia o uso eficiente da memória HBM3 em suas GPUs e APUs, como o AMD Instinct MI300A.Essa combinação permite acelerar cargas de trabalho científicas e de inteligência artificial, facilitando o uso otimizado da memória unificada entre CPU e GPU
Após escolher qual versão dos módulos do ORCA deseja utilizar, carregue o ORCA com o comando exemplo abaixo, seguindo o padrão "module load orca/VERSÃO"
#Para processadores Intel Xeon SHR -> Ver TABELA -1  
module load orca/6.0_openmpi-4.1.6

#OU para processadores APU AMD Instinct MI300A e AMD Genoa-X 9684 -> Ver TABELA -1 
module load orca/6.0_openmpi-4.1.6_avx2  

Caso queira utilizar a versão para arquiteturas de processadores ARM. Primeiro carregue o modulo de ambientes que contém os módulos para arquitetura ARM, utilizando o comando a baixo:

module load arch_arm
Loading ARM64 CPU architecture (Grace-Grace or Grace-Hopper) architecture Software environment
Feito isso, utilize o comando module avail para localizar todos os módulos de ambiente com suporte a arquitetura ARM com mostrado no exemplo abaixo:
[rafaelfs@sdumont2nd5 orca_6_0_1_linux_x86-64_shared_openmpi416]$ module avail 

--------------------------------- /scratch/app/modulefiles_extra/arm ----------------------------------
   anaconda3/2024.10 (D)    foldseek/10_arm    >>>>>orca/6.0_openmpi-4.1.8 (D)<<<<<
   cmake/4.0         (D)    nvhpc/25.1      (D)

Agora, carregue o modulo do ORCA com suporte a ARM com o comando abaixo:

module load orca/6.0_openmpi-4.1.8 

#Visualize todos os módulos já carregados com o comando "module list" abaixo:

module list 

Currently Loaded Modules:
  1) arch_arm/current   2) orca/6.0_openmpi-4.1.8

🚀 Iniciando o Tutorial Teste com solvatação da Ureia

Este tutorial teste tem como objetivo validar a instalação do ORCA, auxiliar os usuários do Sdumont2nd a executar o programa utilizando o sistema de gerenciamento de filas SLURM. Após executar o tutorial teste leia o item ➡️ Execução via script SLUMR (srun ou .sbatch). Este tutorial foi dividido em 3 etapas:

  • 1. Preparação da Geometria da Ureia (Fase Gasosa)
  • 2. Cálculo de Solvatação da Ureia em Água
  • 3. Comparando os dados de "ureia_gas.xyz" e "ureia_solvation.xyz" (Para calculo de Energia de Solvatação)

1. Preparação da Geometria da Ureia (Fase Gasosa)

O primeiro passo é otimizar a geometria da ureia na fase gasosa (vácuo). Esta geometria otimizada será usada como ponto de partida para o cálculo de solvatação.

Dentro do diretório criado anteriormente "tutorial-ORCA" para execução dos testes crie o arquivo de entrada do orca "ureia.inp".

Arquivo de Entrada: urea_gas.inp

! RKS B3LYP def2-SVP Opt Freq
! Analise de Populacao e Carga LoF
! SCFCALC
! GRID4
%pal nprocs 96 end
%maxcore 1000

*xyz 0 1
N     -0.893297127  -0.000305609   0.000105151
C      0.407981249  -0.000078028  -0.000014294
O      1.047466184   1.074712053  -0.000067644
N      1.047466184  -1.074712053   0.000067644
H     -1.229158913  -0.875225126   0.000213158
H     -1.229158913   0.874981774   0.000049281
H      0.655977114   1.979603215  -0.000115049
H      0.655977114  -1.979603215   0.000115049
* 

OBS: Não utilize caracteres especiais no arquivo ".inp" como por exemplo (ç, ^, ~). Seu programa será imperrompido pela seguinte mensagem: ( Please remove all non-ASCII characters from your input file). Indicando que há caracteres não ASCII no seu arquivo urea_gas.inp. Mesmo caracteres comentados (que não será executados pelo programa).

Definindo os recursos a serem utilizados

Dentro do arquivo ureia_gas.inp é possível observa as linhas abaixo:

%pal nprocs 96 end
%maxcore 1000
Ao lado do paramentro "nprocs" é definidio o número de Threads desejada para o processo. E ao lado do parametro "%maxcore" a quantidade de memoria RAM desejada. Porem existe uma relação entre elas. Para entender melhor leia a tabela 2 abaixo:

⚙️ Tabela 2 - Definindo recursos computacionais no arquivo ureia_gas.inp

Configuração Significado
%maxcore 1000 Cada thread (tarefa paralela) pode usar até 1000 MB (≈1 GB) de RAM.
Memória total usada Depende do número de threads: %maxcore × nº de threads.
Exemplo utilizado Se você utilizar "%pal nprocs 96 end" (96 Threads) com "%maxcore 1000", o total de RAM utilizado será 96GB.
Por esse motivo, para o uso responsável dos recursos e para otimização de seu trabalho, tenha conhecimento do quanto de recursos seu "job" necessita e o quanto de recurso estão disponíveis nos nodes computacionais do Sdumont2nd. Para mais informações sobre os recursos disponíveis acesse o link -> Características do Sdumon2nd

Tendo em Mão o arquivo "ureia_gas.inp" execute o comando abaixo para realizar o preparo da geometria da Ureia Fase Gasosa:

orca ureia_gas.inp > ureia_gas.out

Após executar o comando é possível acompanhar o progresso do processamento com o comando "tail -f ureia_gas.out". Você vera a escrita em tempo real do arquivo ureia_gas.out, como no exemplo abaixo:

 ************************************************************
           *        Program running with 96 parallel MPI-processes    *
           *              working on a common directory               *
           ************************************************************
----------------------------------------D-I-I-S--------------------------------------------
Iteration    Energy (Eh)           Delta-E    RMSDP     MaxDP     DIISErr   Damp  Time(sec)
-------------------------------------------------------------------------------------------
               ***  Starting incremental Fock matrix formation  ***
                              *** Initializing SOSCF ***
---------------------------------------S-O-S-C-F--------------------------------------
Iteration    Energy (Eh)           Delta-E    RMSDP     MaxDP     MaxGrad    Time(sec)
--------------------------------------------------------------------------------------
    1    -224.9420485949752333     0.00e+00  5.56e-05  1.04e-03  5.04e-05     0.6
               *** Restarting incremental Fock matrix formation ***
    2    -224.9420511709589618    -2.58e-06  2.25e-05  2.64e-04  8.15e-05     0.5
    3    -224.9420512168852042    -4.59e-08  1.41e-05  2.12e-04  1.31e-04     0.4
    4    -224.9420513580805618    -1.41e-07  6.77e-06  8.45e-05  3.57e-05     0.4
    5    -224.9420513663201859    -8.24e-09  2.93e-06  4.94e-05  1.99e-05     0.4
                 **** Energy Check signals convergence ****

               *****************************************************
               *                     SUCCESS                       *
               *           SCF CONVERGED AFTER   5 CYCLES          *
               *****************************************************

Recomputing exchange energy using gridx3       ... done (    0.293 sec)
Old exchange energy                            :     -5.607400344 Eh
New exchange energy                            :     -5.607355368 Eh
Exchange energy change after final integration :      0.000044976 Eh
Total energy after final integration           :   -224.942006391 Eh
             **** ENERGY FILE WAS UPDATED (ureia_gas.en.tmp) ****

Timings for individual modules:

Sum of individual times          ...      631.097 sec (=  10.518 min)
Startup calculation              ...      161.858 sec (=   2.698 min)  25.6 %
SCF iterations                   ...      277.844 sec (=   4.631 min)  44.0 %
Property integrals               ...       77.191 sec (=   1.287 min)  12.2 %
SCF Response                     ...       12.415 sec (=   0.207 min)   2.0 %
Property calculations            ...       21.116 sec (=   0.352 min)   3.3 %
SCF Gradient evaluation          ...       80.643 sec (=   1.344 min)  12.8 %
Geometry relaxation              ...        0.030 sec (=   0.001 min)   0.0 %
                             ****ORCA TERMINATED NORMALLY****
TOTAL RUN TIME: 0 days 0 hours 11 minutes 37 seconds 869 msec
Ao termino do programa você verá as informações de desempenho individual de cada um dos módulos do ORCA executados, seguido da mensagem (****ORCA_TERMINATED_NORMALLY****). Encerre o comando "tail -f ureia_gas.inp" com a combinação de teclas "ctrl+c".

⚛️ Tabela 3 - Arquivos de saída básicos e ureia_gas.inp (Extremamente Resumida)

Nome do Arquivo Tipo de Arquivo Conteúdo Principal Propósito/Importância
ureia_gas.inp Entrada"input" Seu arquivo de entrada principal, contendo todas as palavras-chave, blocos de configuração e coordenadas atômicas que você forneceu ao ORCA. Define o tipo de cálculo a ser realizado (otimização de geometria, frequência, funcional, conjunto de bases, etc.).
ureia_gas.out Saída (Texto) O principal arquivo de saída legível por humanos. Contém informações detalhadas sobre cada etapa do cálculo: inicialização, informações do sistema, progresso da otimização, resultados da energia eletrônica, informações sobre os orbitais, análises de população, frequências vibracionais (se solicitadas) e mensagens de erro/aviso. Essencial para verificar a convergência do cálculo, extrair a energia final, as coordenadas otimizadas, e analisar as frequências vibracionais (para confirmar se é um mínimo e calcular propriedades termodinâmicas). É o "log" completo do que o ORCA fez.
ureia_gas.gbw Binário Generalized Born-Oppenheimer Wavefunction (também chamado de "General Binary Wavefunction"). Este é um arquivo binário que armazena a função de onda completa do sistema, incluindo a geometria, o conjunto de bases, os coeficientes dos orbitais moleculares (MOs), as energias dos MOs, a matriz densidade, etc. É a "alma" do cálculo. Crucial para cálculos posteriores (como cálculos de propriedades, cálculos de TDDFT, ou para continuar um cálculo interrompido). É o ponto de partida para qualquer análise pós-processamento que dependa da função de onda.
ureia_gas.xyz Saída (Texto) Contém as coordenadas atômicas otimizadas (e às vezes as iniciais) da molécula no formato XYZ padrão (número de átomos, linha de comentário, e depois uma linha por átomo com o símbolo e as coordenadas x, y, z). Fácil de usar com visualizadores de moléculas, como Avogadro, VMD, ou Gabedit para inspecionar a geometria otimizada. As coordenadas deste arquivo são as que você usará como entrada para o próximo passo do tutorial (o cálculo de solvatação).
ureia_gas_trj.xyz Saída (Texto) Trajectory XYZ. Contém a sequência de geometrias de cada passo da otimização. Cada geometria é um "frame" no formato XYZ. Útil para visualizar o caminho da otimização de geometria, ou seja, como a molécula se moveu do ponto inicial até a geometria otimizada. Pode ser animado em softwares de visualização.
ureia_gas.opt Saída (Texto) Contém informações detalhadas sobre o processo de otimização de geometria, como o valor da energia em cada iteração, os gradientes (forças) e os passos tomados. Essencial para verificar a convergência da otimização. Se o cálculo não convergir, este arquivo pode ajudar a diagnosticar o problema, mostrando como os gradientes se comportaram ao longo das iterações.
ureia_gas.inp Entrada"input" Seu arquivo de entrada principal, contendo todas as palavras-chave, blocos de configuração e coordenadas atômicas que você forneceu ao ORCA. Define o tipo de cálculo a ser realizado (otimização de geometria, frequência, funcional, conjunto de bases, etc.).
ureia_gas.hess Binário/Texto Hessian. Contém a matriz Hessiana, que são as segundas derivadas da energia em relação às coordenadas atômicas. Esta matriz é usada para calcular as frequências vibracionais e para caracterizar o ponto estacionário (mínimo, ponto de sela). Essencial para o cálculo de frequências (Freq). A partir da Hessiana, as frequências vibracionais (e as intensidades IV e Raman) são calculadas. Permite confirmar se a geometria otimizada é um mínimo verdadeiro (sem frequências imaginárias).
ureia_gas.inp Entrada"input" Seu arquivo de entrada principal, contendo todas as palavras-chave, blocos de configuração e coordenadas atômicas que você forneceu ao ORCA. Define o tipo de cálculo a ser realizado (otimização de geometria, frequência, funcional, conjunto de bases, etc.).
ureia_gas.densities Binário/Texto Contém as matrizes densidade eletrônica (e spin, se for um cálculo irrestrito). Pode ser usado por outros softwares para análise de densidade de carga. Usado para visualização da densidade eletrônica ou para análise de carga mais avançada.
ureia_gas.densitiesinfo Saída (Texto) Informações adicionais sobre as matrizes de densidade Fornece metadados sobre o conteúdo do arquivo "ureia_gas.densities".
ureia_gas.bibtex Saída (Texto) Contém as citações bibliográficas no formato BibTeX para os métodos e conjuntos de bases utilizados no cálculo. Útil para referenciar corretamente os métodos quando você for escrever artigos ou relatórios científicos baseados nos seus cálculos.
ureia_gas.property.txt Saída (Texto) Um arquivo de texto que resume algumas propriedades importantes, como a energia total, as energias HOMO/LUMO, o gap de energia, e talvez outras informações de populações. Oferece um resumo rápido dos resultados mais importantes do cálculo em um formato mais fácil de ler e automatizar do que o ureia_gas.out completo.
Siglas da Tabela 3 e Seus Significados

Para sua comodidade aqui está a lista das siglas e seus significados, baseados na explicação dos arquivos do ORCA:

  • RKS: Restricted Kohn-Sham. Refere-se a um tipo de cálculo da Teoria do Funcional da Densidade (DFT) onde os elétrons de spin alfa e beta são restritos a ocupar os mesmos orbitais espaciais. É usado para sistemas de camada fechada (todos os elétrons emparelhados).
  • B3LYP: Beck's 3-parameter Lee-Yang-Parr. É um funcional híbrido amplamente utilizado em cálculos DFT. Ele combina uma porção de troca de Hartree-Fock com funcionais de troca e correlação DFT.
  • def2-SVP: Default Effective Core Potentials 2-valence Split Valence Polarization. É um tipo de conjunto de bases (basis set) desenvolvido pelo grupo de pesquisa de Karlsruhe. "SVP" significa "split valence polarization", indicando que a camada de valência é descrita por duas funções e funções de polarização são adicionadas para melhor descrever a distorção da nuvem eletrônica.
  • Opt: Optimization (Otimização). Uma palavra-chave no ORCA que instrui o programa a realizar uma otimização da geometria molecular, buscando a estrutura de menor energia (um mínimo no potencial de energia).
  • Freq: Frequency (Frequência). Uma palavra-chave no ORCA que solicita o cálculo das frequências vibracionais da molécula. Isso é feito a partir da matriz Hessiana e é crucial para confirmar se uma geometria otimizada é um mínimo verdadeiro e para calcular propriedades termodinâmicas.
  • CPCM: Conductor-like Polarizable Continuum Model. Um modelo de solvatação de continuum que representa o solvente como um meio contínuo com uma constante dielétrica específica. A cavidade molecular dentro do solvente se polariza em resposta à distribuição de carga do soluto.
  • Eh: Hartree. Uma unidade de energia atômica fundamental, equivalente a aproximadamente 27.211 eV ou 627.509 kcal/mol. É a unidade de energia padrão em cálculos de química quântica.
  • kcal/mol: kilocalorias por mol. Uma unidade de energia comumente usada em química para expressar energias molares, como energias de ligação, energias de reação ou energias de solvatação.
  • DFT: Density Functional Theory (Teoria do Funcional da Densidade). Um método de química quântica que calcula a estrutura eletrônica de sistemas multi-eletrônicos utilizando a densidade eletrônica como a principal variável.
  • SCF: Self-Consistent Field (Campo Auto-Consistente). O método iterativo usado para resolver as equações do ORCA (geralmente as equações de Kohn-Sham em DFT ou de Hartree-Fock) até que a densidade eletrônica e os orbitais eletrônicos não mudem significativamente entre as iterações.
  • MDCI: Multireference Dynamic Correlation Interaction (Interação de Correlação Dinâmica Multireferência). Um método para calcular a correlação eletrônica para sistemas onde a função de onda não pode ser descrita adequadamente por uma única configuração eletrônica (por exemplo, moléculas com múltiplos estados eletrônicos próximos ou ligações rompidas).
  • TDDFT: Time-Dependent Density Functional Theory (Teoria do Funcional da Densidade Dependente do Tempo). Uma extensão do DFT usada para estudar estados eletrônicos excitados e espectroscopia (como UV-Vis).
  • XYZ: Um formato de arquivo simples para coordenadas moleculares, que especifica o número de átomos, uma linha de comentário opcional, e em seguida as coordenadas cartesianas (X, Y, Z) para cada átomo.
  • HOMO: Highest Occupied Molecular Orbital (Orbital Molecular Ocupado de Mais Alta Energia).
  • LUMO: Lowest Unoccupied Molecular Orbital (Orbital Molecular Desocupado de Mais Baixa Energia).
  • MPI: Message Passing Interface. Um padrão para a comunicação entre processos paralelos, frequentemente usado em softwares científicos de alto desempenho para distribuir tarefas entre múltiplos núcleos de processador.

2. Cálculo de Solvatação da Ureia em Água

Preparar o Arquivo de Entrada para Solvatação: urea_solvation.inp Você precisará das coordenadas espaciais otimizadas da molecula de Uréia, que foram criadas no passo anterior. Que podem ser encontradas no arquivo "ureia_gas.xyz ou no final do arquivo ureia_gas.out (procure por FINAL OPTIMIZED GEOMETRY).

Arquivo de Entrada: ureia_solvation.inp

! RKS B3LYP def2-SVP Opt Freq
! CPCM(Water)
%pal nprocs 96 end
%maxcore 3000

*xyz 0 1
  N          -0.86064850849117      0.03162874334169      0.00012677795867
  C           0.52121228880622     -0.06306001378768      0.00002041563391
  O           1.16439190342629      1.13500394924583     -0.00010058328899
  N           1.22859189134129     -1.11805755762664      0.00003420462788
  H          -1.41826320365381     -0.81035371198372      0.00019491163691
  H          -1.35569721827739      0.91274489136270      0.00004276494861
  H           0.53773121738355      1.86795678081861     -0.00009243502781
  H           0.64593452146502     -1.95649007037079      0.00012723951082

Explicação das Modificações no urea_solvation.inp:

  • ! CPCM(Water): Esta é a palavra-chave mais importante aqui. Ela ativa o modelo de solvatação CPCM (Conductor-like Polarizable Continuum Model) e especifica que o solvente é água. O ORCA usa parâmetros internos para a água, como sua constante dielétrica.
  • As coordenadas XYZ: Foram copiadas as coordenas otimizadas geradas na etapa 1 do tutorial teste e coladas abaixo a linha 6 "*xyz 0 1". Você deve substituí-las pelas coordenadas otimizadas do seu arquivo ureia_gas.xyz ou ureia_gas.out. Certifique-se de que a geometria aqui é a otimizada na fase gasosa.
  • Opt Freq: Mantive Opt e Freq para que o ORCA reotimize a geometria da ureia na presença da água e calcule as frequências vibracionais nesse ambiente de solução. Isso é fundamental para um cálculo de energia de solvatação mais preciso.
  • %pal nprocs 96 end e %maxcore 3000: Mantive a configuração compatíves com os recusos dispóniveis para utilização do node escolhido.
Tendo o arquivo de entrada " ureia_solvation.inp" preparado. Execute o comando seguindo a mesma logica da etapa 1:
orca ureia_solvation.inp > ureia_solvation.out
E visualise o progresso de seus calculos com o comando "tail -f", como no exemplo abaixo:
tail -f ureia_solvation.out



***********************************************************************
           *        Program running with 96 parallel MPI-processes    *
           *              working on a common directory               *
           ************************************************************
-------------------------------------------------------------------------------
                                 ORCA GUESS
                   Start orbitals & Density for SCF / CASSCF
-------------------------------------------------------------------------------

3 Comparando os dados de "ureia_gas.xyz" e "ureia_solvation.xyz"

Como os arquivos "ureia_gas.xyz" e "ureia_solvation.xyz" são os estados conformacionais "mais otimizados" após os cálculos realizados.
É possível nele também encontrar os valores de energia total para cada estrutura final.
Com os comando "cat" ou "head" leia os valores de energia no cabeçalho de cada um dos arquivos "ureia_gas.xyz" e "ureia_solvation.xyz", como no exemplo abaixo:

[rafaelfs@sdumont2nd5 ureia_solvation]$ cat ureia_gas.xyz 
Coordinates from ORCA-job ureia_gas E -224.942006964523
...

[rafaelfs@sdumont2nd5 ureia_solvation]$ cat ureia_solvation.xyz 
Coordinates from ORCA-job ureia_solvation E -224.967705256678
...

⚛️ Tabela 4 - Entendendo os Valores Encontrados (Extremamente Resumida)

Arquivo Valor Energia(Eh) Interpretação
ureia_gas.xyz E_gasosa ​= −224.942006964523 Valor da energia total da ureia na fase gasosa (em Hartrees). Representa a energia da molécula no vácuo, em sua geometria otimizada.
ureia_solvation.xyz E_solução ​= −224.967705256678 Valor da energia total da ureia na fase de solução (em Hartrees), ou seja, com a presença do modelo de solvente (água) e com a geometria otimizada para esse ambiente.
Calculando a Energia de Solvatação

A energia de solvatação (ΔEsolv​) é a diferença entre a energia da molécula na fase de solução e a energia da molécula na fase gasosa.

ΔE_solv​ = E_solução ​− E_gasosa

Vamos calcular com seus números:

ΔEsolv ​= (−224.967705256678 Eh) − (−224.942006964523 Eh)
ΔEsolv​ = −0.025698292155 Eh

A unidade Hartree (Eh), também conhecida como energia de Hartree, é a unidade de energia no sistema de unidades atômicas. Para facilitar as analises, vamos converter esse valor de Hartrees para uma unidade mais comum e intuitiva como kcal/mol, usamos o fator de conversão:

Seu valor de CODATA (Committee on Data for Science and Technology) recomendado é:

1 Eh = 4.3597447222060×10−18 J (Joule)
1 Eh ≈ 27.211 eV (elétron-volts)
1 Eh ≈ 627.509 kcal/mol (quilocalorias por mol)
Usaremos este valor. -> 1 Hartree = 627.509 kcal/mol.

ΔEsolv = −0.025698292155 Eh×627.509 kcal/mol/Eh ΔEsolv​ ≈ −16.126 kcal/mol

Interpretação do Resultado

  • Um valor negativo para a energia de solvatação (−16.126 kcal/mol) indica que o processo de solvatação é exotérmico, ou seja, a ureia é mais estável (tem menor energia) na solução aquosa do que na fase gasosa.
Isso faz sentido, pois a ureia é uma molécula polar e forma fortes interações de ligação de hidrogênio com a água. Esse valor representa a energia liberada quando uma molécula de ureia é transferida da fase gasosa para a água.

Com isto o tutorial teste foi finalizado com sucesso:
Você completou o tutorial de solvatação da ureia com o ORCA e executou os cálculos em ambas as fases, calculando a energia de solvatação.

Se você quiser explorar mais, você pode:

  • Comparar este valor com dados experimentais (para ureia em água, a energia de solvatação experimental pode variar, mas −12 a -16 kcal/mol é uma faixa esperada).
  • Analisar outros detalhes nos arquivos .out: Como as frequências vibracionais (para confirmar que são mínimos verdadeiros, sem frequências imaginárias) e outras propriedades calculadas pelo ORCA.
  • Experimentar outros solventes ou modelos de solvatação (como o SMD, se o ORCA da sua versão suportar).

➡️ Execução via script SLUMR (srun ou .sbatch)

Abaixo estão dispostos os scripts SLURM para cada versão do ORCA, adaptados às partições do seu cluster conforme é possível observar através do comando o sinfo:

1.ORCA 6.0 AVX2 (x86-64)
Caminho: /scratch/app/orca/6.0_gnu_openmpi-4.1.6_avx2
Partição: lncc-cpu_amd
Script: orca_avx2.sbatch

#!/bin/bash
#SBATCH --nodes=1              # Usa 1 nó computacional
#SBATCH --ntasks-per-node=96   # 96 tarefas MPI por nó (total de núcleos CPU)
#SBATCH --ntasks=96            # Total de tarefas MPI (96 = 1 nó × 96 tarefas/nó)
#SBATCH -p lncc-cpu_amd        # Partição para CPUs AMD
#SBATCH -J orca_avx2           # Nome do job no SLURM
#SBATCH -o orca_avx2_%j.out    # Arquivo de saída padrão (com ID do job)
#SBATCH -e orca_avx2_%j.err    # Arquivo de erros (com ID do job)

echo "Nós alocados: $SLURM_JOB_NODELIST"  # Exibe os nós atribuídos
nodeset -e $SLURM_JOB_NODELIST            # Formata a lista de nós

cd $SLURM_SUBMIT_DIR  # Muda para o diretório de submissão do job

module purge  # Limpa módulos carregados anteriormente
module load orca/6.0_openmpi-4.1.6_avx2  # Carrega ORCA com OpenMPI otimizado para AVX2

# Executa o ORCA com redirecionamento de saída
$EXEC $INPUT > $OUTPUT
#Ou digite o comando implicitamente abaixo
orca ureia_gas.inp > ureia_gas.out

2. ORCA 6.0 Padrão (x86-64)
Caminho: /scratch/app/orca/6.0_gnu_openmpi-4.1.6
Partição: lncc-cpu_amd
Script: orca_std.sbatch

#!/bin/bash
#SBATCH --nodes=1              # Usa 1 nó computacional
#SBATCH --ntasks-per-node=72   # 96 tarefas MPI por nó (total de núcleos CPU)
#SBATCH --ntasks=72            # Total de tarefas MPI (96 = 1 nó × 96 tarefas/nó)
#SBATCH -p lncc-cpu_amd        # Partição para CPUs  
#SBATCH -J orca_avx2           # Nome do job no SLURM
#SBATCH -o orca_avx2_%j.out    # Arquivo de saída padrão (com ID do job)
#SBATCH -e orca_avx2_%j.err    # Arquivo de erros (com ID do job)

echo "Nós alocados: $SLURM_JOB_NODELIST"  # Exibe os nós atribuídos
nodeset -e $SLURM_JOB_NODELIST            # Formata a lista de nós

cd $SLURM_SUBMIT_DIR  # Muda para o diretório de submissão do job

module purge  # Limpa módulos carregados anteriormente
module load orca/6.0_openmpi-4.1.6   # ORCA com OpenMPI padrão

# Executa o ORCA com redirecionamento de saída
$EXEC $INPUT > $OUTPUT
#Ou digite o comando implicitamente abaixo
orca ureia_gas.inp > ureia_gas.out
3. ORCA 6.0 ARM64
Caminho: /scratch/app/arm/orca/6.0_arm64_openmpi-4.1.8
Partição: lncc-grace
Script: orca_arm.sbatch
#!/bin/bash
#SBATCH --nodes=1              # 1 nó ARM Grace
#SBATCH --ntasks-per-node=72   # 72 tarefas (núcleos Neoverse V2)
#SBATCH --ntasks=72            # Total de tarefas MPI
#SBATCH -p lncc-grace          # Partição específica para ARM Grace
#SBATCH -J orca_arm            # Nome do job
#SBATCH -o orca_arm_%j.out     # Saída
#SBATCH -e orca_arm_%j.err     # Erros

echo "Nós alocados: $SLURM_JOB_NODELIST"  # Exibe os nós atribuídos
nodeset -e $SLURM_JOB_NODELIST            # Formata a lista de nós

cd $SLURM_SUBMIT_DIR  # Muda para o diretório de submissão do job (OPICIONAL)
 
module load arch_arm                # Carrega ambiente para arquitetura ARM
module load orca/6.0_openmpi-4.1.8  # ORCA compilado para ARM64

EXEC=orca
INPUT=ureia.inp
OUTPUT=ureia_arm.out

#Comando utilizando variáveis
$EXEC $INPUT > $OUTPUT
#Ou digite o comando implicitamente abaixo
orca ureia.inp > ureia_std.out

📚 Documentação Adicional

Duvidas adicionais leia a documentação oficial em -> ORCA

Ou acesse a sessão de ajuda rápida dentro de cada modulo do ORCA com o comando abaixo:

module help orca/6.0_openmpi-4.1.6_avx2 

------------------------ Module Specific Help for "orca/6.0_openmpi-4.1.6_avx2" ------------------------

---------------------------------------------------------------------------------------------------------
-----------
Modulo: orca/6.0_openmpi-4.1.6_avx2
Descricao: Configura o ambiente para ORCA 6.0.1, compilado com GNU e otimizado para CPUs com AVX2, utiliz
ando OpenMPI 4.1.6 para paralelizacao.
Localizacao: Instalacao somente-leitura em /scratch/app/orca/6.0_gnu_openmpi-4.1.6_avx2
---------------------------------------------------------------------------------------------------------
-----------
Este modulo adiciona os executaveis do ORCA ao seu PATH e as bibliotecas necessarias ao LD_LIBRARY_PATH.
Tambem configura variaveis de ambiente para datasets e scripts auxiliares do ORCA.

Modo de Uso Basico:
1. Para carregar o modulo:
   $ module load orca/6.0_openmpi-4.1.6_avx2

2. Para executar um calculo do ORCA (ex: urea_gas.inp):
   Devido a uma caracteristica do ORCA para execucoes paralelas, e necessario especificar o caminho COMPL
ETO do executavel 'orca':
   $ /scratch/app/orca/6.0_gnu_openmpi-4.1.6_avx2/orca urea_gas.inp > urea_gas.out

   Para monitorar a execucao:
   $ tail -f urea_gas.out

3. Configuracao de Paralelizacao no arquivo .inp:
   Para utilizar '96' nucleos, inclua as seguintes linhas no seu arquivo .inp:
   ! Palavras-chave do calculo (ex: RKS B3LYP def2-SVP Opt Freq)
   %pal nprocs 96 end
   %maxcore 3000 (ou o valor desejado em MB)

   ATENCAO: O numero de nucleos ('nprocs') deve ser compativel com os recursos disponiveis na sua maquina
/cluster.

4. Variaveis de Ambiente Definidas:
   - PATH: Inclui /scratch/app/orca/6.0_gnu_openmpi-4.1.6_avx2
   - LD_LIBRARY_PATH: Inclui /scratch/app/orca/6.0_gnu_openmpi-4.1.6_avx2/lib
   - SHARED_ORCA_DATASETS: Aponta para o diretorio de dados compartilhados do ORCA.
   - SHARED_ORCA_SCRIPTS: Aponta para o diretorio de scripts auxiliares do ORCA.

5. Dependencias:
   Este modulo carrega automaticamente 'openmpi/amd/4.1.6.15.1' para garantir o funcionamento correto da 
paralelizacao.

6. Suporte e Documentacao:
   Consulte a documentacao oficial do ORCA 6.0 para detalhes sobre os metodos e palavras-chave.

Versão 6.0.1

Teste utilizando o exemplo Multiscale models - QM/XTB ONIOM.

O arquivo de entrada QM_XTB.inp, abaixo, foi modificado para executar com 96 processos.

!QM/XTB revPBE D4 DEF2-TZVP

%pal
     nprocs 96
end

%QMMM QMATOMS {0:11} END END
* XYZ 0 1
C   -0.701502936  -0.290627698   2.406884396
H   -1.183295956   0.395647770   3.098874220
H    0.349561571  -0.030321572   2.307833035
H   -0.794056854  -1.291605451   2.824039291
C   -1.448546246  -0.244876636   1.091815299
O   -2.660450004  -0.428479088   1.034345768
N   -0.670056563   0.005916557   0.009776912
H    0.326675319   0.122563958   0.141592839
C   -1.227054574   0.089793737  -1.319967541
H   -2.292024256  -0.106501186  -1.240877562
H   -1.077801692   1.079940300  -1.748543540
H   -0.776628489  -0.647999190  -1.983372734
C    2.041774914  -2.351697968   0.686397615
H    2.599999718  -3.261701204   0.480489612
H    1.113083056  -2.358227418   0.122072198
H    1.782555985  -2.328251269   1.743338615
C    2.809410856  -1.097285929   0.350160876
O    2.264224213   0.004150876   0.293188485
N    4.136169069  -1.266099696   0.136412906
H    4.512490369  -2.193345392   0.213170232
C    5.023407253  -0.159633723  -0.152535629
H    4.409214873   0.731176053  -0.232359342
H    5.750821803  -0.020167991   0.644867678
H    5.548397546  -0.319615451  -1.091677965
*

Script sub_orca_6.0.1.srm:

#!/bin/bash
#SBATCH --nodes=2                 #Numero de Nós
#SBATCH --ntasks-per-node=48      #Numero de tarefas por Nó
#SBATCH --ntasks=96               #Numero total de tarefas MPI
#SBATCH -p lncc-cpu_dev           #Fila (partition) a ser utilizada
#SBATCH -J teste_orca_601         #Nome job

#Exibe os nós alocados para o Job
echo $SLURM_JOB_NODELIST
nodeset -e $SLURM_JOB_NODELIST

#Configura o modulo
module load orca/6.0_openmpi-4.1.6_avx2

EXEC=$(which orca)
$EXEC QM_XTB.inp

Início


⚠️ **GitHub.com Fallback** ⚠️