# CP2K 8.1 support request: exact nonperturbative Becke/Hirshfeld CDFT weight-grid export
## Build identity
- CP2K version: `8.1`
- Executable revision: `git:0b61f2f`
- Container release-source HEAD: `0bfbd41a7402152da7b86a103d5d95a4184367d9`
- Release tag: `v8.1.0`
- Wrapper SHA256: `c786e567853dbe8fafb35a91ec25ba1ca8f5ea5c02d30f5cdf056719ce9bc2d1`
- Input XML SHA256: `728c139a1d87554490e67f0ab30f1f5c78f944dad5e87671894e1aa833f281f4`
- Container executable: `/cp2k/exe/local/cp2k.psmp`
- Container source root: `/cp2k/src`
The wrapper/account path is intentionally omitted. The hashes above and the
attached sanitized identity CSV are sufficient to identify the inspected
build without exposing an HPC account path.
## Narrow technical need
We need exact CP2K 8.1 Becke and Hirshfeld weight grids for offline integration
of local magnetization from already-converged, unconstrained spin-density
cubes. We want to preserve the original density and avoid running CDFT or an
electronic SCF merely to obtain the geometric/partition weight grid.
This request concerns method semantics and a minimal diagnostic interface
only. It does not claim that stock CP2K is wrong, and it does not request
scientific interpretation of any material.
## Distinctions used in this request
- **Exact weight construction:** running the original CP2K 8.1 Becke or
Hirshfeld builder with fixed geometry, cell/PBC, grid, atom group, COEFF,
atom-kind, and partition parameters.
- **Exact weight printing:** writing that already-constructed CP2K PW grid
through the original `cdft_print_weight_function`/cube-writer path.
- **Nonperturbative measurement:** obtaining the weight without changing or
reoptimizing the electronic density.
- **CDFT outer-SCF perturbation:** adding `weight * STRENGTH` to the
Kohn-Sham potential and updating the electronic state/multiplier.
## Exact source references inspected
| Routine | CP2K 8.1 source lines |
|---|---|
| `read_constraint_definitions` | `qs_cdft_utils.F:534-717` |
| `becke_constraint_init` | `qs_cdft_utils.F:100-449` |
| `becke_constraint_low` | `qs_cdft_methods.F:142-581` |
| `hirshfeld_constraint_init` | `qs_cdft_utils.F:966-1086` |
| `create_shape_function` | `hirshfeld_methods.F:141-224` |
| `hirshfeld_constraint_low` | `qs_cdft_methods.F:1153-1365` |
| `qs_ks_cdft_constraint` | `qs_ks_apply_restraints.F:62-128` |
| `cdft_constraint_integrate` | `qs_cdft_methods.F:772-954` |
| `cdft_constraint_print` | `qs_cdft_utils.F:1095-1249` |
| `cdft_print_weight_function` | `qs_cdft_utils.F:1257-1301` |
| `qs_ks_build_kohn_sham_matrix` | `qs_ks_methods.F:207-899` |
| `sum_up_and_integrate` | `qs_ks_utils.F:1195-1625` |
| `cdft_scf` | `qs_scf.F:934-1144` |
| `outer_loop_gradient` | `qs_outer_scf.F:102-174` |
| `outer_loop_update_qs_env` | `qs_outer_scf.F:386-430` |
| `cdft_control_release` | `qs_cdft_types.F:419-493` |
`cdft_print_hirshfeld_density` is not present in the exact `/cp2k/src` tree;
both weight types use the common `cdft_print_weight_function` route.
Our revision-pinned source audit indicates that the low-level Becke/Hirshfeld
builders construct weights before `cdft_constraint_integrate` reads the
current density. The stock weight print is reached only after `cdft_scf`
outer-loop initialization, although the print call precedes the first
constraint-potential addition in that Kohn-Sham build. We request confirmation
of the supported semantics and interface rather than asserting undocumented
API guarantees.
## Questions
1. For CP2K 8.1, is there a supported stock-input route to initialize and
print exact Becke/Hirshfeld CDFT weight grids without entering the CDFT
outer-SCF loop?
2. For fixed geometry, real-space grid, atom group, COEFF, atom-kind, and
partition parameters, are the Becke/Hirshfeld weight grids completely
independent of the current electron density, current spin density, TARGET,
STRENGTH, and current Lagrange multiplier?
3. Does `PROGRAM_RUN_INFO/WEIGHT_FUNCTION` print exactly the same weight grid
regardless of the constrained electronic solution, even though the print
call occurs after outer-loop initialization?
4. Is there an officially recommended internal routine or minimal driver for
invoking the original CP2K 8.1 Becke/Hirshfeld weight builders and cube
writer without running CDFT or electronic SCF?
5. Would a minimal source hook that constructs the weight, writes it, and
exits before `cdft_constraint_integrate`, constraint-potential building,
electronic SCF, or CDFT outer-SCF optimization be considered semantically
exact?
6. For Hirshfeld CDFT in CP2K 8.1, what implementation limitations affect
ENERGY-only local-magnetization integration, weight printing, forces,
geometry optimization, and MD?
7. Can multiple `ATOM_GROUP` weight grids, for example R0/R1/R2 and a separate
HSO4 monitoring region, be generated in one invocation without activating
coupled constraints?
8. What metadata must be preserved to guarantee exact offline integration of
`integral w(r)[rho_alpha(r)-rho_beta(r)] dr` against existing spin-density
cubes, including grid origin, axes, stride, cell/PBC, atom order/kinds,
partition settings, group/COEFF mapping, and numeric print precision?
## Candidate minimal interface for review
After normal input, subsystem, `qs_env`, MGRID, and PW-pool initialization:
1. allocate one weight PW grid per group using the stock lifetime pattern;
2. call the original Becke or Hirshfeld `init` and low-level builder;
3. call the original common weight cube writer;
4. hash/write provenance metadata;
5. release all temporary grids; and
6. exit before density integration, Kohn-Sham potential construction,
electronic SCF, or outer-SCF optimization.
No patch, build, input, or calculation is included with this request.
## Lightweight attachments
- `CP2K81_CDFT_weight_evaluator_support_request.md`
- `CP2K81_CDFT_weight_evaluator_minimal_context.txt`
- `CP2K81_exact_source_identity_for_support.csv`
- `CP2K81_CDFT_weight_call_graph_compact.csv`
- `CP2K81_weight_function_dependency_matrix.csv`
- `CP2K81_weight_print_timing_audit.csv`
- `CP2K81_exact_weight_extraction_options.csv`
- `CP2K81_exact_weight_source_excerpts_compact.txt`
No coordinates, WFN, trajectory, cube, binary, full source tree, proprietary
data, or unrelated project details are attached.