QMCPACK
SPOSetInputInfo Struct Reference

class to read state range information from sposet input More...

+ Collaboration diagram for SPOSetInputInfo:

Public Types

using RealType = QMCTraits::RealType
 
using indices_t = std::vector< int >
 
using energies_t = std::vector< RealType >
 

Public Member Functions

 SPOSetInputInfo (xmlNodePtr cur)
 
 SPOSetInputInfo ()
 
 ~SPOSetInputInfo ()
 
void reset ()
 
void put (xmlNodePtr cur)
 
void report (const std::string &pad="")
 
int min_index ()
 
int max_index ()
 
RealType min_energy ()
 
RealType max_energy ()
 
indices_tget_indices (const std::vector< std::unique_ptr< SPOSetInfo >> &states_vec)
 
indices_tget_indices (xmlNodePtr cur, const std::vector< std::unique_ptr< SPOSetInfo >> &states_vec)
 

Public Attributes

int group
 
int size
 
int index_min
 
int index_max
 
std::string occ
 
indices_t indices
 
RealType ecut
 
RealType energy_min
 
RealType energy_max
 
energies_t energies
 
RealType matching_tol
 
bool has_size
 
bool has_index_range
 
bool has_occ
 
bool has_ecut
 
bool has_energy_range
 
bool has_indices
 
bool has_energies
 
bool has_index_info
 
bool has_energy_info
 
bool legacy_request
 
int lowest_index
 
int highest_index
 
RealType lowest_energy
 
RealType highest_energy
 
bool all_indices_computed
 
std::vector< bool > occupations
 
indices_t all_indices
 

Private Member Functions

void find_index_extrema ()
 
void find_energy_extrema ()
 
void occupy_size ()
 
void occupy_index_range ()
 
void occupy_occ ()
 
void occupy_indices ()
 
void occupy_ecut (const SPOSetInfo &states)
 
void occupy_energy_range (const SPOSetInfo &states)
 
void occupy_energies (const SPOSetInfo &states)
 
void occupy (const std::string &loc, const indices_t &ind)
 

Detailed Description

class to read state range information from sposet input

typically just a temporary object to read and get info from xml

Definition at line 27 of file SPOSetInputInfo.h.

Member Typedef Documentation

◆ energies_t

using energies_t = std::vector<RealType>

Definition at line 31 of file SPOSetInputInfo.h.

◆ indices_t

using indices_t = std::vector<int>

Definition at line 30 of file SPOSetInputInfo.h.

◆ RealType

Definition at line 29 of file SPOSetInputInfo.h.

Constructor & Destructor Documentation

◆ SPOSetInputInfo() [1/2]

SPOSetInputInfo ( xmlNodePtr  cur)
inline

Definition at line 67 of file SPOSetInputInfo.h.

References SPOSetInputInfo::put().

67 { put(cur); }

◆ SPOSetInputInfo() [2/2]

SPOSetInputInfo ( )
inline

Definition at line 69 of file SPOSetInputInfo.h.

References SPOSetInputInfo::reset().

◆ ~SPOSetInputInfo()

~SPOSetInputInfo ( )
inline

Definition at line 71 of file SPOSetInputInfo.h.

71 {}

Member Function Documentation

◆ find_energy_extrema()

void find_energy_extrema ( )
private

Definition at line 199 of file SPOSetInputInfo.cpp.

References SPOSetInputInfo::ecut, SPOSetInputInfo::energies, SPOSetInputInfo::energy_max, SPOSetInputInfo::energy_min, SPOSetInputInfo::has_ecut, SPOSetInputInfo::has_energies, SPOSetInputInfo::has_energy_info, SPOSetInputInfo::has_energy_range, SPOSetInputInfo::highest_energy, SPOSetInputInfo::lowest_energy, omptarget::min(), and qmcplusplus::rnone.

Referenced by SPOSetInputInfo::put().

200 {
201  if (has_energy_info)
202  {
205  if (has_ecut)
206  {
208  highest_energy = std::max(highest_energy, ecut);
209  }
210  if (has_energy_range)
211  {
214  }
215  if (has_energies)
216  for (int i = 0; i < energies.size(); ++i)
217  {
218  RealType en = energies[i];
220  highest_energy = std::max(highest_energy, en);
221  }
222  }
223 }
T min(T a, T b)
QMCTraits::RealType RealType
const RealType rnone

