5. Projects & the workspace
Everything LatticeMind does lives in a project — a self-contained folder holding the inputs it generated, the results it produced, the plots and report, and a complete log of what happened. Projects are portable and reproducible: you can archive one, share it, or resume it later.
5.1. Where projects are stored
By default, projects are created under a latticemind_outputs/ folder in your
current working directory, each in its own timestamped subfolder. Override the
root with:
export LATTICEMIND_ARTIFACTS_DIR=/path/to/outputs
On shared machines, HPC, and cloud, set this to persistent storage so projects survive restarts.
5.2. Managed vs. attached projects
Mode |
Behaviour |
|---|---|
Managed |
LatticeMind creates a new project folder under |
Attached |
LatticeMind works in place inside a folder you choose. Use
|
In place |
|
Use /workspace to inspect a folder before deciding, and /whereami to see
which project is active.
5.3. Anatomy of a project folder
A completed RESCU project typically contains:
my_project/
├── inputs/ # generated solver input decks
│ ├── scf_main.input
│ ├── dos_main.input
│ └── bs_main.input
├── results/ # solver output
│ ├── scf_main.mat # raw results (.mat / .h5)
│ ├── figures/ # band structure & DOS plots (.png)
│ └── analysis_summary.json # extracted quantities (band gap, …)
├── scripts/ # generated structure & post-processing helpers
├── report.html # the human-readable report
└── (status & log files) # bookkeeping LatticeMind manages for you
File / folder |
What it is for |
|---|---|
|
The solver input decks LatticeMind generated. These are exactly what is executed. |
|
Raw solver output ( |
|
Generated structure-building and post-processing helper scripts. |
|
The readable summary of the project: what was run, key results, and
figures. (Set |
|
A hidden directory holding the status, event-log and provenance records LatticeMind uses to resume a project, track progress and self-heal. It travels with the project when you copy, archive or share it, so the history of every number stays attached to the results. You do not need to open or edit anything inside it, and the project directory itself shows only the files you asked for. |
5.4. Where projects may be created
LatticeMind will 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, so a mistyped path cannot scatter project files
across your machine. Work in a subdirectory instead — a folder of your own, or
the latticemind_outputs/ directory LatticeMind creates for you. This holds
with /subdir off too: asked to work in one of those folders, LatticeMind
creates a project subdirectory anyway and says why.
When you work in a directory LatticeMind has not seen before, it may ask whether the files there are yours to read, because it can pick up structure files sitting alongside your work. Record an answer once and it is remembered, including for projects created beneath that folder:
/trust # show the current answer for this directory
/trust yes # allow LatticeMind to use structure files found here
/trust no # attach files explicitly instead
/trust forget # clear the recorded answer
Files you attach by name are always used; the question is only about files LatticeMind finds on its own.
5.5. Resuming and organizing work
/resume last # continue the most recent project
/title "Si phonons" # give the active project a readable display title
/whereami # show active project, backend, execution, next action
Because a project is just a folder, you can copy it to another machine and resume it there — the generated inputs and (for NanoDCAL) the basis files travel with the project.
Note
LatticeMind preserves input_filename and info.savepath when you
continue an interrupted calculation, so a restart reuses the same inputs and
result paths. If you change an input, downstream steps are marked stale and
recomputed.