votca 2026-dev
Loading...
Searching...
No Matches
votca::xtp::IPodCoupling Class Referencefinal

H-saturated, DFT + POD2-based electronic coupling calculator. More...

#include <ipodcoupling.h>

Inheritance diagram for votca::xtp::IPodCoupling:
Collaboration diagram for votca::xtp::IPodCoupling:

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 AtomFindBoundaryAtomTowardSegment (const Segment &seg, Index target_segment_id) const
std::vector< SegmentPositionLinkersAlongChain (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< JobXJobs_
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_

Detailed Description

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.

Member Function Documentation

◆ EvalJob()

Job::JobResult votca::xtp::IPodCoupling::EvalJob ( const Topology & top,
Job & job,
QMThread & opThread )

Definition at line 232 of file ipodcoupling.cc.

◆ FindBoundaryAtomTowardSegment()

const Atom & votca::xtp::IPodCoupling::FindBoundaryAtomTowardSegment ( const Segment & seg,
Index target_segment_id ) const
private

Definition at line 139 of file ipodcoupling.cc.

◆ GetPODCouplingFromProp()

double votca::xtp::IPodCoupling::GetPODCouplingFromProp ( const tools::Property & podprop,
Index levelA,
Index levelB ) const
private

Definition at line 688 of file ipodcoupling.cc.

◆ Identify()

std::string votca::xtp::IPodCoupling::Identify ( ) const
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

Returns
calculator name

Implements votca::xtp::ParallelXJobCalc< std::vector< Job > >.

Definition at line 60 of file ipodcoupling.h.

◆ ParseSpecificOptions()

void votca::xtp::IPodCoupling::ParseSpecificOptions ( const tools::Property & user_options)
protectedvirtual

◆ PositionLinkersAlongChain()

std::vector< Segment > votca::xtp::IPodCoupling::PositionLinkersAlongChain ( const Topology & top,
const Segment & seg1_positioned,
const std::vector< const Segment * > & linkers,
const Segment & seg2_positioned ) const
private

Definition at line 157 of file ipodcoupling.cc.

◆ ReadJobFile()

void votca::xtp::IPodCoupling::ReadJobFile ( Topology & top)
virtual

Implements votca::xtp::JobCalculator.

Definition at line 700 of file ipodcoupling.cc.

◆ SetJobToFailed()

void votca::xtp::IPodCoupling::SetJobToFailed ( Job::JobResult & jres,
Logger & pLog,
const std::string & errormessage )
private

Definition at line 793 of file ipodcoupling.cc.

◆ WriteJobFile()

void votca::xtp::IPodCoupling::WriteJobFile ( const Topology & top)
virtual

Implements votca::xtp::JobCalculator.

Definition at line 83 of file ipodcoupling.cc.

◆ WriteLoggerToFile()

void votca::xtp::IPodCoupling::WriteLoggerToFile ( const std::string & logfile,
Logger & logger )
private

Definition at line 801 of file ipodcoupling.cc.

Member Data Documentation

◆ dftpackage_options_

tools::Property votca::xtp::IPodCoupling::dftpackage_options_
private

Definition at line 131 of file ipodcoupling.h.

◆ do_dft_input_

bool votca::xtp::IPodCoupling::do_dft_input_ = false
private

Definition at line 160 of file ipodcoupling.h.

◆ do_dft_parse_

bool votca::xtp::IPodCoupling::do_dft_parse_ = false
private

Definition at line 162 of file ipodcoupling.h.

◆ do_dft_run_

bool votca::xtp::IPodCoupling::do_dft_run_ = false
private

Definition at line 161 of file ipodcoupling.h.

◆ do_podcoupling_

bool votca::xtp::IPodCoupling::do_podcoupling_ = false
private

Definition at line 163 of file ipodcoupling.h.

◆ include_linkers_

bool votca::xtp::IPodCoupling::include_linkers_ = false
private

Definition at line 154 of file ipodcoupling.h.

◆ numberofstatesA_

Index votca::xtp::IPodCoupling::numberofstatesA_ = 1
private

Definition at line 141 of file ipodcoupling.h.

◆ numberofstatesB_

Index votca::xtp::IPodCoupling::numberofstatesB_ = 1
private

Definition at line 142 of file ipodcoupling.h.

◆ podcoupling_options_

tools::Property votca::xtp::IPodCoupling::podcoupling_options_
private

Definition at line 132 of file ipodcoupling.h.

◆ store_dft_

bool votca::xtp::IPodCoupling::store_dft_ = false
private

Definition at line 165 of file ipodcoupling.h.


The documentation for this class was generated from the following files: