← スキル一覧に戻る

dqmc-generate
by edwnh
⭐ 16🍴 5📅 2025年12月31日
SKILL.md
name: dqmc-generate description: Create HDF5 simulation files for DQMC with specified physical parameters. Use when setting up new simulations, specifying lattice size, interaction strength U, chemical potential mu, temperature (via dt and L), or number of Monte Carlo sweeps.
Generate Simulation Files
Inputs
| Input | Required | Default | Description |
|---|---|---|---|
Nx, Ny | No | 8 | Lattice dimensions |
U | No | 6.0 | On-site interaction strength |
mu | No | 0.0 | Chemical potential |
tp | No | 0.0 | Next-nearest neighbor hopping |
dt | No | 0.1 | Imaginary time step |
L | No | 40 | Number of time slices (beta = L*dt) |
n_sweep_warm | No | 200 | Warmup sweeps |
n_sweep_meas | No | 2000 | Measurement sweeps |
Nfiles | No | 1 | Number of independent bins |
prefix | No | sim | Output path prefix |
period_uneqlt | No | 0 | Unequal-time period (0=disabled) |
Outputs
{prefix}_0.h5,{prefix}_1.h5, ... - HDF5 simulation files{prefix}.h5.params- common params HDF5 file
Procedure
Option A: CLI (simple cases)
dqmc-util gen Nx=6 Ny=6 U=4.0 mu=0.0 dt=0.1 L=50 Nfiles=4 prefix=data/run/bin
Option B: Python (parameter scans)
from dqmc_util import gen_1band_hub
gen_1band_hub.create_batch(
prefix="data/run/bin", Nfiles=4,
Nx=6, Ny=6, U=4.0, mu=0.0, tp=0.0, dt=0.1, L=50
)
Choosing dt and L for a target temperature T:
import numpy as np
T = 0.25 # target temperature
U = 4.0
beta = 1.0 / T
dt = min((0.05/U)**0.5, beta / 10) # Trotter error constraint
L = int(np.ceil(beta / dt / 5) * 5) # L must be divisible by n_matmul and period_eqlt (defaults: 5)
dt = beta / L # recalculate exact dt
Validation
- Files created:
ls {prefix}_*.h5 {prefix}.h5.params - Trotter error check:
U * dt^2 <= 0.05
Failure Modes
| Symptom | Cause | Recovery |
|---|---|---|
| "File exists" error | Previous files not cleaned | Remove old files or use overwrite=1 argument |
| ValueError: L must be divisible ... | L must be multiple of n_matmul and period_eqlt | Adjust value of L and dt, keeping their product (beta) constant |
Do Not
- Overwrite existing simulation files without confirmation
- Ignore the Trotter error bound (
U * dt^2 <= 0.05)
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です