◆ find_index_extrema()

void find_index_extrema ( )
private

Definition at line 156 of file SPOSetInputInfo.cpp.

References SPOSetInputInfo::has_index_info, SPOSetInputInfo::has_index_range, SPOSetInputInfo::has_indices, SPOSetInputInfo::has_occ, SPOSetInputInfo::has_size, SPOSetInputInfo::highest_index, SPOSetInputInfo::index_max, SPOSetInputInfo::index_min, SPOSetInputInfo::indices, SPOSetInputInfo::lowest_index, omptarget::min(), SPOSetInputInfo::occ, and SPOSetInputInfo::size.

Referenced by SPOSetInputInfo::put().

157 {
158  if (has_index_info)
159  {
160  lowest_index = std::numeric_limits<int>::max();
162  if (has_size)
163  {
165  highest_index = std::max(highest_index, size - 1);
166  }
167  if (has_index_range)
168  {
171  }
172  if (has_occ)
173  {
174  int imin = -1;
175  int imax = -1;
176  for (int i = 0; i < occ.size(); ++i)
177  if (occ[i] == '1')
178  {
179  if (imin == -1)
180  imin = i;
181  imax = i;
182  }
183  if (imin != -1)
185  if (imax != -1)
186  highest_index = std::max(highest_index, imax);
187  }
188  if (has_indices)
189  for (int i = 0; i < indices.size(); ++i)
190  {
191  int ind = indices[i];
193  highest_index = std::max(highest_index, ind);
194  }
195  }
196 }
T min(T a, T b)

◆ get_indices() [1/2]

SPOSetInputInfo::indices_t & get_indices ( const std::vector< std::unique_ptr< SPOSetInfo >> &  states_vec)

Definition at line 264 of file SPOSetInputInfo.cpp.

References SPOSetInputInfo::all_indices, SPOSetInputInfo::all_indices_computed, APP_ABORT, SPOSetInputInfo::group, SPOSetInfo::has_energies(), SPOSetInputInfo::has_energy_info, SPOSetInfo::has_indices(), SPOSetInputInfo::occupations, SPOSetInputInfo::occupy_ecut(), SPOSetInputInfo::occupy_energies(), SPOSetInputInfo::occupy_energy_range(), SPOSetInputInfo::occupy_index_range(), SPOSetInputInfo::occupy_indices(), SPOSetInputInfo::occupy_occ(), SPOSetInputInfo::occupy_size(), SPOSetInfo::partial(), and SPOSetInfo::size().

Referenced by SPOSetInputInfo::get_indices().

265 {
267  {
268  all_indices.clear();
269 
270  if (group >= states_vec.size())
271  APP_ABORT("SPOSetInputInfo::get_indices orbital group index is out of range");
272 
273  const SPOSetInfo& states = *states_vec[group];
274 
275  // ensure that state info has been properly intialized
276  bool energy_incomplete = states.partial() || !states.has_indices() || !states.has_energies();
277  if (has_energy_info && energy_incomplete)
278  APP_ABORT("SPOSetInputInfo::get_indices\n energies requested for sposet\n but state info is incomplete");
279 
280  occupations.clear();
281 
282  occupy_size();
284  occupy_occ();
285  occupy_indices();
286  occupy_ecut(states);
287  occupy_energy_range(states);
288  occupy_energies(states);
289 
290  sort(all_indices.begin(), all_indices.end());
291 
292  if (all_indices[all_indices.size() - 1] >= states.size())
293  APP_ABORT("SPOSetInputInfo::get_indices requested state indices outside the range of states");
294 
295  if (all_indices.size() == 0)
296  APP_ABORT("SPOSetInputInfo::get_indices no states matched request");
297 
298  all_indices_computed = true;
299  }
300 
301  return all_indices;
302 }
void occupy_ecut(const SPOSetInfo &states)
void occupy_energies(const SPOSetInfo &states)
void occupy_energy_range(const SPOSetInfo &states)
#define APP_ABORT(msg)
Widely used but deprecated fatal error macros from legacy code.
Definition: AppAbort.h:27
std::vector< bool > occupations

◆ get_indices() [2/2]

indices_t& get_indices ( xmlNodePtr  cur,
const std::vector< std::unique_ptr< SPOSetInfo >> &  states_vec 
)
inline

Definition at line 89 of file SPOSetInputInfo.h.

References SPOSetInputInfo::get_indices(), and SPOSetInputInfo::put().

90  {
91  put(cur);
92  return get_indices(states_vec);
93  }
indices_t & get_indices(const std::vector< std::unique_ptr< SPOSetInfo >> &states_vec)

◆ max_energy()

RealType max_energy ( )
inline

Definition at line 85 of file SPOSetInputInfo.h.

References SPOSetInputInfo::highest_energy.

85 { return highest_energy; }

◆ max_index()

int max_index ( )
inline

◆ min_energy()

RealType min_energy ( )
inline

Definition at line 83 of file SPOSetInputInfo.h.

References SPOSetInputInfo::lowest_energy.

83 { return lowest_energy; }

◆ min_index()

int min_index ( )
inline

Definition at line 79 of file SPOSetInputInfo.h.

References SPOSetInputInfo::lowest_index.

Referenced by BsplineReader::create_spline_set().

◆ occupy()

void occupy ( const std::string &  loc,
const indices_t ind 
)
private

Definition at line 410 of file SPOSetInputInfo.cpp.

References SPOSetInputInfo::all_indices, APP_ABORT, omptarget::min(), and SPOSetInputInfo::occupations.

Referenced by SPOSetInputInfo::occupy_ecut(), SPOSetInputInfo::occupy_energies(), SPOSetInputInfo::occupy_energy_range(), SPOSetInputInfo::occupy_index_range(), SPOSetInputInfo::occupy_indices(), SPOSetInputInfo::occupy_occ(), and SPOSetInputInfo::occupy_size().

411 {
412  int imin = std::numeric_limits<int>::max();
413  int imax = std::numeric_limits<int>::min();
414  for (int i = 0; i < ind.size(); ++i)
415  {
416  int ival = ind[i];
417  imin = std::min(imin, ival);
418  imax = std::max(imax, ival);
419  }
420  if (imin < 0)
421  APP_ABORT("SPOSetInputInfo::occupy(" + loc + ")\n indices are negative");
422  for (int i = 0; i < ind.size(); ++i)
423  {
424  int iocc = ind[i];
425  if (iocc >= occupations.size())
426  {
427  int old_size = occupations.size();
428  occupations.resize(iocc + 1);
429  for (int j = old_size; j < occupations.size(); ++j)
430  occupations[j] = false;
431  }
432  if (occupations[iocc])
433  APP_ABORT("SPOSetInputInfo::occupy(" + loc + ")\n sposet request has overlapping index ranges");
434  all_indices.push_back(iocc);
435  occupations[iocc] = true;
436  }
437 }
T min(T a, T b)
#define APP_ABORT(msg)
Widely used but deprecated fatal error macros from legacy code.
Definition: AppAbort.h:27
std::vector< bool > occupations

◆ occupy_ecut()

void occupy_ecut ( const SPOSetInfo states)
private

Definition at line 345 of file SPOSetInputInfo.cpp.

References SPOSetInputInfo::ecut, SPOInfo::energy, SPOSetInputInfo::has_ecut, SPOInfo::index, SPOSetInputInfo::occupy(), and SPOSetInfo::size().

Referenced by SPOSetInputInfo::get_indices().

346 {
347  if (has_ecut)
348  {
349  indices_t ind;
350  for (int i = 0; i < states.size(); ++i)
351  {
352  const SPOInfo& state = *states[i];
353  if (state.energy < ecut)
354  ind.push_back(state.index);
355  }
356  occupy("ecut", ind);
357  }
358 }
std::vector< int > indices_t
void occupy(const std::string &loc, const indices_t &ind)

◆ occupy_energies()

void occupy_energies ( const SPOSetInfo states)
private

