4. Licenses and solver executables
The LatticeMind wheel supplies the assistant, validators, reports, and Python post-processing libraries. Configure a valid RESCU license before starting LatticeMind; the same license supports RESCU execution. If you plan to run NanoDCAL, configure a separate NanoDCAL license and the NeutralAtomDatabase.
4.1. The RESCU license used at LatticeMind startup
LatticeMind checks a valid RESCU license file before latticemind or
latticemind-web starts. This check also runs when the selected solver is
NanoDCAL. LatticeMind looks in the standard Nanoacademic directory:
Windows:
C:\Users\<YourUsername>\.nanoacademic\RESCULinux / macOS:
$HOME/.nanoacademic/RESCU
Put exactly one *.lic or *.license file there. If the file lives
elsewhere, or the standard directory contains more than one candidate, select
the exact file in .env or an environment variable:
LATTICEMIND_LICENSE_FILE=/path/to/rescu.lic
If LatticeMind cannot validate the selected RESCU license, it displays a
License check failed message. Check the file path, expiry date, host
eligibility, and whether the standard directory contains multiple candidates.
4.2. Running RESCU calculations
Input generation does not require a RESCU executable. RESCU execution does. By
default LatticeMind runs rescu from PATH; to select a specific build,
set one of:
LATTICEMIND_RESCU_CMD=/opt/esapp/rescu
RESCU_EXECUTABLE=/opt/esapp/rescu
Install RESCU from the Nanoacademic Portal and test the command directly before the first LatticeMind execution.
The wheel ships a runtime RESCU pseudopotential bundle. To use a different
extracted database, point at the directory containing nano_tm_lda/ and
nano_tm_pbe/:
LATTICEMIND_PSEUDO_ROOT=/path/to/pseudopotentials
RESCU_PSEUDO=/path/to/pseudopotentials
The bundled database covers 70 elements under LDA and 51 under PBE. Because
LatticeMind uses PBE by default, a material containing one of the LDA-only
elements — Ar, Ba, Bi, Br, Cs, F, He, Hg, I, K, Kr, Mn, Ne, Po, Rb, Rn, Sr, Te,
Xe — cannot run with the default functional from the bundle alone. LatticeMind
reports this before launching rather than silently substituting an LDA
potential, which would answer a different question. Supply the missing potential
through LATTICEMIND_PSEUDO_ROOT, or request LDA explicitly.
4.3. Running NanoDCAL calculations
The RESCU license configured for LatticeMind remains in place. To execute a NanoDCAL project, also configure these NanoDCAL components:
The NanoDCAL executable.
A separate NanoDCAL license on the local or remote computer that runs the calculation, following the NanoDCAL installation instructions.
The extracted NeutralAtomDatabase from the Nanoacademic Portal.
Set the executable and extracted database root in .env:
LATTICEMIND_NANODCAL_CMD=/full/path/to/nanodcal
LATTICEMIND_NANODCAL_DATA_PATH=/full/path/to/NeutralAtomDatabase
The Web UI exposes the same values under Settings -> Solver -> NanoDCAL in
the fields Local NanoDCAL command and NanoDCAL neutral atom data. Point
the data field at the extracted directory, not the downloaded archive.
LatticeMind searches that directory recursively for each requested element’s
*.nad or *.mat basis file. Missing element coverage blocks launch with
the missing symbols listed.
LatticeMind stages the selected basis files under the generated project’s
nanodcal_basis/ directory so the exact decks can run locally or in a remote
bundle. When sharing a project, please keep nanodcal_basis/ within the scope
of your Nanoacademic license.
For remote execution, the selected entry in
~/.latticemind/remote_profiles.toml must define nanodcal_command. The
remote computer must have NanoDCAL, its runtime dependencies, and an active
NanoDCAL license. See Remote & HPC execution and NanoDCAL support (experimental).
4.4. The built-in RESCU documentation
While it builds your calculations, LatticeMind looks things up in the RESCU documentation — and that documentation already ships inside LatticeMind. It works out of the box, offline, the moment you install, so for almost all users there is nothing to set up here.
If you ever want LatticeMind to read the docs from a different local folder (for
example a newer RESCU release), add one line to your .env:
RESCU_DOCS_DIR=/path/to/your/rescu_docs
Advanced — use an OpenAI vector store for retrieval instead
The built-in documentation is fully capable on its own and needs no vector store. If you specifically want retrieval to come from an OpenAI vector store (for example to add your own documents later):
Locate the shipped RESCU documents. Run
pip show lattice-mindand find the Location: line; the documents are under<Location>/rescu_agent/database/rescu.On https://platform.openai.com, open Storage → Vector stores, click Create, and name it (e.g.
RESCU docs).Open the store, click Add files, and upload all files from the
rescu_agent/database/rescufolder. Wait until each shows as ready.Copy the store ID (it begins with
vs_). Use your own account’s store.Add to your
.env:RESCU_RAG_BACKEND=openai OPENAI_VECTOR_STORE_ID=vs_your_store_id_here # if your account uses org/project scoping: OPENAI_ORG_ID=org_... OPENAI_PROJECT_ID=proj_...
4.5. Do I have everything?
To do this… |
You need |
Covered by |
|---|---|---|
Start LatticeMind |
Wheel + RESCU license + AI provider key |
this page and Connecting your AI model |
Generate & validate inputs |
Running LatticeMind; no solver executable required |
|
Run RESCU locally |
RESCU executable + startup license |
this page |
Run NanoDCAL locally |
NanoDCAL executable + NanoDCAL license + NeutralAtomDatabase |
this page and NanoDCAL support (experimental) |
Run calculations on HPC |
Remote profile + solver and solver license on the remote computer |
With the startup license, AI provider, and selected solver files in place, continue to Getting started.