()

複数フラグメントAFIR

IRC・内部座標拘束・スキャン・適応CI-NEB・LUP系(CI-String)・熱化学・重ね合わせ、およびディスクへの履歴保存・モデル常駐については計算・解析の追加機能を参照してください。計算結果は既定でOSのユーザーデータ領域へ保存します。旧来のジョブ内メモリ保持に関する記載は以下の保存方式へ更新しています。

UMAの物理ポテンシャル(2026-10-19追加)

--engine umaではfairchem-coreのconservative UMAモデルとomolタスクを使用します。この接続は非周期分子専用です。電荷をAtoms.info['charge']、2S+1の多重度をAtoms.info['spin']へ渡し、ASEから返るeV・eV/Åをそのまま既存の数値計算へ渡します。TF32・compile・MoLE mergeを無効、general backend・float64を既定とし、精度は起動時に選択します。ジョブ途中やモードに応じて精度を変更しません。

MIN・AFIR-MINの固定座標、AFIRの物理/人工/合計エネルギーの分離、CI-NEBの端点固定・climbing force、SellaおよびASE有限差分は従来の共通実装を使用します。予測モデルをジョブ内で共有し、AtomsとASE結果キャッシュは画像ごとに分離します。ロード失敗・非有限値・メモリ不足は失敗状態とし、既に得たチェックポイントの保存とモデル情報を保持します。モデル・device・精度はローカルCLIのみで指定し、HTTPからの任意モデルパス・認証トークン・コマンド指定は受け付けません。モデル取得の認証情報を上流例外からブラウザへ漏らさないよう、読み込み・推論の例外を定型の対処案内へ変換します。

起動・接続確認はモデル取得を行いません。明示的な計算開始でモデル取得/ロードが始まり、その時間もジョブ上限に含みます。中止・タイムアウト時は計算プロセスを終了して一時ディレクトリを削除します。モデル重みのキャッシュは残ります。詳細は導入手順を参照してください。

任意の非周期分子を読み込み、描画上で複数の原子団と人工力のペアを指定します。設定・人工項の確認・保存・表示はブラウザ内で処理し、探索時の物理エネルギーと力だけを、このPCの計算エンジンへ依頼します。外部の計算サーバーへ座標を送信しません。

操作

  1. 分子を読み込み、未適用の座標編集を反映します。「AFIR / 原子団に人工力」を開きます。
  2. 原子をクリックして複数選択するか、右ドラッグで範囲を選び、名前を付けて「選択を登録」を押します。各原子団は色付きの輪で表示されます。登録済みの名前を押すと、その原子団を選択し直せます。
  3. 原子団A/B、「近づける/離す」、γを指定して「ペアを追加」を押します。2つ目の原子団を登録すると、A/Bの初期選択が異なる原子団になります。ボタンの下に追加完了とペアの行が表示されたことを確認してください。複数ペアを同時に適用できます。同一ペア内の原子重複や、A/Bを逆にした同じペアの二重登録は拒否します。追加できない理由はボタンの直下に表示し、設定は変更しません。異なるペアでの原子団共有は可能です。
  4. 全電荷・スピン多重度・探索予算・収束しきい値を確認します。「人工項を確認」では、物理ポテンシャルを呼ばず、座標を変えずに人工項だけを評価します。
  5. 「このPCの計算エンジンに接続」でNEBと共通の接続画面を開きます。ローカルサービスを起動し、URLと起動時のTokenを入力して接続します。AFIRにはbridge.py 1.1.0が必要です。接続後にダイアログを閉じ、AFIRパネルで探索を開始します。
  6. 結果を確認してJSONを保存します。「構造列を適用・再生」でFRAMESへ反映し、スライダーや再生ボタンで軌跡を確認します。計算前の構造はUndoで復元できます。入力の結合表は保持するため、形成・切断の判定は座標から別途確認してください。

入力JSONにはXYZ、永続的な原子ID、原子団、ペア、計算条件、enb-general-afir/1形式のPython用設定を含めます。Python側で使用する場合はxyzをinput.xyz、pythonConfigをconfig.jsonとして保存します。indicesはそのXYZの1始まりの原子番号です。通常のプロジェクト保存ではmetadata.afirに設定が残ります。接続Tokenは保存しません。

人工項と計算条件

各ペアについて、D = Σ(w_ij r_ij) / Σw_ij、w_ij = ((R_i + R_j) / r_ij)^6を使い、物理エネルギーにρ α Dを加えます。ρは引力で+1、斥力で−1です。重みの座標依存性も微分した解析力を用い、ペアごとに正規化した人工項を足し合わせます。

γはkJ/mol単位の衝突エネルギーの尺度で、障壁の上限を保証する値ではありません。Arの基準値R0 = 3.8164 Å、ε = 1.0061 kJ/molから次式でαへ換算します。

α = γ / { R0 [ 2^(-1/6) − (1 + sqrt(1 + γ/ε))^(-1/6) ] }

式中のγとεは同じエネルギー単位を使い、出力αをeV/Åへ変換します。γ=100 kJ/molではα≈1.231378 eV/Åです。γ=0は、この実装では人工項を解除する明示的な規約です。原子半径はASE 3.26.0のCordero共有結合半径です。プレースホルダー半径を避けるためAFIR入力はH〜Cmに限定します。

非周期・固定電荷・固定スピン、2〜500原子、2〜64原子団、1〜128ペア、最大10,000ステップです。g-xTBまたはtbliteでエネルギー・力を計算し、FIREで人工項を加えたポテンシャルを最適化します。既定は10,000ステップ、最大変位0.04 Å、最大有効力0.05 eV/Å。最大ステップに達する前に収束した場合は終了します。UIの「収束」は人工力下の収束を意味します。g-xTBとGFN系は明示的に区別し、失敗時の自動切替は行いません。

500ステップを超える探索にはbridge.py 1.1.1以降が必要です。旧サービスに接続している場合は開始時に更新を案内します。保存済み設定のステップ数は維持するため、既存のプロジェクトでは「最大ステップ」を必要な値に変更してください。ジョブの時間制限(既定30分)はステップ数と独立しており、必要に応じてサービス起動時の--job-timeoutで指定します。

収束しきい値と最大変位の上下ボタンは0を基準に0.01刻み、γは1 kJ/mol刻みです。細かい値は直接入力できます。計算時の下限(収束しきい値0.00001、最大変位0.001)は維持し、γは0を許可します。登録済みペアのγを変更しても入力欄を作り直さず、フォーカスと上下操作を継続できるようにしています。

MaedaらのAFIR論文の人工項を使った独立実装です。GRRM全体の再実装や、反応の網羅性を保証するものではありません。生成物・TSの確定には、人工力を外した経路緩和、TS最適化、振動解析、接続確認が必要です。これらの検証をAFIR探索の完了として自動認定しません。

保存・停止・再開

結果はmolecule-afir-trajectory/1で、全フレームの座標、原子ID、物理エネルギー・力、人工項、合計エネルギー、最大有効力、収束状態、計算条件のハッシュを保持します。物理エネルギーと人工項を混ぜて障壁と表示しません。計算開始後に構造・設定が変わった場合、結果による上書きを拒否します。

中止・時間切れ・計算エラーでは子プロセスを停止し、受領済みの評価済みフレームを暫定結果として返します。既定では入力条件・チェックポイント・結果をローカルディスクへ保存します。「計算履歴 / キュー」から最終評価構造と同じ条件で新しいAFIR計算を開始でき、親ジョブは保持します。FIREの内部状態まで復元する再開ではありません。--no-history の場合はメモリ保持だけになるため、必要な結果をJSONへ保存してください。

開発者向け

人工項・Ar定数・半径・データ形式を変更する場合はafir.test.cjs、afir-search.test.cjs、test_afir_engine.pyを再実行し、JSとPythonのエネルギー・力の一致を検証します。選択や保存形式を変更する場合はui.test.cjsとengine-browser.cjsを再実行します。エンジンや単位の変更には実g-xTBの有限差分試験が必要です。

検証記録はAFIR-VALIDATION.mdを参照してください。

エネルギープロファイルと構造表示(1.2.0)

結果の「エネルギープロファイルと構造を見る」で、描画エリアの下にグラフを表示します。描画エリア上部の「グラフを表示/隠す」で切り替えられ、非表示にしても結果は保持します。非表示中は最新構造への追従も停止し、届いた進捗や計算完了で勝手に開き直しません。

スライダーの左ドラッグ、点のクリックやTabで対応する構造をプレビューできます。スライダーと左右キーは全フレームを選択できます。マウスカーソルを動かすだけでは選択位置・表示構造を変えません。表示中の物理エネルギー、人工項、合計はeVで別々に示し、折れ線は各系列の始点との差を描きます。横軸は探索ステップであり、反応座標やTS検証を意味しません。

プレビューは入力座標・原子ID・保存内容・Undo履歴を書き換えません。「プレビューを終了」で入力表示へ戻ります。プレビュー中のキャンバスは視点の回転・拡大のみ可能です。座標の編集を行うとプレビューを終了します。「構造列を適用・再生」は構造列の適用後に再生を実際に開始し、FRAMESとグラフの選択位置を同期します。評価済み構造が1点だけならアニメーションはありません。適用前の入力には「戻す」で戻れます。

プレビュー・ライブ表示・フレーム切替では、表示する座標から推定結合を再判定し、距離の変化に応じて結合を追加・削除します。手動指定の結合・結合次数、および手動削除したペアの除外設定は保持します。これは共有結合半径と距離による描画上の推定であり、量子化学的な結合次数の計算ではありません。全履歴を表示のたびに再計算せず、選択中の1構造だけを判定します。

「計算中のエネルギー・構造を表示」はページ起動時にオフです。オンで開始すると、bridge.py 1.2.0以降から約0.6秒ごとに評価済みの進捗を取得します。NEB・CI-NEB・経路緩和では、経路全体のエネルギーと座標を取得し、点のクリック・Tab・スライダーで選んだノード番号を保って、そのノードの最新構造を描画します。選択後もグラフ全体の更新は継続し、計算終了時も同じノードを表示します。

「ライブ更新」を解除するかグラフを隠すと、追加取得と自動表示を止めます。AFIRのライブ表示はエネルギーの差分と最新1構造を取得します。AFIRなどの最適化履歴で過去のステップを選ぶと追従を停止し、未取得の座標は推測しません。全ステップの構造選択は計算終了後の結果で利用できます。失敗・中止時も、検証できた途中結果があれば同じグラフで確認できます。

計算設定などのダイアログは、外側の影付き背景をクリックして閉じられます。ダイアログ内の空白をクリックした場合や、中から外へドラッグした場合は閉じません。外部エンジンの設定画面を背景クリックで閉じても計算は続きます。停止には「計算を中止」を使ってください。背景クリックで入力中の条件を適用することはありません。

構造列の保存とノード抽出

計算結果またはグラフの「構造列を保存・抽出」を押すと、編集画面へ結果を適用せずに、XYZまたはGRRM LUPのinfile形式で保存できます。全構造・抽出した構造列のどちらも1ファイルにまとめます。AFIR・通常最適化では初期構造から最後の評価済み構造まで、NEB・CI-NEB・直交方向の経路緩和では最終経路上のノードを順に出力します。AFIRの中止・失敗時は取得済みの途中構造を保存できます。通常の構造最適化の全ステップ取得にはbridge.py 1.3.0が必要です。旧bridgeで既に終了した通常最適化の途中座標は復元できません。

抽出数は両端点を含む2〜元の構造数です。評価済み構造が1件しかない場合だけ1を許可します。指定数の、時系列順で重複しないフレームを選び、座標を補間した新しい構造は作りません。 AFIRでは人工項を除いた物理エネルギーの最高点も必須とします。最高点が内部なら最低3ノードとし、2ノードの指定は拒否します。同率の最高値が複数ある場合は、時系列で最初の1点を必須とします。

AFIRでは上記の等分抽出を基準に、両端点・平滑化前の物理エネルギー最高点・優先する極大点を保護します。必須点が等分抽出に含まれない場合は、番号または累積変位が最も近い未保護点と置き換えます。同距離なら若い番号を置き換え、最後に時系列順に並べます。ノード数は指定どおりに保ちます。

極大点を優先する設定は初期状態で有効です。中心移動平均の幅は1〜101の奇数(既定5)、端では存在するフレームだけを平均します。1なら平滑化なしです。平坦な頂上は中央(中央が2点なら若い番号)の1点で代表します。平滑化後の極大値と左右の隣接する谷との差の小さい方を「突出量」とし、最小突出量(既定0.01 eV)以上を候補にします。隣接する谷が端までない場合は端の値を使います。残りのノード枠には突出量の大きい候補から入れ、同じ突出量なら高いエネルギー、さらに同じなら若い番号を優先します。候補全部が収まらない場合は一部を省略し、画面に含まれる極大点数/候補数を表示します。「極大点を優先して残す」を外しても最高点は保持します。