Definition at line 375 of file SPOSetInputInfo.cpp.

References qmcplusplus::abs(), APP_ABORT, qmcplusplus::Units::charge::e, SPOSetInputInfo::energies, SPOInfo::energy, SPOSetInfo::energy_ordered(), SPOSetInputInfo::has_energies, SPOInfo::index, SPOSetInputInfo::matching_tol, qmcplusplus::n, SPOSetInputInfo::occupy(), and SPOSetInfo::size().

Referenced by SPOSetInputInfo::get_indices().

376 {
377  if (has_energies)
378  {
379  if (!states.energy_ordered())
380  APP_ABORT(
381  "SPOSetInputInfo::load_indices(energies)\n states are not energy ordered\n this is a developer error");
382  indices_t ind;
383  int i = 0;
384  for (int n = 0; n < energies.size(); ++n)
385  {
386  RealType e = energies[n];
387  bool found = false;
388  while (i < states.size())
389  {
390  const SPOInfo& state = *states[i];
391  while (std::abs(e - state.energy) < matching_tol)
392  {
393  ind.push_back(state.index);
394  i++;
395  found = true;
396  }
397  if (found)
398  break;
399  else
400  i++;
401  }
402  if (!found)
403  APP_ABORT("SPOSetInputInfo::load_indices(energies)\n energy eigenvalue not found");
404  }
405  occupy("energies", ind);
406  }
407 }
MakeReturn< UnaryNode< FnFabs, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t abs(const Vector< T1, C1 > &l)
std::vector< int > indices_t
#define APP_ABORT(msg)
Widely used but deprecated fatal error macros from legacy code.
Definition: AppAbort.h:27
QMCTraits::RealType RealType
void occupy(const std::string &loc, const indices_t &ind)

◆ occupy_energy_range()

void occupy_energy_range ( const SPOSetInfo states)
private

Definition at line 360 of file SPOSetInputInfo.cpp.

References SPOInfo::energy, SPOSetInputInfo::energy_max, SPOSetInputInfo::energy_min, SPOSetInputInfo::has_energy_range, SPOInfo::index, SPOSetInputInfo::occupy(), and SPOSetInfo::size().

Referenced by SPOSetInputInfo::get_indices().

361 {
362  if (has_energy_range)
363  {
364  indices_t ind;
365  for (int i = 0; i < states.size(); ++i)
366  {
367  const SPOInfo& state = *states[i];
368  if (state.energy < energy_max && state.energy >= energy_min)
369  ind.push_back(state.index);
370  }
371  occupy("energy_range", ind);
372  }
373 }
std::vector< int > indices_t
void occupy(const std::string &loc, const indices_t &ind)

◆ occupy_index_range()

void occupy_index_range ( )
private

Definition at line 316 of file SPOSetInputInfo.cpp.

References SPOSetInputInfo::has_index_range, SPOSetInputInfo::index_max, SPOSetInputInfo::index_min, and SPOSetInputInfo::occupy().

Referenced by SPOSetInputInfo::get_indices().

317 {
318  if (has_index_range)
319  {
320  indices_t ind;
321  for (int i = index_min; i < index_max; ++i)
322  ind.push_back(i);
323  occupy("index_range", ind);
324  }
325 }
std::vector< int > indices_t
void occupy(const std::string &loc, const indices_t &ind)

◆ occupy_indices()

void occupy_indices ( )
private

Definition at line 327 of file SPOSetInputInfo.cpp.

References SPOSetInputInfo::has_indices, SPOSetInputInfo::indices, and SPOSetInputInfo::occupy().

Referenced by SPOSetInputInfo::get_indices().

328 {
329  if (has_indices)
330  occupy("indices", indices);
331 }
void occupy(const std::string &loc, const indices_t &ind)

◆ occupy_occ()

void occupy_occ ( )
private

Definition at line 333 of file SPOSetInputInfo.cpp.

References SPOSetInputInfo::has_occ, SPOSetInputInfo::occ, and SPOSetInputInfo::occupy().

Referenced by SPOSetInputInfo::get_indices().

