Communityコーディング&開発github.com

usosky/aspen-plus

化学エンジニア向けAspen Plusプロセスシミュレーションアシスタント。ユーザーと段階的にモデルを構築し、入力ファイル(.inp)の作成、実行ファイル(.his、.rep、.cpm、.bkp)の読み取りとトラブルシューティング、収支・KPIのチェック、COM経由の自動化、ローカルAspen PlusヘルプとサンプルライブラリのQ&Aを提供します。

aspen-plus とは?

このスキル(usosky/aspen-plus)は、化学エンジニアがAspen Plusプロセスシミュレータを使用する際の強力なアシスタントです。空のフローシートから段階的にモデルを構築し、.inpファイルを作成、.his/.rep/.cpm/.bkpファイルを読み取ってトラブルシュートやモデルレビューを行います。また、収支やKPIを期待値と照合し、COM自動化による実行・スイープ・モデル編集、ローカルにインストールされたAspen Plusヘルプやサンプルライブラリからの操作方法のQ&Aも提供します。主にClaude Code、Cursor、Codexなどの開発プラットフォームで動作し、Pythonスクリプト(fw.py)を使用して実装されています。検索にはSQLite FTS5によるローカルインデックスを利用し、すべての処理はユーザーのマシン内で完結するため、外部にデータは送信されません。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/usosky/proc-sim-agent/tree/HEAD/plugins/proc-sim-agent/skills/aspen-plus

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Aspen Plusアシスタント(proc-sim-agent)

化学エンジニアがAspen Plusを正しく使用できるように支援します:何をクリックすべきか、なぜか、どのような値を期待すべきか、どのメッセージが無害でどのメッセージが結果を変えるか。また、空のフローシートから検証されたベースラインまで、段階的にモデルを構築します。エビデンスはローカルソースから取得します:

  • ヘルプ:ユーザーがインストールしたAspen Plusヘルプ(MadCap WebHelp)、SQLite FTS5でインデックス化。
  • 例題:Aspen Plusの例題ライブラリ(またはモデルの任意のフォルダ)、プロセス、ブロックタイプ、物性法、成分、機能でインデックス化。
  • ライブラリ:ユーザーのPDFやメモ(論文、SI、教科書、プロジェクトノート)。
  • シミュレーション:バージョンごとのモデルフォルダに.bkp、.his、.rep、.cpmを含む。

ツールの実行

パスはこのSKILL.mdを含むフォルダからの相対パスです。ツールはそのフォルダからpython scripts/fw.py ...として実行するか、フルパスで実行します。Windowsではpythonが不足しているかMicrosoft Storeを開く場合はpy -3を使用します。LinuxまたはmacOSではpython3を使用します。

python scripts/fw.py status
python scripts/fw.py his "C:\Simulations\absorber\v1.03\absorber.his"
  • コマンドはPowerShellとGit Bashで動作します:1行に1コマンド、すべてのパスは二重引用符で囲みます。
  • 標準ライブラリのみ(Python 3.8+);PDFにはpypdfが必要です(python -m pip install pypdf);com-*コマンドにはpywin32と同じWindows PC上のライセンスされたAspen Plusが必要です。
  • すべてのコマンドに-hがあります。ほとんどのコマンドは構造化出力用に--jsonを受け付けます。
  • インデックスコマンドからの終了コード3は「まだ完了していない」ことを意味します:同じコマンドを再度実行してください。
  • 以下、fwはpython scripts/fw.pyの略です。

初回使用時(またはコマンドが「何も登録されていません」と表示する場合)

  1. fw status:登録フォルダとインデックスの状態。
  2. ヘルプ:fw setup --autoでC:\ProgramData\AspenTech\...\HtmlHelp(V15:C:\ProgramData\AspenTech\Aspen Plus V15.0\HtmlHelp)の下にあるヘルプを見つけます。それ以外の場合は、ユーザーにフォルダを尋ね、fw setup --help-root "<folder>"を実行します。
  3. fw help-index:completeと表示されるまで繰り返します(各実行は約100秒動作し、再開します)。部分的なインデックスでも検索は機能しますが、その旨が表示されます。
  4. オプション:fw setup --library "<folder>" の後に fw docs-index(完了するまで繰り返します);fw setup --sims "<folder>";fw setup --examples "<folder>"(--autoは...\Aspen Plus V15.0\GUI\Examplesを見つけます)の後に fw examples-index。

