|
votca 2026-dev
|
H-saturated, DFT + POD2-based electronic coupling calculator. More...
#include <ipodcoupling.h>


Public Member Functions | |
| std::string | Identify () const |
| Calculator name. | |
| Job::JobResult | EvalJob (const Topology &top, Job &job, QMThread &opThread) |
| void | WriteJobFile (const Topology &top) |
| void | ReadJobFile (Topology &top) |
| Public Member Functions inherited from votca::xtp::ParallelXJobCalc< std::vector< Job > > | |
| ParallelXJobCalc ()=default | |
| ~ParallelXJobCalc () override=default | |
| void | ParseOptions (const tools::Property &opt) final |
| bool | Evaluate (const Topology &top) final |
| virtual void | CustomizeLogger (QMThread &thread) |
| virtual Result | EvalJob (const Topology &top, Job &job, QMThread &thread)=0 |
| void | LockCout () |
| void | UnlockCout () |
| void | LockLog () |
| void | UnlockLog () |
| Public Member Functions inherited from votca::xtp::JobCalculator | |
| JobCalculator ()=default | |
| ~JobCalculator () override=default | |
| std::string | Package () const final |
| Package name. | |
| bool | EvaluateFrame (const Topology &top) |
| void | Initialize (const tools::Property &opt) final |
| Initializes a calculator from an XML file with options. | |
| void | setOpenMPThreads (Index ompthreads) |
| void | setProgObserver (ProgObserver< std::vector< Job > > *obs) |
| Public Member Functions inherited from votca::tools::Calculator | |
| Calculator ()=default | |
| virtual | ~Calculator ()=default |
| void | setnThreads (Index nThreads) |
| Sets number of threads to use. | |
Protected Member Functions | |
| void | ParseSpecificOptions (const tools::Property &user_options) |
| Protected Member Functions inherited from votca::xtp::ParallelXJobCalc< std::vector< Job > > | |
| tools::Property | UpdateDFTOptions (const tools::Property &options) |
| tools::Property | UpdateGWBSEOptions (const tools::Property &options) |
Private Member Functions | |
| void | SetJobToFailed (Job::JobResult &jres, Logger &pLog, const std::string &errormessage) |
| void | WriteLoggerToFile (const std::string &logfile, Logger &logger) |
| double | GetPODCouplingFromProp (const tools::Property &podprop, Index levelA, Index levelB) const |
| const Atom & | FindBoundaryAtomTowardSegment (const Segment &seg, Index target_segment_id) const |
| std::vector< Segment > | PositionLinkersAlongChain (const Topology &top, const Segment &seg1_positioned, const std::vector< const Segment * > &linkers, const Segment &seg2_positioned) const |
Private Attributes | |
| tools::Property | dftpackage_options_ |
| tools::Property | podcoupling_options_ |
| Index | numberofstatesA_ = 1 |
| Index | numberofstatesB_ = 1 |
| bool | include_linkers_ = false |
| bool | do_dft_input_ = false |
| bool | do_dft_run_ = false |
| bool | do_dft_parse_ = false |
| bool | do_podcoupling_ = false |
| bool | store_dft_ = false |
Additional Inherited Members | |
| Public Types inherited from votca::xtp::ParallelXJobCalc< std::vector< Job > > | |
| using | Job |
| using | Result |
| Protected Attributes inherited from votca::xtp::ParallelXJobCalc< std::vector< Job > > | |
| std::vector< Job > | XJobs_ |
| tools::Mutex | coutMutex_ |
| tools::Mutex | logMutex_ |
| std::string | mapfile_ |
| std::string | jobfile_ |
| Protected Attributes inherited from votca::xtp::JobCalculator | |
| Index | openmp_threads_ |
| ProgObserver< std::vector< Job > > * | progObs_ |
| Protected Attributes inherited from votca::tools::Calculator | |
| Index | nThreads_ |
| bool | maverick_ |
H-saturated, DFT + POD2-based electronic coupling calculator.
A new, separate jobcalculator (deliberately not a modification of IQM itself – IQM already has an established, widely-used role, and directly entangling this genuinely different workflow into it would risk breaking existing behavior for everyone who already relies on it, per the design worked through directly with the user before starting this implementation).
For each neighbor-list pair: maps both segments (plus, in future, any linking segments – see this class's own EvalJob header comment for the current, still-open status of that piece), combines them into one supermolecule, saturates any remaining covalently-cut fragment boundaries with new H atoms (FragmentSaturator:: SaturateExternalBonds, geometric placement, then RelaxNewAtoms, a constrained OpenBabel MMFF94/UFF relaxation – both already built and tested earlier this session), runs the actual DFT calculation on the resulting, H-saturated geometry, then runs PODCoupling on the resulting orbitals.
Callname: ipodcoupling
Definition at line 58 of file ipodcoupling.h.
| Job::JobResult votca::xtp::IPodCoupling::EvalJob | ( | const Topology & | top, |
| Job & | job, | ||
| QMThread & | opThread ) |
Definition at line 232 of file ipodcoupling.cc.
|
private |
Definition at line 139 of file ipodcoupling.cc.
|
private |
Definition at line 688 of file ipodcoupling.cc.
|
inlinevirtual |
Calculator name.
This name is used to register a calculator in a Factory It the name of the XML file with the default calculator options stored in VOTCASHARE
Implements votca::xtp::ParallelXJobCalc< std::vector< Job > >.
Definition at line 60 of file ipodcoupling.h.
|
protectedvirtual |
Implements votca::xtp::ParallelXJobCalc< std::vector< Job > >.
Definition at line 47 of file ipodcoupling.cc.
|
private |
Definition at line 157 of file ipodcoupling.cc.
|
virtual |
Implements votca::xtp::JobCalculator.
Definition at line 700 of file ipodcoupling.cc.
|
private |
Definition at line 793 of file ipodcoupling.cc.
|
virtual |
Implements votca::xtp::JobCalculator.
Definition at line 83 of file ipodcoupling.cc.
|
private |
Definition at line 801 of file ipodcoupling.cc.
|
private |
Definition at line 131 of file ipodcoupling.h.
|
private |
Definition at line 160 of file ipodcoupling.h.
|
private |
Definition at line 162 of file ipodcoupling.h.
|
private |
Definition at line 161 of file ipodcoupling.h.
|
private |
Definition at line 163 of file ipodcoupling.h.
|
private |
Definition at line 154 of file ipodcoupling.h.
|
private |
Definition at line 141 of file ipodcoupling.h.
|
private |
Definition at line 142 of file ipodcoupling.h.
|
private |
Definition at line 132 of file ipodcoupling.h.
|
private |
Definition at line 165 of file ipodcoupling.h.