ORCAの入手とインストール
下記資料に具体的に記載されているので、ユーザー名とプログラムのバージョン名を除き、インストールフォルダ、実行フォルダは著者の指示にしたがった。
参考資料 macOS Arm64にORCAをインストールする https://tobiacavalli.com/writing/installing-orca-macos/
CLI(コマンドラインインターフェース)による実行(ターミナル)
環境
ORCAアプリの場所 /Users/<username>/Library/orca611/orca
実行フォルダ /Users/<username>/Desktop/orca_test
並列化に必要なアプリ Open MPI /Users/<username>/openmpi
open mpiは、最新版の509ではなく416を使用
注:新しいMac OSには、ORCAとそのサブプログラムが直接実行されないようにするセキュリティ機能がある。この機能を無効にするには、ターミナルでORCAディレクトリに移動し、次のxattrコマンドを実行する。
cd /Users/<username>/Library/orca611
xattr -d com.apple.quarantine *
注)特定の属性を削除: xattr -d <属性名> <ファイル名>
.zshrcへの追加項目
PATH(環境変数)を登録して、コマンド名だけでプログラムを呼び出せるようにする
export LD_LIBRARY_PATH=/Users/<username>/Library/orca611:$LD_LIBRARY_PATH
export PATH=/Users/<username>/Library/orca611:$PATH
export PATH=$HOME/openmpi/bin:$PATH
export LD_LIBRARY_PATH=$HOME/openmpi/lib:$LD_LIBRARY_PATH
インプットデータの作成
Avogadroで分子を描画、MMFFでエネルギー最小化、インプットデータを作成、保存する。
保存場所 Desktop/orca_test
理論の設定は化合物の特性に合ったものを用いる。化合物を明示してAIに訊ねると親切に教えてくれる。
理論は高歪化合物の評価に適したwB97X-D3 def2-TZVP def2/Jに変更した。
入力データの構造(MMFF94a)
実行コマンド
シングルコア処理
% orca tetrahedron-1.inp
マルチコア並列処理
% /Users/<username>/Library/orca611/orca tetrahedron-1.inp
計算結果がターミナル上に表示され、以下のメッセージが表示されれば正常終了。
****ORCA TERMINATED NORMALLY****
ターミナルの表示結果をファイルにも書き出す場合
% orca tetrahedron-1.inp > tetrahedro-1.out
Apple Scriptによる自動化
Apple Scriptの例
予めAvogadro等で作成したORCA入力ファイルをデスクトップにあるorca_testフォルダに保存する。
以下の手順をスクリプトに反映させた。
対話形式で入力ファイルを選択する。
ORCA計算が開始する。
5秒ごとに、orcaプロセスが実行中かチェックする。
計算終了を検知すたら、outファイルをAvogadro2で読み込み計算構造と軌道を表示する。
tell application "Finder"
activate
set workDir to "/Users/<username>/Desktop/orca_test"
set selectedFile to choose file with prompt "入力ファイル(inp)を選択してください:"
-- tell application "Finder"
set fileName to name of selectedFile
display dialog "入力ファイル名: " & fileName
set AppleScript's text item delimiters to "."
set extractedText to text item 1 of fileName
tell application "Terminal"
activate
do script "source ~/.zshrc; cd /Users/kh/Desktop/orca_test; /Users/kh/Library/orca611/orca " & fileName & " > " & extractedText & ".out" -- do script 行は改行しない
-- 次のステップでAvogadro2を起動するタイミングを決定(プロセス終了の検出)
set orcaRunning to true
set maxWaitTime to 1800 -- 最大待機時間 (秒) 要変更
set startTime to current date
repeat while orcaRunning is true and (current date) - startTime < maxWaitTime
delay 5 -- 5秒ごとにチェック (計算時間に合わせて調整)
try
-- プロセスが実行中かチェック (例: "orca"という名前のプロセス)
-- 'ps aux | grep orca' でプロセスを検索
set processList to do shell script "ps aux | grep -v grep | grep orca || true"
if processList is "" then
set orcaRunning to false -- orcaプロセスが見つからない場合は終了と判断
end if
on error
set orcaRunning to false -- エラーが発生した場合も終了と判断
end try
end repeat
end tell
end tell
-- Avogadro2によるoutファイルの読込みと描画(計算構造と軌道)
tell application "Avogadro2"
activate
open "Macintosh HD:Users:<username>:Desktop:orca_test:" & extractedText & ".out"
end tell
重要な点
マルチコアの場合、プログラムはフルパスで指定する。
マルチコアで動かない場合、source ~/.zshrcを追加する。
source ~/.zshrc; cd /Users/<username>/Desktop/orca_test; /Users/kh/Library/orca611/orca ---
インプットファイルの例(2プロセッサの場合)
-----------------------------------------------------------------------------------------------
# File Generated with Avogadro
# Tetrahedrane
#
! wB97X-D3 def2-TZVP def2/J Opt PrintMOs PrintBasis
%pal
nprocs = 4
end
* xyz 0 1
C -5.144383 2.422163 -0.297176
C -6.223556 1.446675 -0.057149
H -5.504320 3.251271 0.264741
H -4.013978 0.720377 0.147674
C -4.953878 0.842909 -0.346937
H -6.310876 1.598633 -2.163857
C -5.513524 1.643989 -1.455772
H -7.253879 1.307344 -0.297760
*
M1 Mac 計算時間
1プロセッサ
TOTAL RUN TIME: 21 minutes 7 seconds 123 msec
2プロセッサ
TOTAL RUN TIME: 13 minutes 7 seconds 109 msec
4プロセッサ
TOTAL RUN TIME: 8 minutes 22 seconds 249 msec
-----------------------------------------------------------------------------------------------
インプットファイルの例(1プロセッサの場合)
-----------------------------------------------------------------------------------------------
# File Generated with Avogadro
# Tetrahedrane
#
! wB97X-D3 def2-TZVP def2/J Opt PrintMOs PrintBasis
* xyz 0 1
C -5.144383 2.422163 -0.297176
C -6.223556 1.446675 -0.057149
H -5.504320 3.251271 0.264741
H -4.013978 0.720377 0.147674
C -4.953878 0.842909 -0.346937
H -6.310876 1.598633 -2.163857
C -5.513524 1.643989 -1.455772
H -7.253879 1.307344 -0.297760
*
----------
以下のように記載してもよい。
%pal
nprocs = 1
end
基底関数系(Basis Set)の選び方と決め方は化合物を明示してAIに相談した。以下はAIの提案理由。
wB97X-D3: 長距離補正交換相関汎関数にD3分散力補正を加えたもので、歪みの大きい分子構造を正確に評価するのに適しています。(B3LYP に変更しても問題ありません)
def2-TZVP: 前述の通り、DFT計算で信頼性の高い標準的なTriple-zeta基底関数系です。
def2/J: wB97X-D3 や B3LYP で自動適用されるRIJCOSX(Coulomb積分の高速化技術)のための補助基底です。
Avogadro2によるORCA最適化構造と分子毅道の表示
追記 更なる試み
MoleQueueを介してAvogadro2から起動
シングルコアは以下の設定で成功した。
設定項目
#!/bin/bash
/Users/<username>/Library/orca611/orca $$inputFileBaseName$$.inp > $$inputFileBaseName$$.out
マルチコアを以下で実行したが正常終了しない。現在検討中
#!/bin/bash
/opt/homebrew/bin/mpirun -np $$numberOfCores$$ /opt/orca611/orca $$inputFileBaseName$$.inp > $$inputFileBaseName$$.out
(2026.8.15)