votca 2024-dev
Loading...
Searching...
No Matches
kmclifetime.h
Go to the documentation of this file.
1/*
2 * Copyright 2009-2020 The VOTCA Development Team (http://www.votca.org)
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *
16 */
17
18#pragma once
19#ifndef VOTCA_XTP_KMCLIFETIME_H
20#define VOTCA_XTP_KMCLIFETIME_H
21
22// Local VOTCA includes
24
25namespace votca {
26namespace xtp {
27
28class KMCLifetime final : public KMCCalculator {
29 public:
30 KMCLifetime() = default;
31 ~KMCLifetime() = default;
32 bool WriteToStateFile() const { return false; }
33 std::string Identify() const { return "kmclifetime"; }
34
35 protected:
36 void ParseSpecificOptions(const tools::Property& user_options);
37 bool Evaluate(Topology& top);
38
39 private:
40 void WriteDecayProbability(std::string filename);
41
42 void RunVSSM();
43 void WriteToTraj(std::fstream& traj, unsigned long insertioncount,
44 double simtime, const Chargecarrier& affectedcarrier) const;
45
46 void ReadLifetimeFile(std::string filename);
47 std::string probfile_;
49 std::string energy_outputfile_;
50 double alpha_;
51 unsigned long outputsteps_;
52 unsigned long insertions_;
53 std::string lifetimefile_;
54};
55
56} // namespace xtp
57} // namespace votca
58
59#endif // VOTCA_XTP_KMCLIFETIME_H
class to manage program options with xml serialization functionality
Definition property.h:55
void WriteToTraj(std::fstream &traj, unsigned long insertioncount, double simtime, const Chargecarrier &affectedcarrier) const
void WriteDecayProbability(std::string filename)
void ReadLifetimeFile(std::string filename)
std::string lifetimefile_
Definition kmclifetime.h:53
bool WriteToStateFile() const
Definition kmclifetime.h:32
unsigned long outputsteps_
Definition kmclifetime.h:51
void ParseSpecificOptions(const tools::Property &user_options)
std::string energy_outputfile_
Definition kmclifetime.h:49
unsigned long insertions_
Definition kmclifetime.h:52
std::string Identify() const
Calculator name.
Definition kmclifetime.h:33
bool Evaluate(Topology &top)
Container for segments and box and atoms.
Definition topology.h:41
base class for all analysis tools
Definition basebead.h:33