34 std::cout <<
"\n... ... Site, reorg. energies from " <<
energies_file_
40 std::string key =
"topology.molecules.molecule";
41 std::vector<tools::Property *> mols = alloc.
Select(key);
44 key =
"segments.segment";
45 std::vector<tools::Property *> segs = molprop->Select(key);
48 std::string segName = segprop->get(
"name").as<std::string>();
62 std::string u_xX_nN =
"U_xX_nN_" + type.ToString();
63 std::string u_nX_nN =
"U_nX_nN_" + type.ToString();
64 std::string u_xN_xX =
"U_xN_xX_" + type.ToString();
65 if (segprop->exists(u_xX_nN) && segprop->exists(u_nX_nN) &&
66 segprop->exists(u_xN_xX)) {
67 U_xX_nN.
setValue(segprop->get(u_xX_nN).as<
double>() * eV2hrt, type);
68 U_nX_nN.
setValue(segprop->get(u_nX_nN).as<
double>() * eV2hrt, type);
69 U_xN_xX.
setValue(segprop->get(u_xN_xX).as<
double>() * eV2hrt, type);
90 std::string segName = seg.getType();
93 std::cout << std::endl
94 <<
"... ... WARNING: No energy information for seg [" << segName
107 seg.setU_xX_nN(
seg_U_xX_nN_[segName].getValue(type.Type()),
109 seg.setU_nX_nN(
seg_U_nX_nN_[segName].getValue(type.Type()),
111 seg.setU_xN_xX(
seg_U_xN_xX_[segName].getValue(type.Type()),
117 std::cout << std::endl
118 <<
"... ... Read in site, reorg. energies for " << count
119 <<
" segments. " << std::flush;
void ParseOptions(const tools::Property &user_options)
std::map< std::string, bool > has_seg_
std::map< std::string, QMStateCarrierStorage< double > > seg_U_xN_xX_
std::map< std::string, QMStateCarrierStorage< double > > seg_U_xX_nN_
bool Evaluate(Topology &top)
std::string energies_file_
std::map< std::string, QMStateCarrierStorage< bool > > seg_has_state_
std::map< std::string, QMStateCarrierStorage< double > > seg_U_nX_nN_
Storage class for properties of QMStateTypes, which can be used in KMC.
void setValue(T value, QMStateType t)
Container for segments and box and atoms.
std::vector< Segment > & Segments()
base class for all analysis tools