QMCPACK
TauParams.hpp
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2022 QMCPACK developers.
6 //
7 // File developed by: Peter Doak, doakpw@ornl.gov, Oak Ridge National Laboratory
8 // Ye Luo, yeluo@anl.gov, Argonne National Laboratory
9 //
10 // File created by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
11 //////////////////////////////////////////////////////////////////////////////////////
12 
13 
14 #ifndef QMCPLUSPLUS_TAU_PARAMS_HPP
15 #define QMCPLUSPLUS_TAU_PARAMS_HPP
16 
17 #include <MCCoords.hpp>
18 
19 namespace qmcplusplus
20 {
21 /** Object to encapsulate appropriate tau derived parameters
22  * for a particular CoordsType specialization
23  */
24 template<typename RT, CoordsType CT>
25 struct TauParams;
26 
27 template<typename RT>
28 struct TauParams<RT, CoordsType::POS>
29 {
32  RT sqrttau;
33 
34  TauParams(RT tau, RT grp_inv_mass, RT spin_mass)
35  {
36  tauovermass = tau * grp_inv_mass;
37  oneover2tau = 0.5 / (tauovermass);
38  sqrttau = std::sqrt(tauovermass);
39  }
40 };
41 
42 template<typename RT>
44 {
47  RT sqrttau;
48 
52 
53  TauParams(RT tau, RT grp_inv_mass, RT spin_mass)
54  {
55  tauovermass = tau * grp_inv_mass;
56  oneover2tau = 0.5 / (tauovermass);
57  sqrttau = std::sqrt(tauovermass);
58 
59  spin_tauovermass = tauovermass / spin_mass;
60  spin_oneover2tau = 0.5 / (spin_tauovermass);
61  spin_sqrttau = std::sqrt(spin_tauovermass);
62  }
63 };
64 } // namespace qmcplusplus
65 
66 #endif
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
TauParams(RT tau, RT grp_inv_mass, RT spin_mass)
Definition: TauParams.hpp:34
TauParams(RT tau, RT grp_inv_mass, RT spin_mass)
Definition: TauParams.hpp:53
Object to encapsulate appropriate tau derived parameters for a particular CoordsType specialization...
Definition: TauParams.hpp:25
MakeReturn< UnaryNode< FnSqrt, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t sqrt(const Vector< T1, C1 > &l)