QMCPACK / qmcpack

Main repository for QMCPACK, an open-source production level many-body ab initio Quantum Monte Carlo code for computing the electronic structure of atoms, molecules, and solids with full performance portable GPU support
http://www.qmcpack.org
Other
304 stars 139 forks source link

How to resurrect true 2D capability? #3868

Open Paul-St-Young opened 2 years ago

Paul-St-Young commented 2 years ago

Problem OHMMS_DIM is planned for obsolescence. With its removal, all code snippets for true 2D calculation will be history.

Proposed Solution Enable true 2D calculation via xml input.

To-do List:

prckent commented 2 years ago

Please take a look at #3867 and think generally about how the dimensionality might be hidden/abstracted. #3867 will eventually get spin-orbit and non-spin orbit to use the same batched drivers. (The old cpu serial drivers are also heading for retirement since they will never run on GPUs efficiently). Realistically I don't think we can have multiple drivers for each dimensionality, at least the way we have done them historically - the humans simply don't scale. If you can come up with a design that is compatible with a generic driver you will also get wavefunction optimization, reptation etc. for "free", and 1D might already be nearly supported. For sure other people will have ideas on this.

Paul-St-Young commented 2 years ago

@prckent from a preliminary look, I don't think the MCCoords abstraction poses any difficulty at all. For true 2D, one can:

  1. fill the z-component of all vectors in walker_deltas.positions with zeros.
  2. check that the z-component of all vectors in drifts are zero.