334 {
335  if (has_occ)
336  {
337  indices_t ind;
338  for (int i = 0; i < occ.size(); ++i)
339  if (occ[i] == '1')
340  ind.push_back(i);
341  occupy("occ", ind);
342  }
343 }
std::vector< int > indices_t
void occupy(const std::string &loc, const indices_t &ind)

◆ occupy_size()

void occupy_size ( )
private

Definition at line 305 of file SPOSetInputInfo.cpp.

References SPOSetInputInfo::has_size, SPOSetInputInfo::occupy(), and SPOSetInputInfo::size.

Referenced by SPOSetInputInfo::get_indices().

306 {
307  if (has_size)
308  {
309  indices_t ind;
310  for (int i = 0; i < size; ++i)
311  ind.push_back(i);
312  occupy("size", ind);
313  }
314 }
std::vector< int > indices_t
void occupy(const std::string &loc, const indices_t &ind)

◆ put()

void put ( xmlNodePtr  cur)

Definition at line 61 of file SPOSetInputInfo.cpp.

References OhmmsAttributeSet::add(), APP_ABORT, qmcplusplus::convert(), qmcplusplus::Units::convert_array(), qmcplusplus::Units::charge::e, SPOSetInputInfo::ecut, SPOSetInputInfo::energies, SPOSetInputInfo::energy_max, SPOSetInputInfo::energy_min, qmcplusplus::Units::energy_unit(), SPOSetInputInfo::find_energy_extrema(), SPOSetInputInfo::find_index_extrema(), SPOSetInputInfo::group, qmcplusplus::Units::energy::Ha, SPOSetInputInfo::has_ecut, SPOSetInputInfo::has_energies, SPOSetInputInfo::has_energy_info, SPOSetInputInfo::has_energy_range, SPOSetInputInfo::has_index_info, SPOSetInputInfo::has_index_range, SPOSetInputInfo::has_indices, SPOSetInputInfo::has_occ, SPOSetInputInfo::has_size, SPOSetInputInfo::index_max, SPOSetInputInfo::index_min, SPOSetInputInfo::indices, qmcplusplus::inone, SPOSetInputInfo::legacy_request, SPOSetInputInfo::matching_tol, SPOSetInputInfo::occ, OhmmsAttributeSet::put(), putContent(), SPOSetInputInfo::report(), SPOSetInputInfo::reset(), qmcplusplus::rnone, SPOSetInputInfo::size, and qmcplusplus::snone.

Referenced by SPOSetInputInfo::get_indices(), and SPOSetInputInfo::SPOSetInputInfo().

62 {
63  using namespace Units;
64 
65  reset();
66 
67  indices.clear();
68  energies.clear();
69 
70  std::string units_in = snone;
71 
72  OhmmsAttributeSet attrib;
73  attrib.add(group, "group");
74  attrib.add(size, "size");
75  attrib.add(index_min, "index_min");
76  attrib.add(index_max, "index_max");
77  attrib.add(occ, "occ");
78  attrib.add(ecut, "ecut");
79  attrib.add(energy_min, "energy_min");
80  attrib.add(energy_max, "energy_max");
81  attrib.add(units_in, "units");
82  attrib.put(cur);
83 
84  has_size = size != inone;
86  has_occ = occ != snone;
87  has_ecut = ecut != rnone;
89  has_indices = false;
90  has_energies = false;
91 
92  if (group < 0)
93  APP_ABORT("SPOSetInputInfo::put group must be positive");
94 
96  {
97  report();
98  if (units_in == snone)
99  APP_ABORT("SPOSetInputInfo::put ecut or energy range present, but units have not been provided");
100  units eunits = energy_unit(units_in);
101  if (has_ecut)
102  ecut = convert(ecut, eunits, Ha);
103  else if (has_energy_range)
104  {
105  energy_min = convert(energy_min, eunits, Ha);
106  energy_max = convert(energy_max, eunits, Ha);
107  }
108  }
109 
110  xmlNodePtr element = cur->xmlChildrenNode;
111  while (element != NULL)
112  {
113  std::string ename((const char*)element->name);
114  if (ename == "indices")
115  {
116  has_indices = true;
117  putContent(indices, element);
118  }
119  else if (ename == "energies")
120  {
121  has_energies = true;
122  units_in = snone;
123  OhmmsAttributeSet attrib;
124  attrib.add(matching_tol, "matching_tol");
125  attrib.add(units_in, "units");
126  attrib.put(element);
127  putContent(energies, element);
128  if (units_in == snone)
129  APP_ABORT("SPOSetInputInfo::put energies present, but units have not been provided");
130  units eunits = energy_unit(units_in);
131  if (matching_tol == rnone)
132  matching_tol = 1e-6;
133  else
134  matching_tol = convert(matching_tol, eunits, Ha);
135 
136  //convert_array(energies,eunits,Ha);
137  std::vector<double> entmp;
138  convert_array(entmp, eunits, Ha);
139 
140  sort(energies.begin(), energies.end());
141  }
142  element = element->next;
143  }
144 
147 
149 
151 
153 }
void convert(const PL &lat, const PV &pin, PV &pout)
bool put(xmlNodePtr cur)
assign attributes to the set
Definition: AttributeSet.h:55
const std::string & snone
const int inone
class to handle a set of attributes of an xmlNode
Definition: AttributeSet.h:24
units energy_unit(const std::string &su)
convert from std::string to energy unit
#define APP_ABORT(msg)
Widely used but deprecated fatal error macros from legacy code.
Definition: AppAbort.h:27
void report(const std::string &pad="")
bool putContent(T &a, xmlNodePtr cur)
replaces a&#39;s value with the first "element" in the "string" returned by XMLNodeString{cur}.
Definition: libxmldefs.h:88
const RealType rnone
void add(PDT &aparam, const std::string &aname, std::vector< PDT > candidate_values={}, TagStatus status=TagStatus::OPTIONAL)
add a new attribute
Definition: AttributeSet.h:42
void convert_array(array &values, units units_in, units units_out)

◆ report()

void report ( const std::string &  pad = "")

Definition at line 226 of file SPOSetInputInfo.cpp.

References qmcplusplus::app_log(), SPOSetInputInfo::ecut, SPOSetInputInfo::energies, SPOSetInputInfo::energy_max, SPOSetInputInfo::energy_min, SPOSetInputInfo::group, SPOSetInputInfo::has_ecut, SPOSetInputInfo::has_energies, SPOSetInputInfo::has_energy_range, SPOSetInputInfo::has_index_range, SPOSetInputInfo::has_indices, SPOSetInputInfo::has_occ, SPOSetInputInfo::has_size, SPOSetInputInfo::highest_energy, SPOSetInputInfo::highest_index, SPOSetInputInfo::index_max, SPOSetInputInfo::index_min, SPOSetInputInfo::indices, SPOSetInputInfo::lowest_energy, SPOSetInputInfo::lowest_index, SPOSetInputInfo::matching_tol, SPOSetInputInfo::occ, and SPOSetInputInfo::size.

Referenced by SPOSetInputInfo::put().

227 {
228  app_log() << pad << "SPOSetInput report" << std::endl;
229  app_log() << pad << " has_size = " << has_size << std::endl;
230  app_log() << pad << " has_index_range = " << has_index_range << std::endl;
231  app_log() << pad << " has_occ = " << has_occ << std::endl;
232  app_log() << pad << " has_ecut = " << has_ecut << std::endl;
233  app_log() << pad << " has_energy_range = " << has_energy_range << std::endl;
234  app_log() << pad << " has_indices = " << has_indices << std::endl;
235  app_log() << pad << " has_energies = " << has_energies << std::endl;
236  app_log() << pad << " group = " << group << std::endl;
237  app_log() << pad << " size = " << size << std::endl;
238  app_log() << pad << " index_min = " << index_min << std::endl;
239  app_log() << pad << " index_max = " << index_max << std::endl;
240  app_log() << pad << " occ = " << occ << std::endl;
241  app_log() << pad << " ecut = " << ecut << std::endl;
242  app_log() << pad << " energy_min = " << energy_min << std::endl;
243  app_log() << pad << " energy_max = " << energy_max << std::endl;
244  app_log() << pad << " # of indices = " << indices.size() << std::endl;
245  app_log() << pad << " indices = \n ";
246  for (int i = 0; i < indices.size(); ++i)
247  app_log() << indices[i] << " ";
248  app_log() << std::endl;
249  app_log() << pad << " # of energies = " << energies.size() << std::endl;
250  app_log() << pad << " energies = \n ";
251  for (int i = 0; i < energies.size(); ++i)
252  app_log() << energies[i] << " ";
253  app_log() << std::endl;
254  app_log() << pad << " matching_tol = " << matching_tol << std::endl;
255  app_log() << pad << " lowest_index = " << lowest_index << std::endl;
256  app_log() << pad << " highest_index = " << highest_index << std::endl;
257  app_log() << pad << " lowest_energy = " << lowest_energy << std::endl;
258  app_log() << pad << " highest_energy = " << highest_energy << std::endl;
259  app_log() << pad << "end SPOSetInput report" << std::endl;
260  app_log().flush();
261 }
std::ostream & app_log()
Definition: OutputManager.h:65

