Claude Code Plugins

Community-maintained marketplace

Feedback

dqmc-generate

@edwnh/dqmc
16
0

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.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

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)