smithery/taoeli

mxl-core

This skill should be used when users need the canonical MaxwellLink workflow, including socket vs embedded coupling, units/time handling, and MPI/HPC invariants.

Installation

$ npx skills add smithery/taoeli --skill mxl-core

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/taoeli · top by installs.

npx skills add smithery/taoeli

Browse all from smithery/taoeli

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,301 B
  • docs SUMMARY.md 177 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

MaxwellLink core workflow

Enforce invariants

  • Create new runnable inputs only under projects/YYYY-MM-DD-NAME/.
  • Keep runs reproducible by storing parameters in a config.json (or similar) and avoiding hard-coded absolute paths.
  • Never pass both hub=... and driver=... to maxwelllink.Molecule; provide exactly one.

Choose coupling mode

  • Use embedded mode when the driver can run in the same Python process:

- Construct molecules with Molecule(driver="<id>", driver_kwargs={...}).

  • Use socket mode when drivers must run as separate processes or nodes:

- Construct a SocketHub(...), pass hub=hub into each Molecule(...), and launch one mxl_driver --model <id> ... per molecule.

  • If local socket runs fail with MPI/network permission errors, prefer embedded mode (Molecule(driver="...", ...)) on local machines and reserve socket mode for SLURM/HPC.
  • For local socket mode, you can disable MPI auto-init with MPI4PYRCINITIALIZE=0 and ensure loopback NIC usage (use 127.0.0.1; set site-specific NIC selection env vars if MPI/OFI tries a non-loopback interface).

Handle units/time

  • For Meep: set timeunitsfs on MeepSimulation(...) and keep it consistent when interpreting driver times.
  • For SingleMode/LaserDriven: work directly in atomic units and set dt_au explicitly.

Handle MPI and multi-process execution

  • Launch socket drivers only once (rank 0) under MPI; rely on MaxwellLink broadcasts for other ranks.
  • Set generous timeout for HPC and tune latency to match driver cost.
  • If attaching many molecules, consider storeadditionaldata=False for most molecules to limit memory usage; keep it True only for the molecules you intend to export/plot.

Validate before running

  • Use skills/mxl-project-scaffold/scripts/mxlvalidateproject.py to sanity-check config.json and required files.
  • When debugging behavior, compare to patterns in tests/ and docs/source/usage.rst.

References

  • Solver choice: skills/mxl-core/references/solver_quickref.md
  • Driver choice: skills/mxl-core/references/driver_quickref.md