You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Decohesive builds a rigid-separation series on one user-specified Miller plane via pymatgen `SlabGenerator`. It does **not** auto-enumerate planes (unlike `surface`) and has **no** crystal-type nested overrides (unlike `gamma`). Any structure that can form that slab is supported; set `miller_index` explicitly.
642
+
643
+
Recommended default planes by crystal family (JSON `miller_index` uses **3-index** Miller notation):
- HCP must use the **3-index** values above. Four-index Miller–Bravais vectors (e.g. `[0,0,0,1]`) are **not** accepted by `decohesive` (no Bravais conversion).
658
+
- Polar / multi-termination faces (common for zinc blende $(111)$ and some perovskite cuts) still generate; APEX takes the first matching slab termination from pymatgen.
659
+
- If the user does not specify a plane, prefer a low-index face from the table for the detected lattice and confirm before submit.
**If AskQuestion times out or fails**: state the intended APEX backend and bundled model selection (if LAMMPS+DPA) in plain text and WAIT. Never silently submit.
75
75
2.**STOP: Confirm property parameters before submission — DO NOT PROCEED WITHOUT USER ANSWER.** Before submitting, present the full `properties` configuration (JSON) to the user. Show the defaults that will be used and highlight:
76
-
- Miller indices (for surface/gamma/decohesive)
76
+
- Miller indices / slip systems (for surface/gamma/gamma_surface/decohesive)
Let the user approve or modify. **Skip ONLY if** the user provided explicit property parameters already.
81
88
**If AskQuestion times out or fails**: display the parameters in your message and WAIT for confirmation before submitting.
82
89
3.**Two-layer architecture.** The outer Bohrium job is a thin submission client only. Never attempt `apex do` for production workflows — use `apex submit` which delegates to dflow. See `reference/submission.md` for the full architecture diagram.
@@ -97,6 +104,7 @@ Options to offer via AskQuestion:
97
104
4.**Kill = inner FIRST, outer SECOND.** If you only kill the outer Bohrium node, the dflow workflow continues consuming resources silently. Always terminate the inner dflow workflow first. See `reference/workflow-control.md`.
98
105
5.**MUST use `generate_config.py`; never hand-write `param.json` or `global.json`.**
99
106
- Create the complete job with `python <skill-root>/scripts/generate_config.py create ...`.
107
+
- For multiple structures, pass repeated/space-separated `--structure` and/or `--structure-dir` to `create` (it copies each into `confs/<name>/` and fills `structures`); do not hand-edit `structures` after create.
100
108
- To preserve an approved `param.json` while refreshing credentials, run
and that `vasp_potcar/<entry>` exists in the uploaded directory; then run
179
+
`validate_inputs.py`.
180
+
If the library is missing/incomplete: **STOP**, tell the user the path is
181
+
unusable, and ask for the correct POTCAR location. Never submit with an
182
+
absolute host POTCAR path hoping the container can see it.
152
183
153
184
154
185
@@ -230,7 +261,15 @@ See `reference/submission.md` for the full validated template.
230
261
2.**Model files must be in job directory.** For MLIP workflows, the model file (`.pb`, `.pth`, `.model`, etc.) must be present in the submitted directory. Use relative paths in `param.json`. For DeePMD/DPA, copy `models/DPA-3.2-5M/DPA-3.2-5M-OMat24.pth`. Default to `"type_map": "auto"` for every LAMMPS interaction; specify a dictionary only when the user explicitly needs a fixed custom ordering.
231
262
3.**Joint workflow recommended.** Use `joint` flow (relaxation + properties) for most use cases to ensure proper relaxation before property calculations.
232
263
4.**GPU for ML potentials.** DeePMD, MACE, and NEP benefit from GPU acceleration. Set `scass_type` to a validated GPU SKU from `validate_apex_combo.py recommend --prefer gpu` (default: `"c8_m31_1 * NVIDIA T4"`).
233
-
5.**Supercell sizing applies to unit-cell inputs only.** For defect calculations (vacancy, interstitial), a total cell equivalent to at least a [2,2,2] unit-cell expansion is normally needed. For phonon, [3,3,3] total size is recommended (phonoLAMMPS may fail with a smaller total cell). If the input is already a supercell and the user declines further expansion, use `[1,1,1]`; do not apply these factors again.
264
+
5.**Supercell sizing depends on the input atom count, not only the default JSON.**
265
+
Treat defaults as targets for **unit-cell inputs**. First inspect the user's
266
+
structure; if it is already large enough, prefer `[1,1,1]` after confirmation.
If the cell is too small, ask the user to expand before submit. See
272
+
`reference/workflow-control.md`.
234
273
6.**Outer job machine.** Use `c1_m2_cpu` for the outer Bohrium job since it only calls `apex submit` and waits. Don't waste larger CPU or GPU resources on the submission client.
235
274
236
275
@@ -243,6 +282,18 @@ structures before property calculations. Read `reference/rss_workflow.md`
243
282
before asking the user questions or writing `rss.json`; it defines the required
244
283
QA, current JSON schema, output layout, and visualization fallback.
245
284
285
+
**Agent rules for RSS (mandatory):**
286
+
- Always set `"show_progress": false` in `rss.json`. tqdm step bars (default
287
+
`max_steps=20000`) flood captured terminal output and waste context; do not
288
+
leave progress enabled “to see if it is working.”
289
+
- After `apex rss`, judge success from files + metadata — not from live bars:
290
+
count `conf_*/POSCAR`, then read `rss_metadata.json` for convergence /
291
+
composition / duplicate warnings.
292
+
- If zero configs are written, do **not** re-call `generate_rss` from Python to
293
+
bypass the CLI. Fix `rss.json` (`max_steps`, `interval`, `num_configs`,
294
+
compositions, cell size) and re-run `apex rss` once; report the metadata
0 commit comments