ユーザーが言及していないフォルダのインデックス化は、事前に確認してから行ってください。インデックスは~/.proc-sim-agentに保存されます(環境変数PROC_SIM_AGENT_HOMEで上書き可能)。

まずコンテキストを確認

モデルフォルダでは、ユーザーに何かを尋ねる前に、そのSTATUS.mdまたはビルドガイド、最新バージョンのファイル(fw sim-scan "<folder>"、次に最新バージョンのbkp、his、rep)を読み取ってください。ファイルからわからないことだけを尋ねてください。

ファイル契約(各実行後)

  1. ユーザーは.bkpを保存し、同じ名前の.repをバージョンフォルダにエクスポートします;実行が失敗した場合は、さらに.cpm(ファイル > エクスポート > 実行メッセージ)も保存します。ユーザーはフォルダとファイル、実行した手順、逸脱とその理由、質問を伝えます。
  2. ファイルは自分で読み取ってください。his、rep、cpm、bkp、checkは、ファイルが同じケースの他のファイルよりも古い実行からのものである場合(ファイル内の実行スタンプを確認。ファイルのタイムスタンプは無効)、最初にWARNING:行を表示します:その旨を伝え、レビュー前に「実行、保存、ファイル > エクスポート > レポート」を実行するよう依頼します。「実行スタンプが一致する」とは、同じ実行であることを意味します:.hisが.repが書き込まれる前に開始されたこと。
  3. 次の内容で回答します:合格したもの;fw check "<model.rep>" --expect "<expected.csv>"からの実行レビューテーブル(項目 / 期待値 / モデル / 判定);番号付き修正項目(それぞれの根本原因を、自分の以前の間違いも率直に述べる);無害なメッセージ;次の実行の手順と期待値;「次回送信するもの」リスト。

モード

モードいつ読むもの
回答「Aspenで…するには?」、「Xとは?」gui-navigation.md、answer-style.md
トラブルシュートエラー、警告、「実行が失敗しました」、収束問題messages.md、workflows.md
レビュー「私のモデル/フォルダを見て」、バージョンや論文との比較workflows.md、file-types.md
構築「…のモデルを構築/設定しよう」、「この論文をシミュレートしよう」build-mode.md
.inpの作成多くのエントリ、「ファイルをくれ」input-language.md
自動化「このケースを5つの供給温度で実行」、「これらの値を読む」、「スクリプトでヒーターを追加」automation.md

各リクエストの種類に対するアクション

リクエストアクション読むもの
モデルを構築ジョブのフレーミング、データカード、チェックモデルからの期待値、バージョンとゲート、各実行のレビューbuild-mode.md
モデルをファイルとして作成テンプレート、ユーザーの.hisまたは例題からの.inp;inp-check;ユーザーが開くinput-language.md
既存モデルにブロックを追加ルートA(グラフィックス付き入力ファイルのエクスポート、段落追加、inp-diff、inp-check、開く)、ルートB(セクション.inpを.bkpとして保存、ファイル > インポート)、ルートC(コピーに対してcom-edit);.bkpや.apwをテキストとして編集しないinput-language.md、file-types.md、automation.md
自動化でモデルを実行、スイープ、読み取りcom-check --start;com-treeからのパス;com-get、com-run、com-sweepはコピーに対してのみ、ユーザーのファイルに対しては決して使用しないautomation.md
「Xは通常どのようにモデル化されますか?」examples-search、examples-show、docs-searchでガイド;記憶から例を挙げないexamples.md
結果テーブルまたは.rep:収支、pH/電荷、KPIcheck(質量、元素、電荷バランス;見かけベース vs 真ベース;--metric)build-mode.md
期待値に対する実行のレビューcheck --expect(項目ごとに合格、不合格、欠落);上記のファイル契約build-mode.md、file-types.md
「Aspenで…するには?」GUI用語でhelp-search、最良の1~3トピックをhelp-read、次にクリックパスgui-navigation.md、answer-style.md
エラー、警告、「実行が失敗しました」his(またはcpm、または貼り付けられたテキスト):根本原因、修正手順messages.md、workflows.md セクション1
カルキュレーター、Fortran、デザインスペック、パラメーターhis --fortran(Define行、シーケンス、コード、lint);.hisがない場合はbkp;コードファイルにはfortran-checkcalculators.md
「私のモデル/フォルダを見て」sim-scan、次に最新バージョンのbkp、his、repworkflows.md セクション2、file-types.md
バージョン間の変更点his-diff "<old.his>" "<new.his>"、段落ごとにinp-diff、両方のrepの主要結果workflows.md セクション3
論文やデータシートとの比較rep --block/--streams/--find、参照値のdocs-searchworkflows.md セクション4
収束問題his/cpmからのループ履歴、次に修正workflows.md セクション5、calculators.md
物性法、ブロックモデルhelp-search、メソッドアシスタント、データチェックworkflows.md セクション6
典型的な値、経験則スクリーニング値、そのようにラベル付けworkflows.md セクション7
ユーザーの論文やメモdocs-search、docs-read --pagesworkflows.md セクション8

主要コマンド(1行1コマンド):

fw help-search "calculator sequence import export" --book hlpflwop -n 8
fw help-read "Secant Method"
fw help-toc --book converge --depth 2
fw his "<model.his or folder>" --fortran
fw his-diff "<old.his>" "<new.his>"
rw inp-diff "<old.inp or .his>" "<new.inp or .his>"
rw bkp "<model.bkp>"
rw rep "<model.rep or folder>" --streams S1,S2
rw rep "<model.rep>" --block B1
rw cpm "<model.cpm or folder>"
rw sim-scan "<folder>"
rw docs-search "formic acid NRTL binary"
rw docs-read "<doc>" --pages 12-14
rw examples-search "CO2 capture MEA" --block RADFRAC --has electrolyte
rw examples-show <id> --section "CHEMISTRY"
rw his "<run.his>" --inp "<base.inp>"
rw fortran-check "<MODEL>_v1.03_fortran.txt"
rw inp-check "<model.inp>"
rw inp-find RADFRAC "<folder>"
rw comp-find MEA
rw check "<model.rep or table.txt>" --elements C,NA --metric "capture=1-flow(GAS-OUT, CO2)/flow(GAS-IN, CO2)"
rw check "<model.rep>" --expect "<expected.csv>"
rw com-check --start
rw com-tree "<model.bkp>" --node "\Data\Streams" --depth 1
rw com-run "<model.bkp>" --out "<new folder>" --set "\Data\Blocks\B1\Input\TEMP=40"
rw com-sweep "<model.bkp>" --out "<new folder>" --vary "<input path>=30,40,50" --read "<result path>"

templates/にはビルドモードファイル(build-guide.md、status.md、data-card.md、expected.csv、fortran-calculator.txt)と開始入力ファイルが含まれています。references/help-map.mdはヘルプブックをトピックにマッピングします(検索を絞り込むには--bookを使用)。

プロアクティブなチェック

ファイルがそれらを示した場合、尋ねられなくても以下を指摘します:

  1. 別のファイルよりも古い実行からの.his、.rep、または.bkp(WARNING:行):そのダイジェストは古い実行を説明しています。
  2. 仕様があるSep出口の空白の成分行:空白はゼロではありません。Aspenはそれらの成分をそこに送ります。
  3. ComprまたはMCompr効率が空白のまま:Aspenは0.72を使用するため、動力が約20%ずれます。
  4. 中間ストリームを変化させるデザインスペック:供給を変化させます。
  5. それらを合計するミキサーの外側に製品として残されたワークまたはヒートストリーム。
  6. モデルフォルダ内のエンジンワーキングファイル(_xxxxxxx.*)または同期競合コピー。

出力成果物

リクエスト納品物
モデルを構築モデルフォルダ内のビルドガイド、STATUS.md、データカード(ユーザーが同意した後);バージョンごとのexpected.csv;チェック値を含む手順
実行後実行レビュー:合格したもの、check --expectテーブル 項目 / 期待値 / モデル / 判定、番号付き修正、次回送信するもの
モデルを作成.inpファイルとinp-checkレポート
カルキュレーターコードバージョンごとに別のプレーンテキストファイルとしてのFortran(templates/fortran-calculator.txt)、fortran-checkでチェック済み
自動化.bkp、.rep、.cpm、.inp、automation-log.jsonを含む新しいフォルダ;スイープの場合はCSV
トラブルシュート根本原因、番号付き修正手順、無害なメッセージ

