Input File

input.h5 is written by green-mbtools and read by green-mbpt. This page describes the GREEN 1.0 input-file contract. Shapes use the shared notation.

The root attribute __green_version__ records the version of green-mbtools that wrote the file.

/
├── Cell
├── params/{nao,nso,ns,nel_cell,nk,NQ}
├── HF/{Fock-k,S-k,H-k,Energy,Energy_nuc,madelung,Nk,nk,mo_energy,mo_coeff}
├── mulliken/{Zs,last_ao}
├── symmetry/k/{mesh,mesh_scaled,nk,ink,nk_list,ibz2bz,bz2ibz,weight_ibz,tr_conj,n_stars,stars,k_sym_transform_ao}
├── symmetry/q/{mesh,mesh_scaled,nq,inq,ibz2bz,bz2ibz,weight_ibz,tr_conj,n_stars,stars,k_sym_transform_j2c,k_sym_transform_p0}
├── symmetry/pairs/{kpair_idx,conj_pairs_list,trans_pairs_list,kpair_irre_list,num_kpair_stored}
├── orthogonalization/{X_k,X_inv_k}        (optional)
└── high_symm_path/{k_mesh,r_mesh,Hk,Sk,xpath,special_points,special_labels} (optional)

File identity and dimensions

PathShapeTypeStatusMeaning
/@__green_version__scalarUTF-8 stringrequiredgreen-mbtools version that wrote the file.
/CellscalarUTF-8 stringrequired, opaqueSerialized PySCF Cell or Mole; version-coupled rather than a stable public sub-schema.
/params/naoscalarintegerrequiredNumber of atomic orbitals.
/params/nsoscalarintegerrequiredNumber of spin orbitals.
/params/nsscalarintegerrequiredNumber of stored spin channels; normally 1 for restricted or two-component X2C and 2 for unrestricted calculations.
/params/nel_cellscalarintegerrequiredElectrons per cell or molecule.
/params/nkscalarintegerrequiredFull k-mesh size.
/params/NQscalarintegerrequiredAuxiliary-basis size.

Mean-field data

The matrix axes are ordered as spin channel, full k-point, row orbital, column orbital, and, where present, real/imaginary component.

PathShapeTypeStatusMeaning
/HF/Fock-k[ns,nk,nso,nso,2]float64 + __complex__=1requiredMean-field Fock matrices; final axis stores real and imaginary parts.
/HF/S-k[ns,nk,nso,nso,2]float64 + __complex__=1requiredOverlap matrices in the stored basis.
/HF/H-k[ns,nk,nso,nso,2]float64 + __complex__=1requiredOne-electron/core Hamiltonian matrices.
/HF/Energyscalarfloat64requiredMean-field total energy in Hartree.
/HF/Energy_nucscalarfloat64requiredNuclear-repulsion energy in Hartree.
/HF/madelungscalarfloat64requiredPeriodic Madelung correction in Hartree; zero for molecules.
/HF/NkscalarintegerrequiredRequested plane-wave mesh size in each reciprocal direction for integral evaluation; distinct from k-point counts.
/HF/nkscalarintegerrequiredProduct of the requested k-mesh dimensions.
/HF/mo_energymode-dependentfloat64requiredPySCF molecular-orbital energies; rank varies with restricted/unrestricted/X2C mode.
/HF/mo_coeffmode-dependentfloat64 or complex128requiredPySCF molecular-orbital coefficients; rank and dtype vary by mode.

GREEN uses atomic-unit conventions, but these datasets do not store unit attributes. Fock-k, H-k, and mo_energy are in Hartree. S-k, symmetry transforms, fractional meshes, and lattice-vector coefficients are dimensionless. Absolute /symmetry/k/mesh and /symmetry/q/mesh coordinates are in Bohr-1.

Mulliken metadata

PathShapeTypeStatusMeaning
/mulliken/Zs[natom]integerrequiredNuclear charge for each atom.
/mulliken/last_ao[natom]integerrequired, advancedExclusive AO end index for each atom.

Here natom is the number of atoms in the cell or molecule.

/HF/Nk, /HF/nk, /params/nk, /symmetry/k/nk, and /symmetry/k/nk_list are not interchangeable. They respectively describe the requested plane-wave mesh size in each reciprocal direction for integral evaluation, the product of requested k-mesh dimensions, the full stored k-mesh size, the symmetry-grid k-point count, and the three requested mesh dimensions.

K-point symmetry and reconstruction

The k-point hierarchy describes the full Brillouin-zone mesh, its irreducible representatives, and transformations used to reconstruct matrix-valued quantities.

PathShapeTypeStatusMeaning
/symmetry/k/mesh[nk,3]float64requiredFull absolute reciprocal coordinates; unit metadata is not stored.
/symmetry/k/mesh_scaled[nk,3]float64requiredFull fractional reciprocal coordinates.
/symmetry/k/nkscalarintegerrequiredFull k-point count.
/symmetry/k/inkscalarintegerrequiredIrreducible k-point count.
/symmetry/k/nk_list[3]integerrequiredRequested mesh dimensions.
/symmetry/k/ibz2bz[ink]integerrequiredFull-grid index of each irreducible representative.
/symmetry/k/bz2ibz[nk]integerrequiredFull-grid representative index for every full-grid point; not a compact IBZ ordinal.
/symmetry/k/weight_ibz[nk]int64 or float64requiredInteger-valued star size at representative positions and zero elsewhere; periodic files normally use int64, while the molecular one-Gamma identity case uses float64.
/symmetry/k/tr_conj[nk]integer/boolrequiredWhether time-reversal conjugation is used during reconstruction.
/symmetry/k/n_starsscalarintegerrequiredNumber of k-point stars.
/symmetry/k/stars/<i>[star_size]integerrequiredMember indices of star i.
/symmetry/k/k_sym_transform_ao[nk,nso,nso]complex128requiredRepresentative-to-full-point orbital transformation.