平滑化は極大点の選択にだけ使います。座標を平均・補間せず、出力する物理エネルギー・人工項・合計にも平滑化を適用しません。抽出画面では元の物理エネルギー、移動平均、抽出点、保持する最高点を比較できます。強い振動では幅と突出量を調整してください。極大点はTS検証を意味しません。

「抽出列を描画へ反映・再生」は、選んだフレームを現在の構造列に置き換え、FRAMESで再生します。原子ID・原子順序・セル・電荷・多重度を保持し、表示する各構造で推定結合を更新します。エネルギープロファイルも抽出後の構造番号と同期します。変更はUndoで戻せます。上限は200フレーム・合計100000原子です。保存・テキスト表示だけなら現在の編集構造は変更しません。

「抽出列をCI-NEB入力に取り込む」は同じ構造列を反映し、「外部エンジン / 経路緩和」をCI-NEB・全構造の設定で開きます。通常NEBは操作メニューから削除し、3構造以上の経路を開いたときと、ノード追加後の再開もCI-NEBを既定にします。CI開始ステップ(初期値5)までは通常NEBで緩和し、以降は最高エネルギーの内部ノード1つを登らせます。CI開始ステップが最大ステップ数以上の場合は、計算を開始せず設定の修正を求めます。bridge.py 1.4.0では3〜100ノード・500原子までとし、電荷と多重度は元の計算条件を引き継ぎます。元の結果のエネルギーは表示用で、NEB計算では物理エネルギーと力を再評価します。人工力はNEBへ加えません。計算条件を確認して「実行」を押すまで通信・計算を開始しません。NEBでは両端点を固定するため、AFIRの最初・最後が目的の反応物・生成物になっているか確認してください。編集中の未適用座標がある場合や計算が実行中の場合は、構造列の取り込みを拒否します。通常最適化やNEBの結果からの抽出列にも、この描画・NEB取り込み操作を利用できます。

変位は質量重みなしの全原子RMS変位です。原子順序を固定し、回転・並進の位置合わせや周期境界での最小像への置き換えはしません。保存された座標に沿った長さであり、反応座標や質量重み付きIRCではありません。離散フレームの選択なので抽出間隔は必ずしも厳密な等間隔にはなりません。

XYZは元素とÅ単位の座標を元の原子順序で出力します。コメント行に元の構造番号、ステップ、物理エネルギー(eV)、AFIRの人工項・合計エネルギーを区別して記録します。周期系は拡張XYZのLatticeとpbcも保持します。XYZに結合次数・アプリ内の原子ID・AFIR設定は含まれないため、それらが必要な場合はプロジェクト/結果JSONも保存してください。保存・テキスト表示では入力・Undo・計算結果そのものを変更しません。