◆ reset()

void reset ( )

Definition at line 28 of file SPOSetInputInfo.cpp.

References SPOSetInputInfo::all_indices_computed, SPOSetInputInfo::ecut, SPOSetInputInfo::energy_max, SPOSetInputInfo::energy_min, SPOSetInputInfo::group, SPOSetInputInfo::has_ecut, SPOSetInputInfo::has_energies, SPOSetInputInfo::has_energy_info, SPOSetInputInfo::has_energy_range, SPOSetInputInfo::has_index_info, SPOSetInputInfo::has_index_range, SPOSetInputInfo::has_indices, SPOSetInputInfo::has_occ, SPOSetInputInfo::has_size, SPOSetInputInfo::highest_energy, SPOSetInputInfo::highest_index, SPOSetInputInfo::index_max, SPOSetInputInfo::index_min, qmcplusplus::inone, SPOSetInputInfo::legacy_request, SPOSetInputInfo::lowest_energy, SPOSetInputInfo::lowest_index, SPOSetInputInfo::matching_tol, SPOSetInputInfo::occ, qmcplusplus::rnone, SPOSetInputInfo::size, and qmcplusplus::snone.

Referenced by SPOSetInputInfo::put(), and SPOSetInputInfo::SPOSetInputInfo().

29 {
30  group = 0;
31  size = inone;
32  index_min = inone;
33  index_max = inone;
34  occ = snone;
35  ecut = rnone;
36  energy_min = rnone;
37  energy_max = rnone;
39 
44 
45  has_size = false;
46  has_index_range = false;
47  has_occ = false;
48  has_ecut = false;
49  has_energy_range = false;
50  has_indices = false;
51  has_energies = false;
52  has_index_info = false;
53  has_energy_info = false;
54 
55  legacy_request = false;
56 
57  all_indices_computed = false;
58 }
const std::string & snone
const int inone
const RealType rnone

Member Data Documentation

◆ all_indices

indices_t all_indices

Definition at line 65 of file SPOSetInputInfo.h.

Referenced by SPOSetInputInfo::get_indices(), and SPOSetInputInfo::occupy().

◆ all_indices_computed

bool all_indices_computed

Definition at line 63 of file SPOSetInputInfo.h.

Referenced by SPOSetInputInfo::get_indices(), and SPOSetInputInfo::reset().

◆ ecut

◆ energies

◆ energy_max

◆ energy_min

◆ group

◆ has_ecut

◆ has_energies

◆ has_energy_info

◆ has_energy_range

◆ has_index_info

bool has_index_info

◆ has_index_range

◆ has_indices

◆ has_occ

◆ has_size

◆ highest_energy

◆ highest_index

◆ index_max

◆ index_min

◆ indices

◆ legacy_request

bool legacy_request

◆ lowest_energy

◆ lowest_index

◆ matching_tol

◆ occ

◆ occupations

std::vector<bool> occupations

Definition at line 64 of file SPOSetInputInfo.h.

Referenced by SPOSetInputInfo::get_indices(), and SPOSetInputInfo::occupy().

◆ size


The documentation for this struct was generated from the following files: