ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
vdwd2_parameters.h
Go to the documentation of this file.
1//==========================================================
2// AUTHOR : Peize Lin
3// DATE : 2014-04-25
4// UPDATE : 2019-04-26
5//==========================================================
6
7#ifndef VDWD2_PARAMETERS_H
8#define VDWD2_PARAMETERS_H
9
10#include <map>
13#include "vdw_parameters.h"
14
15namespace vdw
16{
17
19{
20
21 public:
23 {
26 damping_ = 0.0;
27 scaling_ = 1.0;
28 radius_ = 0.0;
29 }
30
31 ~Vdwd2Parameters() = default;
32
33 void C6_input(const std::string &file, const std::string &unit);
34 void R0_input(const std::string &file, const std::string &unit);
35
36 void initset(const UnitCell &ucell); // init sets of vdwd2 once this correction is called
37
44 void initial_parameters(const Input_para &input,
45 std::ofstream* plog = nullptr);
46
47 inline const std::map<std::string, double> C6() const { return C6_; }
48 inline const std::map<std::string, double> R0() const { return R0_; }
49 inline double damping() const { return damping_; }
50 inline double scaling() const { return scaling_; }
51
52 private:
53 double scaling_;
54 double damping_;
55 double radius_;
56 std::map<std::string, double> C6_;
57 std::map<std::string, double> R0_;
58 static const std::map<std::string, double> C6_default_;
59 static const std::map<std::string, double> R0_default_;
60};
61
62} // namespace vdw
63
64#endif // VDWD2_PARAMETERS_H
Definition unitcell.h:16
Definition vdw_parameters.h:12
Definition vdwd2_parameters.h:19
double radius_
Definition vdwd2_parameters.h:55
Vdwd2Parameters()
Definition vdwd2_parameters.h:22
double damping() const
Definition vdwd2_parameters.h:49
void R0_input(const std::string &file, const std::string &unit)
Definition vdwd2_parameters.cpp:70
~Vdwd2Parameters()=default
static const std::map< std::string, double > R0_default_
Definition vdwd2_parameters.h:59
double scaling_
Definition vdwd2_parameters.h:53
double scaling() const
Definition vdwd2_parameters.h:50
const std::map< std::string, double > R0() const
Definition vdwd2_parameters.h:48
std::map< std::string, double > C6_
Definition vdwd2_parameters.h:56
static const std::map< std::string, double > C6_default_
Definition vdwd2_parameters.h:58
std::map< std::string, double > R0_
Definition vdwd2_parameters.h:57
void initial_parameters(const Input_para &input, std::ofstream *plog=nullptr)
initial parameters of Vdwd2 with INPUT file
Definition vdwd2_parameters.cpp:12
double damping_
Definition vdwd2_parameters.h:54
void C6_input(const std::string &file, const std::string &unit)
Definition vdwd2_parameters.cpp:43
const std::map< std::string, double > C6() const
Definition vdwd2_parameters.h:47
void initset(const UnitCell &ucell)
Definition vdwd2_parameters.cpp:33
Definition vdw.cpp:41
file(GLOB ATen_CORE_SRCS "*.cpp") set(ATen_CPU_SRCS $
Definition CMakeLists.txt:1
Definition input_parameter.h:12