6. Projects & the workspace

A project is a folder: the inputs LatticeMind wrote, the pseudopotentials they use, the results and figures, the reports, and a record of the conversation. Projects are portable and reproducible — archive one, share it, or continue it later.

6.1. The folder you start in is the project

Change into the folder you want to work in and start LatticeMind there:

mkdir silicon-bands
cd silicon-bands
latticemind

That folder is the project. LatticeMind creates a hidden .latticemind/ directory in it for its own records, and writes the solver inputs, pseudopotentials/ and results/ directly into the folder. No parent or sibling folder is used.

Start LatticeMind in the same folder again and the conversation resumes, with everything it computed still in place. /new starts a fresh conversation there.

If one conversation goes on to a second project — a different material — that second project gets its own subfolder, named after it, inside the folder you started in.

For scripted or automated use, LATTICEMIND_ARTIFACTS_DIR overrides the folder:

export LATTICEMIND_ARTIFACTS_DIR=/path/to/outputs

On shared machines, HPC and cloud, point it at persistent storage so projects survive restarts.

Note

latticemind quick, the one-shot pipeline (Two runtimes), instead creates a project folder under latticemind_outputs/. Pass --no-subdir to make it work in the folder you started from.

6.2. Anatomy of a project folder

A RESCU project with an SCF, a band structure and a report typically contains:

silicon-bands/
├── scf.input                   # solver inputs, at the project root
├── bs.input
├── pseudopotentials/           # the potential files the inputs use
│   └── Si_PBE_TM_DZP.mat
├── results/
│   ├── si_scf.mat, si_scf.h5   # raw solver output for each run
│   ├── si_scf/                 # that run's logs (resculog.out, …)
│   ├── si_bands.mat, …
│   ├── plots/                  # band structure, DOS and other figures (.png)
│   ├── analysis/               # tables from approved analysis scripts
│   └── <report>.html, .md      # evidence reports written by /report
└── .latticemind/               # LatticeMind's own records (hidden)

File / folder

What it is for

*.input (RESCU), INCAR/POSCAR/KPOINTS (VASP), NanoDCAL .input files

The solver inputs LatticeMind wrote, at the project root. These are exactly what runs. VASP keeps one folder per calculation.

pseudopotentials/

The potential or basis files the calculations use, copied into the project so it stays self-contained.

results/

Raw solver output (.mat/.h5 for RESCU) and each run’s logs.

results/plots/

Figures. They are also shown inline in the browser and, where it supports images, in the terminal.

results/analysis/

Tables written by analysis scripts you approved.

results/*.html, results/*.md

Evidence reports. /report writes one for the latest answer and prints where.

.latticemind/

A hidden directory holding the conversation, the run records and the exact inputs and outputs every answer refers to. It travels with the project when you copy or archive it. You do not need to open or edit anything inside it.

If you edit an input file yourself, LatticeMind notices before the next launch and asks what the edit means rather than running over it. Files you add to the folder are left alone.

When you redo a calculation, the new run’s results take its place and the older run is marked as superseded, so an old number is not mistaken for the current one. The older results stay on record.

6.3. Where projects may be created

LatticeMind does not treat your home directory, the filesystem root, a system directory, or a software directory (the Python environment or the LatticeMind package itself) as a project. Started in one of those, it asks you to change into a project folder first, so a mistyped path cannot scatter project files across your machine. Any folder of your own works.

6.4. Ordinary file work in a folder you trust

LatticeMind reads files in the project without asking. Shell commands that change files — mkdir, mv, cp — ask first. If the folder is yours and you would rather not be asked about ordinary file work in it, say:

/trust yes         # ordinary file work in this folder runs without asking
/trust no          # ask each time (the default)
/trust             # show the current setting

Solver launches, deletions, anything outside the folder and anything touching .latticemind/ still ask. A file you want LatticeMind to use, such as a structure or a paper, is brought in with /attach <path> or by naming it in your request.

6.5. Resuming and organizing work

Starting LatticeMind in a project folder resumes it. /whereami shows the project folder, the model and who answers launch requests; /status shows what exists, what is running and what is waiting.

Because a project is a folder, you can copy it to another machine and continue there — the inputs and the potential files travel with the project.

To tidy the folder, ask in plain words — “create a directory called si_test and move everything into it, keeping the structure”. LatticeMind shows the moves it intends as one question; on yes it moves the files it published into that directory with their layout intact, removes the folders it empties, overwrites nothing and leaves the hidden .latticemind/ record where it is. Earlier results stay citable at their new paths.

Note

Continuing an interrupted RESCU calculation keeps the same input file and info.savepath, so a restart reuses the same inputs and result paths.