「保存形式」で「GRRM LUP infile(# NODE形式)」を選ぶと、<名前>_infile.logへ各構造の元素・Cartesian座標(Å)を書き出します。名前は計算開始時の構造名(未設定ならmolecule)を初期値とし、保存画面で変更できます。名前部分は最大60文字とし、ファイル名に使えない文字は_へ置換します。実際の保存名を画面に表示します。各ブロックの先頭は# NODE 0、# NODE 1、…とし、構造間だけを--の行で区切ります。抽出後も0からの連番に振り直し、座標・原子順序は保持します。XYZの原子数行、エネルギーなどのコメント、末尾の余分な区切りは付けません。電荷・スピン・計算手法・オプションを含むGRRM本体の計算入力は別途用意してください。周期セルと周期境界条件も含まれないため、周期系の結果では保存画面にその旨を表示します。

「全構造を表示」「抽出した構造列を表示」で、保存と同じデータの全文を読み取り専用のテキスト欄に表示できます。欄にフォーカスしてCtrl+A・Ctrl+C(Macでは⌘A・⌘C)でコピーできます。「表示データを全選択」も利用できます。表示操作ではダウンロードを開始しません。XYZとNODE形式の両方に対応し、形式・ノード数・抽出方法を変更すると表示内容を消すため、条件変更後は再度「表示」を押してください。大量の構造を開く際の負荷を抑えるため、全文の生成は表示・保存を押したときに行います。

長い軌跡では折れ線用の点数を約400点/系列に抑え、各区間の最小・最大エネルギーを残します。元データや選択可能なステップ数は減らしません。グラフはマウス移動だけでは構造を切り替えず、スライダー操作または点の選択で切り替えます。再生は2回/秒です。再生中のカメラ回転・平行移動・ズーム・視点ボタンでは再生を続けます。原子移動・原子団の変形などの編集操作、フレームの手動選択、停止ボタンでは再生を止めます。再生中に全軌跡を毎フレーム自動保存せず、停止時に保存を予約します。多数原子・長い軌跡では結果自体のメモリ量やJSON保存の負荷は残ります。

旧bridgeでもライブ表示をオフにすれば従来の計算と終了後のグラフを利用できます。ライブ表示を有効にしたまま旧bridgeに接続すると、計算送信前に更新を案内します。表示の有無で数値計算手法・収束条件は変更しません。

Sella TS探索・振動解析・NEB再分割

AFIRで得られた列をCI-NEBへ渡して緩和した後、結果表の任意のノードをSellaのTS入力にできます。PRFO/RFOは一次鞍点探索、通常のL-BFGS/BFGS/FIREは極小化です。どちらもAFIR人工力を自動では加えません。計算条件・元の原子ID・電荷・多重度を保持して渡し、結果は明示的な適用とUndoに対応します。

TSの力収束はTS検証そのものではありません。ASE Vibrationsは任意実行(既定オフ)で、未収束構造にも適用できます。中心差分の質量重み付きHessianから得た全3Nモードを表示し、虚振動は赤字です。並進・回転モードは射影除去せず、閾値以上の虚振動数を別記します。任意振幅の矢印・動画は入力座標を変更せず、選択したモードの±方向への明示的変位のみ入力を更新します。SCF失敗・キャンセル時に不完全なHessianを解析せず、最適化までの構造結果を保持します。

NEB実行中のノード追加は、最後の評価済み経路を保持して停止→指定区間の線形補間→新規ジョブとして再開、という操作です。既存ノード・端点は変更せず、速度・CI開始時点はリセットします。CIは1つのままで、複数候補は個別にTS探索します。最大100ノード、振動解析は最大200原子の非周期分子です。数値定義・必要パッケージ・データ保存先はローカルエンジン説明の10・11節を参照してください。

計算条件の既定値と描画座標の参照

ブラウザのCI-NEB初期条件は最大100ステップ、最大有効力0.05 eV/Å、最大原子変位0.03 Å、ばね定数1 eV/Ų、CI開始5ステップです。TS最適化の最大有効力は0.05 eV/Å、振動解析の有限差分幅は0.001 Åです。最大ステップ・有効力・最大変位などは操作モードごとにページ内で保持し、初めて開くモードには既定値を使います。入力した値はそのままジョブへ渡します。

全原子の座標欄は編集タブの外に常設します。計算中のライブ表示、結果の点選択、抽出列の再生、振動アニメーションで描画構造が変わると座標欄も更新します。結果のプレビュー中は参照専用・コピー可能で、入力構造・Undo・保存対象を自動で変更しません。未適用の編集は保持し、プレビューを終了すると元の書式・ヘッダー設定とともに戻します。ライブ表示は初回オンとし、AFIR・外部エンジンそれぞれのオン/オフと座標欄のXYZヘッダー表示をブラウザのlocalStorageに保存します。保存済みの真偽値がない場合はオンで開始し、保存が利用できなくても表示・切替は継続します。長い操作説明は閉じたdetailsから展開できます。

表示中の構造と振動ベクトル

「現在の構造」は座標欄・描画エリアの構造です。結果プレビューからTS・振動解析・単一構造の計算・AFIR・ランダム生成・構造編集を開始すると、その表示構造を単一構造の入力へ引き継ぎます。元の入力と構造列はUndoで戻せます。未適用の座標編集がある場合は上書きせず、先に編集の解決を求めます。XYZ/MOL/SDF/POSCARとプロジェクトの書き出し、初期経路の「現在の構造を使用」も表示構造を参照します。明示的な全フレーム操作は入力の構造列を対象とし、結果の全経路は結果画面から保存・適用できます。設定・書き出しを開くとアニメーションを停止して対象を固定しますが、計算中の進捗画面を開いてもジョブは停止しません。

振動矢印は各原子のモード変位ベクトルの比率を維持し、最大矢印長を既定1 Å(旧表示の最大0.15 Åから拡大)、スライダーで0.1〜5 Åに調整できます。表示倍率は動画・構造変位の振幅と独立し、解析結果、変位適用、計算条件を変更しません。矢印は相対変位であり、IR/Raman強度や温度による絶対振幅を表しません。

複数構造の独立最適化と比較

描画エリア上の「一括最適化」、または外部エンジンの同名操作から使用する。テキスト・複数XYZファイル・読み込み済みの全フレームを入力できる。通常のXYZは原子数とコメント行を保持する。ヘッダーなしは空行、--、# NODEで構造を区切る。区切りのない座標列では1構造の原子数を明示する(自動推測しない)。最大100構造、各500原子。同じ元素順序・固定セルを検証し、File-orderに基づいて原子IDを統一する。

各入力から既存の単一構造 optimize ジョブを順次実行する。前構造の結果を次の初期座標には使わず、AFIR項・経路ばね・振動解析は加えない。FIRE・ASE L-BFGS・ASE BFGS、共通の電荷・多重度・収束条件を開始時に固定する。既存のローカルbridgeと通信し、新しいサーバーモードは不要。AFIRと外部計算の同時開始は抑止する。

比較表とグラフは最終電子エネルギーを表示し、完了分(未収束のステップ上限を含む)の最低値からの差を表示する。表はeVの絶対値とkJ/molの差(1 eV = 96.4853321233 kJ/mol)、グラフはeVの差。入力順とエネルギー順を切り替えられる。失敗・中止の途中結果は状態を明記して個別閲覧・JSON保存できるが、比較基準と一括XYZ・フレーム取り込みから除外する。収束判定は極小点の振動解析による確認を意味しない。

エンジンが返す確定した1構造の失敗は後続を続行する。中止は実行中のジョブを止め、残りを未実行とする。接続断・不正な応答では稼働状態が不明なので後続を送信しない。計算済みの最終結果を保持する。入力条件と最終構造・エネルギーをJSONで、比較表をCSVで、完了した全最終構造を連続フレームXYZで保存可能。全最適化ステップの履歴は一括画面では保持しない。結果の取り込みは明示操作・Undo可能で、計算開始後に編集した構造や未適用の座標を上書きしない。結果はこのタブのメモリーに保持し、再読み込みすると失われるため必要なものは保存する。Tokenは結果ファイルに含めない。

MIN・AFIR-MINの原子固定

分子ビュー上の「原子固定」から指定する。原子番号は1始まりのFile-orderで、カンマ・空白・範囲(例 1, 4-8)を受け付ける。描画上で選択した複数原子、または登録済みAFIR原子団を追加できる。原子団の追加は、その時点のメンバーを固定リストへコピーする。以後のAFIR原子団編集には連動しない。既定オフ。プロジェクトには metadata.constraints の安定した原子IDリストを保存し、実行時に0始まりの fixedAtoms へ変換する。入力途中の番号も実行直前に検証・適用する。削除済みID、全原子固定、非対応の計算モード、固定に未対応の接続先は計算送信前に拒否する。

固定するのは各原子のCartesian X・Y・Z全成分。アンカーは各ジョブの開始位置で、構造の並進・回転による再配置や剛体運動は行わない。FIREでは有効力の固定成分をゼロにし、速度と更新座標も拘束する。ASE L-BFGS/BFGSでは FixAtoms を使う。物理エネルギーとAFIR人工項は固定原子との相互作用も含む全系で評価し、結果の forces は未射影の物理力を保持する。effectiveFmax・imageFmax・収束判定は可動原子の有効力に基づく。AFIRの physicalFmax は固定原子も含む物理力最大値で、人工力下の収束をTSや非拘束系の極小点と解釈しない。

一括MINでは現在の構造と全入力の元素・原子順を検証し、同じ番号を各入力の独自の初期位置に固定する。各結果と中止・失敗時の評価済み途中結果にも固定番号を記録する。受信時は全履歴の固定座標と要求条件を検証し、拘束が破られた結果を適用しない。MIN/AFIRの結果JSONは固定情報を保持する。XYZやGRRM NODE形式には拘束命令は含まれない。

原子固定はMIN(FIRE/L-BFGS/BFGS)・AFIR-MIN(FIRE)・緩和スキャンに対応する。距離・角度・二面角拘束も同じモードで併用でき、複合拘束では全拘束をまとめて射影する。部分軸のみの固定、TS・IRC・CI-NEB・振動解析には未対応。非対応モードでは固定を明示的にオフにする。クライアントはサービスの対応機能を確認し、古いサービスへ拘束付きの計算を送らない。

結合の自動更新と手動編集

最適化中のプレビューでは更新座標で推定結合を判定する。最適化結果の適用・抽出時は各フレームの結合を判定して保存する。フレーム移動・再生自体は保存済み結合を使い、後から編集した結合を自動で作り直さない。手動の原子移動、原子団変換、距離・角度・二面角編集、同じ原子列の座標欄編集、セル編集、振動の表示・変位では結合を自動更新しない。原子追加時も既存原子へ自動結合しない。テンプレート追加はテンプレート内の結合と明示的に指定した接続のみを取り込む。

新しいXYZなどの読み込み・構造生成では初期結合を推定する。編集後に必要な場合は「結合」タブの「推定結合を再計算」を明示的に使う。手動指定した結合は保持し、Undoで戻せる。

選択原子団のコピーと貼り付け

分子ビュー上のボタンまたは、描画エリアにフォーカスがあるときの Ctrl / ⌘ C・V で操作します。コピー対象は表示中の選択原子と、その両端が選択されている結合です。内部の結合次数・種類、形式電荷・同位体などのMOL属性を保持します。外との結合は含めず、水素補完やホスト構造との結合推定を行いません。新しい原子・結合IDを発行し、既存IDは変更しません。新原子には原子固定・AFIR原子団・計算結果・原子マッピングを継承しません。貼付先の既存原子の固定条件・原子団指定は維持します。全電荷・多重度は貼付後の構造に合わせて再確認してください。

通常は、既存構造の最大Xとコピーの最小Xとの間を2.5 Å空け、Y・Zの原子重心を合わせて配置します。空の構造へは元の座標のまま貼り付けます。貼付直後に新原子を選択し、原子移動モードへ切り替えます。現在のフレームだけを編集し、別フレームへ一括追加はしません。計算結果プレビューへの貼付は表示構造を入力に採用し、1回のUndoで貼付前の入力へ戻せます。計算中・未適用の座標編集がある場合・クリップボードの許可待機中に構造が変わった場合には貼付を拒否します。貼付した構造の旧計算エネルギーは除去します。

OSのクリップボードへは選択原子団だけのMOL V3000テキストを書き込みます。貼付はMOL / XYZの1構造に対応し、XYZのみ内部結合を推定します。クリップボードAPIが拒否された場合、ボタンはそのページで最後にコピーした原子団を使用し、ステータス欄で明示します。このページ内コピーは新規作成・ファイル切替でも保持しますが、ページを閉じると失われます。ページ内コピー自体をプロジェクトやlocalStorageへ保存しません。OSのクリップボードの保存・同期はOS設定に従います。

UMA + AnySolvの物理ポテンシャル

外部エンジンのAnySolvをオンにすると、通常最適化・一括最適化・AFIR・CI-NEB・Sella TS・ASE振動解析に共通して、UMAと溶媒補正のエネルギー・力を加算します。AFIRの energies は溶媒補正込みの物理エネルギー、biasEnergies は人工項、biasedEnergies はその合計です。energyComponents には気相UMAと溶媒補正を別々に保存します。気相への暗黙のフォールバックはしません。GPUは各モデルを独立プロセスへ割り当て、AnySolvの要求を送ってからUMAを評価します。完全に評価できたフレームだけを保存・表示し、片方の失敗や中止時に未評価のフレームを足しません。振動解析の途中で失敗した場合は、解析前の評価済み構造を保存します。

導入・選択GPUの番号・精度・モデルファイルについては 導入案内 を参照してください。溶媒補正を含めても、人工力下の収束はTS検証ではありません。

LUP系(CI-String)の数値仕様

mode=lup は、LUPと共通する超平面内緩和に、string法の再分布とCIを組み合わせた独立実装です。GRRM公式LUP案内で説明される、端点のMIN・各極大点のTS最適化や独自の粗密切替を再現するものではありません。string法の著者による説明とASEのNEB・string資料を参照し、ここで使用する更新規則を明示します。

有効力の閾値、CI開始済み、再分布残差の閾値を満たして初めて収束とします。自動追加が指定されている場合は、その既存の離散化条件も適用します。上限終了は未収束です。最高点はTS候補として出力し、端点の事前MIN、TSの虚振動数とIRCの接続確認を省略しません。履歴からの再開は最終評価経路を初期値にした新しい計算で、FIRE/L-BFGS内部状態を復元する厳密リスタートではありません。