Skip to main content

BEACH(BEM + Accumulated CHarge)

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

BEACH は、三角形メッシュで表した物体表面の帯電を計算するシミュレータです。 表面電荷が作る電場を境界要素法(BEM)で評価し、その場の中で荷電粒子を追跡します。 表面に到達した粒子の電荷を蓄積し、次のバッチの電場へ反映することで、帯電の時間発展を求めます。

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

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

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

特長

  • 表面電荷の電場を direct 法または高速多重極法(FMM)で評価
  • Boris 法による荷電粒子追跡と、表面での電荷蓄積
  • x・y 方向の周期セルと、外部シースモデルとの接続
  • 光電子放出、二次電子放出、浮遊導体
  • OBJ ファイルと組み込み形状を組み合わせたメッシュ入力
  • MPI・OpenMP による並列計算と、checkpoint からの再開
  • 設定検査、出力の確認・可視化を行う Python ツール beachx

インストールと最初の実行

Linux、Python 3.10 以上、git、make、Fortran コンパイラが必要です。

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
beach beach.toml
beachx inspect outputs/tutorial

beachx lint は設定ファイルのキー・値・組合せを実行前に検査します。 各手順の意味と出力の読み方は 入門チュートリアル で説明しています。

目的別の入口

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

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

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

名前 役割
beach シミュレーション本体(Fortran)
beachx 設定検査、出力確認、可視化、負荷見積もり
beach Python パッケージ 出力の読み込みと解析

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

開発

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

テストの種類と実行方法は 開発とテスト を参照してください。

ライセンス

Apache License 2.0

Metadata

Release files for beach-bem 3.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 3.0.0
File Size Uploaded
beach_bem-3.0.0.tar.gz 1.0 MB Details

Release files / beach_bem-3.0.0.tar.gz

Download URL beach_bem-3.0.0.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
217d76c08472dd86d7e8377b4af29744b5c22ddc2694b0af93b65bff20495608
BLAKE2b-256 checksum
How to use checksums
4fc82079b10215b1a8fa7ce288a74703f41e6c6fec148d228a8ca68f288207f9
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 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.0.0 This release

1 release file

2.0.0

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