For a matrix-valued quantity, reconstruct a full-grid value from its representative as

X(k)=U(k)X(krep)U(k). X(k) = U(k) X(k_{\mathrm{rep}}) U(k)^\dagger.

When tr_conj[k] is true, complex-conjugate the resulting matrix. Molecular inputs retain this hierarchy as a one-Gamma-point identity case.

Advanced symmetry metadata

The q mesh is the unique wrapped set of k-point differences. It therefore need not equal the k mesh.

PathShapeTypeStatusMeaning
/symmetry/q/mesh[nq,3]float64requiredFull absolute reciprocal q-point coordinates; unit metadata is not stored.
/symmetry/q/mesh_scaled[nq,3]float64requiredFull fractional reciprocal q-point coordinates.
/symmetry/q/nqscalarintegerrequiredFull q-point count.
/symmetry/q/inqscalarintegerrequiredIrreducible q-point count.
/symmetry/q/ibz2bz[inq]integerrequiredFull-grid index of each irreducible q representative.
/symmetry/q/bz2ibz[nq]integerrequiredFull-grid representative index for each q point.
/symmetry/q/weight_ibz[nq]int64 or float64requiredInteger-valued star size at representative positions and zero elsewhere; periodic files normally use int64, while the molecular one-Gamma identity case uses float64.
/symmetry/q/tr_conj[nq]integer/boolrequiredTime-reversal reconstruction flags.
/symmetry/q/n_starsscalarintegerrequiredNumber of q-point stars.
/symmetry/q/stars/<i>[star_size]integerrequired, advancedFull-grid members of q-point star i.
/symmetry/q/k_sym_transform_j2c[nq,NQ,NQ]complex128required, advancedAuxiliary-basis symmetry transform for the Coulomb metric.
/symmetry/q/k_sym_transform_p0[nq,NQ,NQ]complex128required, advancedP0 polarization transform in the decomposed Coulomb-metric (j2c-1/2) auxiliary basis.

The pair tables index the triangular set of full-grid k-point pairs and its symmetry reductions.

PathShapeTypeStatusMeaning
/symmetry/pairs/kpair_idx[nk(nk+1)/2,2]integerrequired, advancedTriangular (i,j) pairs with j <= i.
/symmetry/pairs/conj_pairs_list[nk(nk+1)/2]integerrequired, advancedConjugation-equivalent pair map.
/symmetry/pairs/trans_pairs_list[nk(nk+1)/2]integerrequired, advancedTranspose-equivalent pair map.
/symmetry/pairs/kpair_irre_list[num_kpair_stored]integerrequired, advancedStored irreducible-pair indices.
/symmetry/pairs/num_kpair_storedscalarintegerrequired, advancedNumber of stored irreducible pairs.

Optional orthogonalization

The /orthogonalization group is present only when --orth is not none.

PathShapeTypeStatusMeaning
/orthogonalization/@modescalarstringoptionalSelected orthogonalization mode.
/orthogonalization/X_k[nk,n_ortho,nao]complex128optionalAO-to-orthogonal transformation.
/orthogonalization/X_inv_k[nk,nao,n_ortho]complex128optionalInverse/back transformation.

For X2C, the analogous transformations use spin-orbital dimensions rather than the AO-only dimensions shown above.

High-symmetry-path input

The /high_symm_path group is created only when high-symmetry-path evaluation is requested. Its path-dependent lengths follow the selected path. See also the high-symmetry-path output.

PathShapeTypeStatusMeaning
/high_symm_path/k_mesh[nhs_k,3]float64optionalFractional reciprocal coordinates along the requested path.
/high_symm_path/r_mesh[nk,3]float64optional, advancedDimensionless real-space lattice-vector coefficients used for interpolation.
/high_symm_path/Hk[nhs_k,nso,nso]complex128optionalOne-electron Hamiltonian along the path, in Hartree.
/high_symm_path/Sk[nhs_k,nso,nso]complex128optionalDimensionless overlap matrix along the path.
/high_symm_path/xpath[nhs_k]float64optionalCumulative plotting coordinate along the path.
/high_symm_path/special_points[n_special]float64optionalASE-derived inverse-angstrom plotting coordinates of labeled special points.
/high_symm_path/special_labels[n_special]stringoptionalLabels of the special points.

xpath is the ASE-derived inverse-angstrom coordinate for each of the nhs_k path points. Here n_special is the number of labeled special points on the selected path; special_points and special_labels have one value per such point.

Reading complex data with Python

Fock-k, S-k, and H-k use a final length-two real/imaginary axis. Other input datasets, including symmetry transforms and some mo_coeff values, may instead use HDF5 compound complex values.

import h5py

with h5py.File("input.h5", "r") as data:
    nk = int(data["params/nk"][()])
    nso = int(data["params/nso"][()])
    stored = data["HF/Fock-k"][...]
    fock = stored[..., 0] + 1j * stored[..., 1]

print(nk, nso, fock.shape)
Pre-1.0 files may use /grid/*; v1.0 uses /symmetry/*. Regenerate inputs with green-mbtools 1.0 rather than manually translating symmetry metadata. This page does not enumerate every legacy layout.