Skip to main content

BEACH(BEM + Accumulated CHarge)

GitHub Pages Fortran Docs Fortran Format PyPI version Python versions License: Apache 2.0

BEACH は、三角形表面上の電荷が作る電場を境界要素法(BEM)で評価し、その場の中を動く 荷電粒子を追跡する表面帯電シミュレータです。粒子が表面へ吸収されるたびに電荷を蓄積し、 次のバッチの電場へ反映します。

設定ファイルは run / domain / mesh / particles / fields / sheath / output の7グループです。 設定例と旧TOMLからの移行を参照してください。

現行版の中心は絶縁体表面の帯電です。体積プラズマを PIC として解くコードではありません。 外部シースは、必要な場合だけ計算領域上端へ Zhao 零電流根の電流・障壁として接続し、計算領域から出る光電子流出に 合わせて外部根を準定常に解き直せます。詳細は Zhao closure を参照してください。 詳しい適用範囲と更新順は BEACH の計算サイクル を参照してください。

帯電シミュレーションの電位変化

電子ビーム照射下での絶縁体メッシュ上の電位分布の時間発展

3D model: Rubber Duck PBR Game Ready (TurboSquid)

最初の実行

Linux、Python 3.10 以上、git、make、Fortran コンパイラが必要です。 HPC のログインノードではシミュレーションを直接実行せず、各サイトのジョブスケジューラから 計算ノードへ投入してください。以下の beach は、ローカル環境または計算ノードの割当内で実行します。

python -m pip install "git+https://github.com/Nkzono99/BEACH.git"

mkdir beach-tutorial
cd beach-tutorial
beachx config init beach.toml
beachx lint beach.toml
OMP_NUM_THREADS=1 beach beach.toml
beachx inspect outputs/tutorial

実行前には beachx lint を実行し、status=ok を確認してください。 入力値や組合せの詳しい診断は lint が担当し、シミュレーターは lint 済みの設定を前提にします。 この公式入門ケースは、毎 batch 200 個のマクロ電子を 20 batch 入射し、蓄積した負電荷が 後続電子を反射し始めるところまでを確認します。設定の意味、期待出力、図の読み方は 10 分チュートリアル にまとめています。 このサイトは main branch の挙動を説明します。PyPI の安定版は同じ入門設定をまだ含まない場合があるため、 上の最初の実行では GitHub 版を使用します。

目的別の入口

目的 読む順序
初めて使う インストール → 10 分チュートリアル → 最初の出力を読む
研究ケースを作る ケース設計 → 設定 → 実行・再開 → 妥当性確認
物理・数値モデルを理解する BEACH の計算サイクル → 表面はどう帯電するか → 場 solver の選び方
ソースを変更する アーキテクチャ → 開発とテスト
キーや API を調べる 入力パラメータ / Python API / Fortran API

ドキュメント全体の案内は BEACH Documentation にあります。

提供するコマンドとライブラリ

名前 役割
beach Fortran シミュレーション本体。--check-config は開発・診断用の読込確認で、lint の代替にはならない
beachx 設定検査、出力確認、可視化、負荷見積もり
beach Python package 出力の読込と独自解析

コマンドの全オプションは beach --help、beachx --help および beachx <command> --help で確認できます。

開発

python -m pip install fpm
python -m pip install -e . --no-build-isolation
make check

変更範囲に応じたテスト tier、MPI/OpenMP、KUDPC での実行方法は 開発とテスト を参照してください。

Metadata

Release files for beach-bem 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for beach-bem 2.0.0
File Size Uploaded
beach_bem-2.0.0.tar.gz 1.1 MB Details

Release files / beach_bem-2.0.0.tar.gz

Download URL beach_bem-2.0.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
674227a346b735a19c4ff28c6febea48a78b021bd4f7778ca13f57360ab0abba
BLAKE2b-256 checksum
How to use checksums
fdc46a02867c98efd4d72d0c0066478bdcede93abfa2000c7878d73ff90ad7fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.

Transparency log

Release history Release notifications | RSS feed

3.0.0

1 release file

This release

2.0.0 This release

1 release file

1.6.2

1 release file

1.6.1

1 release file

1.6.0

1 release file

1.5.0

1 release file

1.4.0

1 release file

1.3.0

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.0

1 release file

0.8.0

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.5

1 release file

0.6.4

1 release file

0.6.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page