19 #ifndef QMCPLUSPLUS_NESPACEGRID_H 20 #define QMCPLUSPLUS_NESPACEGRID_H 51 template<
typename REAL>
91 std::vector<Real>& static_particle_charges,
94 const bool is_periodic);
112 std::vector<bool>& particles_outside);
128 std::vector<bool>& particles_outside,
250 std::array<std::vector<int>, 3>
gmap_;
NESpaceGrid & operator=(const NESpaceGrid &sg)=default
bool initializeSpherical(const SpaceGridInput &input, const Points &points)
Initialize NESpaceGrid for cylindrical grid.
static Point deriveOrigin(const SpaceGridInput &input, const Points &points)
return actual origin point based on input
ReferenceEnergy reference_energy_
helper functions for EinsplineSetBuilder
const Points & points_
refrence points for the space grid this reference is to the EstimatorManagers EDE's reference points ...
typename NEReferencePoints::Point Point
std::map< std::string, Point > Points
typename NEReferencePoints::Points Points
TinyVector< Real, OHMMS_DIM > Point
Attaches a unit to a Vector for IO.
void copyToSoA()
copy AxisGrid data to SoA layout for evaluation
void accumulate(const ParticlePos &R, const Matrix< Real > &values, std::vector< bool > &particles_outside)
const int buffer_offset_
in legacy used to be the starting index into the collectibles buffer.
Declaration of ObservableHelper and other helper class for observables.
PooledData< Real > BufferType
static void processAxis(const SpaceGridInput &input, const Points &points, AxTensor &axes, AxTensor &axinv)
create axes and axinv tensors
AB type of DistanceTable containing storage.
void write_description(std::ostream &os, const std::string &indent)
Tensor< Real, OHMMS_DIM > AxTensor
Matrix< Real > domain_centers_
std::shared_ptr< ObservableHelper > observable_helper_
std::vector< IRPair > nearcell_
bool initializeCylindrical(const SpaceGridInput &input, const Points &points)
Initialize NESpaceGrid for cylindrical grid.
bool initializeRectilinear(const SpaceGridInput &input, const Points &points)
Initialize NESpaceGrid for rectilinear grid.
Matrix< Real > domain_uwidths_
bool initializeCoordSystem()
dispatch to correct initialize for coord type
std::vector< std::reference_wrapper< T > > RefVector
void registerGrid(hdf_archive &file, int grid_index)
set up Observable helper(s) for this grid almost unchanged from legacy
Particle traits to use UniformGridLayout for the ParticleLayout.
ParticleAttrib< SingleParticlePos > ParticlePos
std::array< std::vector< int >, 3 > gmap_
POLT::ParticlePos ParticlePos
static void collect(NESpaceGrid &reduction_grid, RefVector< NESpaceGrid > grid_for_each_crowd)
SpaceGridInput & input_
refrence points for the space grid this reference it to the EstimatorManagers EDE's spacegrid_inputs_...
void write(hdf_archive &file) const
Matrix< Real > domain_volumes_
These are calculated by NESpaceGrid before accumulation and possibly belong in SpaceGridInput as der...
void sum(const BufferType &buf, Real *vals)
void someMoreAxisGridStuff()
Initialize NESpaceGrid for voronoi grid.
std::string axlabel_[OHMMS_DIM]
Define a serialized buffer to store anonymous data.
NESpaceGrid(SpaceGridInput &sgi, const Points &points, const int nvalues, const bool is_periodic)
This constructor is used for electron only grids.
std::vector< Real > data_