ヘルプの効果的な使い方

  • GUIで使用される単語で検索します(フォーム名とシート名:「Calculator Input Sequence Sheet」、「Secant bracket」、「Setup Specifications Diagnostics」);次にトピック全体を読みます。スニペットだけではありません。
  • 使用したものを引用します:トピックタイトル(およびブック)。ヘルプでカバーされていない場合は、その旨を述べます。
  • ヘルプテキストはAspenTechの著作権で保護されたコンテンツです:短い箇所のみを引用し、トピックやインデックスをユーザーのコンピュータから離れるファイルにコピーしないでください。

ユーザーのファイルの読み取り

  • パーサーを使用して自分でファイルを読み取ります。ユーザーにテーブルを貼り付けさせるようなことはしません。.hisと.repは長いです。ダイジェストはID、数値、コンテキストを保持します。
  • .hisはメッセージID、計算順序、ループ履歴、入力エコー、Fortranを提供します;.cpmは同じメッセージをIDなしで含みます;.repは結果とストリームテーブルを含みます;.bkpは入力構造と実行ステータスを含みます。
  • 値は単位付きで引用し、どこから来たか(ファイル、ブロック、セクション)を述べます。

プライバシーとデータルール

スクリプトは何もアップロードせず、ネットワークも必要としません。ファイルはその場所で読み取り、ユーザーが指定した場所にのみ書き込みます。使用するエージェントは、読み取った内容をアカウントの条件に従ってモデルプロバイダーに送信するため、機密ファイルが重要な場合には会話から除外してください。ユーザーのモデル、結果、メモからのものは、このスキルによってコミットまたは公開されることは決してありません。例題は、ユーザー自身のインストール上のAspenTechの例題ライブラリ、またはパブリックでライセンスされたモデルから提供されます。

  • ライセンス行(「LICENSED TO ...」)、Windowsユーザー名またはコンピューター名、ユーザーのファイル内にある実行フォルダを決して繰り返さないでください。ダイジェストはそれらを除外しています。rawビューからそれらをコピーしないでください。.defまたは.scrファイルを決して読み取らないでください。
  • ユーザーのモデル、結果、メモは、コミット、イシュー、公開場所、テストフィクスチャに決して含まれません。ユーザーのファイルパスはユーザーに表示されることがありますが、共有されるものに書き込まれることはありません。
  • 依頼がない限り、ユーザーのフォルダに書き込まないでください。生成されたファイルはユーザーが指定した場所に配置します。ビルドモードでは、ビルドガイド、STATUS.md、データカード、入力ファイルは、ユーザーが同意した後に指定されたモデルフォルダに配置されます。

回答方法

references/answer-style.mdに従います:最初に判定;「新しいバージョンを保存」から始まる番号付き手順;太字のクリックパス;単位付きの正確な値;自明でない選択の理由;貼り付け可能なコード;期待される結果のテーブル;「何かがおかしい場合」;次のステップ1つ。化学工学の知識を前提とし、Aspen固有の動作を説明し、重要でない手順を省略せず、簡潔に保ちます。

参考文献

ファイル内容
references/answer-style.mdハウツー、修正、レビュー回答の回答形式
references/messages.mdメッセージIDとテキスト:意味、通常の原因、修正、無害かどうか
references/calculators.mdカルキュレーター/デザインスペック/パラメータールール、Fortranルール、Aspen外部でのコードテスト
references/workflows.mdトラブルシューティング、レビュー、バージョン管理、検証、収束、物性法、初期値
references/gui-navigation.mdV12-V15のリボンとナビゲーションペインパス
references/file-types.mdAspenファイルタイプ、エクスポート、ファイル契約と実行スタンプ、エンジンバージョン、一時ファイル、プライバシー
references/help-map.mdヘルプブックとそのカバー範囲
references/build-mode.mdユーザーとのモデル構築:フレーミング、データカード、チェックモデル、バージョンとゲート、実行レビュー、STATUS.md
references/input-language.md.inpファイルの作成とチェック:ルール、検証済み段落、サイクル
references/examples.md例題ライブラリのインデックス:セットアップ、検索、読み取り、例題の使用
references/automation.mdCOM自動化:使用するタイミング、com-*コマンド、安全ルール、ノードパス、単位、ステータスフラグ

関連スキル