Preparing Input Files for CHAMP¶
CHAMP requires a well-structured set of input files to perform quantum Monte Carlo calculations. This section provides comprehensive guidance on preparing all necessary input data, from molecular geometry and wavefunctions to Jastrow factors and calculation parameters.
Overview¶
Running a CHAMP calculation requires two main components:
- Main input file (
.inpor.in) - Contains calculation parameters and references to data files - Supporting data files - Geometry, basis sets, orbitals, determinants, and Jastrow factors
CHAMP offers two primary methods for input preparation:
Method 1: TREXIO Files (Highly Recommended)¶
The modern approach uses TREXIO files (HDF5 or text format) to provide most input data in a standardized format:
- Single file contains geometry, basis sets, orbitals, and determinants
- Standardized format compatible with multiple QMC codes
- Generated by quantum chemistry codes (Quantum Package, PySCF, etc.)
- Simplifies input preparation and reduces errors
- Only Jastrow factors need separate files
Example input with TREXIO:
%module general
title 'VMC calculation using TREXIO'
mode 'vmc_one_mpi'
%endmodule
load trexio butadiene.hdf5
load jastrow jastrow.jas
load jastrow_der jastrow.der
%module blocking_vmc
vmc_nstep 20
vmc_nblk 100
vmc_nblkeq 1
vmc_nconf_new 0
%endmodule
See the TREXIO Input Guide for complete details.
Method 2: Individual Data Files (ASCII txt files)¶
The traditional approach uses separate files for each component:
Example input with individual files:
%module general
title 'butadiene VMC calculation'
pool 'pool/'
pseudopot 'BFD'
basis 'BFD-T'
mode 'vmc_one_mpi'
%endmodule
load molecule $pool/champ_v3_butadiene.xyz
load basis_num_info $pool/champ_v3_BFD-T_basis_pointers.bfinfo
load determinants TZ_1M_5k.det
load orbitals champ_v3_ci1010_pVTZ_1_orbitals.lcao
load symmetry champ_v3_ci1010_pVTZ_1_symmetry.sym
load jastrow jastrow_good_b3lyp.0
load jastrow_der jastrow.der
%module electrons
nup 11
nelec 22
%endmodule
%module blocking_vmc
vmc_nstep 20
vmc_nblk 100
vmc_nblkeq 1
vmc_nconf_new 0
%endmodule
Required Input Components¶
Essential Data (Required)¶
| Component | Description | TREXIO | Traditional |
|---|---|---|---|
| Molecular Geometry | Atomic coordinates and nuclear charges | ✓ Included | Separate file |
| Basis Sets | Gaussian basis function definitions | ✓ Included | Separate files |
| Basis Pointers | Mapping between atoms and basis functions | ✓ Included | Separate file |
| Molecular Orbitals | MO coefficients from DFT/HF/MCSCF | ✓ Included | Separate file |
| Determinants/CSFs | Wavefunction determinants or CSFs | ✓ Included | Separate file |
| Electron Count | Number of up/down electrons | ✓ Included | Module parameter |
| Jastrow Factors | Correlation factor parameters | ✗ External | Separate file |
Optional Data¶
| Component | Description | TREXIO | Traditional |
|---|---|---|---|
| Pseudopotentials | Effective core potential (ECP)/pseudopotential | ✓ Included | Separate file |
| Jastrow Derivatives | For Jastrow optimization | ✗ External | Separate file |
| Orbital Symmetries | For symmetry exploitation | ✓ Included | Separate file |
| Orbital Eigenvalues | For reference energies | ✗ External | Separate file |
Input File Structure¶
CHAMP input files use a modular structure with %module blocks defining different aspects of the calculation:
Common Modules¶
%module general
# Global settings: title, file paths, calculation mode, verbosity level
%endmodule
%module electrons
# Electron configuration: nup, nelec
%endmodule
%module blocking_vmc
# VMC parameters: steps, blocks, equilibration
%endmodule
%module blocking_dmc
# DMC parameters: time step, target population
%endmodule
%module optwf
# Wavefunction optimization parameters
%endmodule
Each module contains keyword-value pairs specific to that calculation aspect. See individual sections for detailed keyword documentation.
Data Loading Commands¶
CHAMP uses load commands to read external data files:
# TREXIO file (contains multiple data types)
load trexio molecule.hdf5
# Individual data files
load molecule geometry.xyz
load basis_num_info basis_pointers.bfinfo
load determinants determinants.det
load orbitals orbitals.lcao
load jastrow jastrow.jas
load jastrow_der jastrow.der
load symmetry symmetry.sym
load eigenvalues eigenvalues.eig
Path conventions:
- Absolute paths:
/full/path/to/file.xyz - Relative paths:
./pool/file.xyzorpool/file.xyz - Variable expansion:
$pool/file.xyz(wherepoolis defined in%module general)
Typical Workflow for Input Preparation¶
Starting from Quantum Chemistry Calculations¶
- Perform electronic structure calculation
- Use DFT, Hartree-Fock, or MCSCF in codes like GAMESS, Quantum Package, or ORCA
-
Optimize geometry, compute orbitals and determinants
-
Generate CHAMP input files
- Option A (Recommended): Export to TREXIO format
- Use
trexio_toolsor quantum chemistry code plugins - Provides single HDF5 file with all wavefunction data
- Use
-
Option B: Convert individual files to CHAMP format using the script provided
- Extract geometry, basis sets, orbitals, determinants separately
- Use conversion scripts from quantum chemistry output
-
Create or optimize Jastrow factors
- Start with simple Jastrow (e.g., 2-body only)
- Optimize parameters using VMC optimization
-
Optionally include 3-body terms
-
Set up calculation parameters
- Define electron count (
nup,nelec) - Choose calculation mode (VMC, DMC, optimization)
-
Set sampling parameters (steps, blocks, walkers)
-
Validate inputs
- Run short test calculation
- Check energy convergence
- Verify file paths and data loading
Input File Sections Reference¶
TREXIO Files
Molecular Geometry
Effective Core Potentials
Basis Sets
Basis Set Pointers
Molecular Orbitals
Determinants and/or Configuration State Functions
Jastrow Factors
Jastrow Derivatives
Molecular Orbital Symmetries
Molecular Orbital Eigenvalues
Next Steps¶
After preparing input files:
- Validate inputs - Run short test calculation
- Optimize Jastrow - Use VMC optimization to improve correlation factors
- Production VMC - Equilibrate and sample for statistics
- DMC calculations - Use optimized wavefunction for DMC
Additional Resources¶
- Tutorials - Complete walkthroughs with example systems
- Calculations Guide - VMC, DMC, and optimization details
- Command-Line Interface - Running CHAMP
- TREXIO Documentation - Official TREXIO format reference
Getting Help¶
- Check file format examples in individual sections
- Review Troubleshooting Guide
- Consult tutorials for complete examples
- Open an issue on GitHub for bugs