miniqmc icon indicating copy to clipboard operation
miniqmc copied to clipboard

Rename mover to walker

Open ye-luo opened this issue 5 years ago • 9 comments

I feel it is my fault that calling it mover which is a collection of ParticleSet, Wavefunction and random number generator (also hamiltonian). I think it should be correctly renamed to 'walker'. Any objection?

ye-luo avatar May 09 '19 20:05 ye-luo

I've got no problem with that. What would you think about creating something like a population class to hold walkers?

lshulen avatar May 09 '19 21:05 lshulen

We use std::vector<Walker*> mover_list now. Do you have a particular reason to do something like

class population {
  std::vector<Walker*> mover_list;
}

Or

class population {
  std::vector<ParticleSet*>
  std::vector<WaveFunction*>
  ...
}

I think this is better.

Or you mean something else?

ye-luo avatar May 09 '19 21:05 ye-luo

I like the second one. It may also make sense to eventually move some of the generic methods to here rather than having to rely on generic_walker->waveFunction.method(blah....)

lshulen avatar May 09 '19 21:05 lshulen

In response to your question, I like having this sort of object because by passing it to a method to work on the population you can defer how it should be iterated over and it seems cleaner conceptually (to me).

lshulen avatar May 09 '19 21:05 lshulen

Why not just refactor my crowd class to your liking? Does it need to be written from scratch again.

PDoakORNL avatar May 09 '19 21:05 PDoakORNL

Population is a better name.

PDoakORNL avatar May 09 '19 21:05 PDoakORNL

Not opposed to that idea. It could be a good point of convergence.

lshulen avatar May 09 '19 22:05 lshulen

I'm still digesting the Crowd class. I believe some portion will be moved to the develop. At the moment, I'm trying not to do drastic changes and settle a bit other changes first. I did see the miniqmc main routine gets very big and some effort will be needed to separate the main and drivers.

ye-luo avatar May 12 '19 23:05 ye-luo

When I have some spare cycles I have a useful idea to generate the generic wrappers of the single evals in the class template declaration for Crowd as well as the default method definitions. These can be specialized when useful.

PDoakORNL avatar May 23 '19 22:05 PDoakORNL