NAMD
Classes | Macros | Typedefs | Functions
ComputeQM.C File Reference
#include "dcdlib.h"
#include "Debug.h"
#include "InfoStream.h"
#include "Node.h"
#include "PatchMap.h"
#include "PatchMap.inl"
#include "AtomMap.h"
#include "ComputeQM.h"
#include "ComputeQMMgr.decl.h"
#include "PatchMgr.h"
#include "Molecule.h"
#include "ReductionMgr.h"
#include "ComputeMgr.h"
#include "ComputeMgr.decl.h"
#include "SimParameters.h"
#include "WorkDistrib.h"
#include "varsizemsg.h"
#include "ConfigList.h"
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <algorithm>
#include "ComputePme.h"
#include "ComputePmeMgr.decl.h"
#include <fstream>
#include <iomanip>
#include "ComputeQMMgr.def.h"

Go to the source code of this file.

Classes

struct  ComputeQMAtom
 
class  QMCoordMsg
 
struct  pntChrgDist
 
struct  ComputeQMPntChrg
 
class  QMPntChrgMsg
 
class  QMGrpResMsg
 
class  QMForceMsg
 
struct  idIndxStr
 
struct  lssDistSort
 
struct  QMAtomData
 
class  QMGrpCalcMsg
 
struct  dummyData
 
struct  LSSDataStr
 
class  ComputeQMMgr
 

Macros

#define MIN_DEBUG_LEVEL   1
 
#define QMLENTYPE   1
 
#define QMRATIOTYPE   2
 
#define QMPCSCHEMENONE   1
 
#define QMPCSCHEMEROUND   2
 
#define QMPCSCHEMEZERO   3
 
#define QMPCSCALESHIFT   1
 
#define QMPCSCALESWITCH   2
 
#define PCMODEUPDATESEL   1
 
#define PCMODEUPDATEPOS   2
 
#define PCMODECUSTOMSEL   3
 
#define QMATOMTYPE_DUMMY   0
 
#define QMATOMTYPE_QM   1
 
#define QMPCTYPE_IGNORE   0
 
#define QMPCTYPE_CLASSICAL   1
 
#define QMPCTYPE_EXTRA   2
 
#define QMLSSQMRES   1
 
#define QMLSSCLASSICALRES   2
 

Typedefs

typedef std::pair< int, LSSDataStratmLSSData
 
typedef std::map< int, LSSDataStrLSSDataMap
 
typedef std::pair< int, MassrefLSSData
 
typedef std::map< int, MassLSSRefMap
 
typedef std::vector< ComputeQMPntChrgQMPCVec
 
typedef std::vector< ComputeQMAtomQMAtmVec
 
typedef std::map< Real, std::pair< Position, BigReal > > GrpDistMap
 
typedef std::pair< Position, BigRealPosDistPair
 

Functions

bool custom_ComputeQMAtom_Less (const ComputeQMAtom a, const ComputeQMAtom b)
 
static char * FORMAT (BigReal X)
 
static char * FORMAT (const char *X)
 
static char * QMETITLE (int X)
 
SortedArray< LSSSubsDat > & lssSubs (ComputeQMMgr *mgr)
 

Macro Definition Documentation

◆ MIN_DEBUG_LEVEL

#define MIN_DEBUG_LEVEL   1

Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 by The Board of Trustees of the University of Illinois. All rights reserved.

Definition at line 16 of file ComputeQM.C.

◆ PCMODECUSTOMSEL

#define PCMODECUSTOMSEL   3

Definition at line 102 of file ComputeQM.C.

Referenced by ComputeQM::processFullQM(), and ComputeQMMgr::recvPartQM().

◆ PCMODEUPDATEPOS

#define PCMODEUPDATEPOS   2

Definition at line 101 of file ComputeQM.C.

Referenced by ComputeQM::processFullQM(), and ComputeQMMgr::recvPartQM().

◆ PCMODEUPDATESEL

#define PCMODEUPDATESEL   1

Definition at line 100 of file ComputeQM.C.

Referenced by ComputeQM::processFullQM(), and ComputeQMMgr::recvPartQM().

◆ QMATOMTYPE_DUMMY

#define QMATOMTYPE_DUMMY   0

Definition at line 196 of file ComputeQM.C.

Referenced by ComputeQMMgr::recvPntChrg().

◆ QMATOMTYPE_QM

#define QMATOMTYPE_QM   1

Definition at line 197 of file ComputeQM.C.

Referenced by ComputeQMMgr::recvPntChrg().

◆ QMLENTYPE

#define QMLENTYPE   1

Definition at line 56 of file ComputeQM.C.

Referenced by ComputeQMMgr::recvPntChrg().

◆ QMLSSCLASSICALRES

#define QMLSSCLASSICALRES   2

Definition at line 203 of file ComputeQM.C.

◆ QMLSSQMRES

#define QMLSSQMRES   1

Definition at line 202 of file ComputeQM.C.

◆ QMPCSCALESHIFT

#define QMPCSCALESHIFT   1

Definition at line 63 of file ComputeQM.C.

◆ QMPCSCALESWITCH

#define QMPCSCALESWITCH   2

Definition at line 64 of file ComputeQM.C.

◆ QMPCSCHEMENONE

#define QMPCSCHEMENONE   1

Definition at line 59 of file ComputeQM.C.

◆ QMPCSCHEMEROUND

#define QMPCSCHEMEROUND   2

Definition at line 60 of file ComputeQM.C.

◆ QMPCSCHEMEZERO

#define QMPCSCHEMEZERO   3

Definition at line 61 of file ComputeQM.C.

◆ QMPCTYPE_CLASSICAL

#define QMPCTYPE_CLASSICAL   1

◆ QMPCTYPE_EXTRA

#define QMPCTYPE_EXTRA   2

Definition at line 200 of file ComputeQM.C.

Referenced by ComputeQMMgr::recvPntChrg().

◆ QMPCTYPE_IGNORE

#define QMPCTYPE_IGNORE   0

◆ QMRATIOTYPE

#define QMRATIOTYPE   2

Definition at line 57 of file ComputeQM.C.

Referenced by ComputeQMMgr::recvPntChrg().

Typedef Documentation

◆ atmLSSData

typedef std::pair<int, LSSDataStr> atmLSSData

Definition at line 393 of file ComputeQM.C.

◆ GrpDistMap

typedef std::map<Real, std::pair<Position,BigReal> > GrpDistMap

Definition at line 1290 of file ComputeQM.C.

◆ LSSDataMap

typedef std::map<int, LSSDataStr> LSSDataMap

Definition at line 394 of file ComputeQM.C.

◆ LSSRefMap

typedef std::map<int, Mass> LSSRefMap

Definition at line 397 of file ComputeQM.C.

◆ PosDistPair

typedef std::pair<Position,BigReal> PosDistPair

Definition at line 1291 of file ComputeQM.C.

◆ QMAtmVec

typedef std::vector<ComputeQMAtom> QMAtmVec

Definition at line 400 of file ComputeQM.C.

◆ QMPCVec

typedef std::vector<ComputeQMPntChrg> QMPCVec

Definition at line 399 of file ComputeQM.C.

◆ refLSSData

typedef std::pair<int, Mass> refLSSData

Definition at line 396 of file ComputeQM.C.

Function Documentation

◆ custom_ComputeQMAtom_Less()

bool custom_ComputeQMAtom_Less ( const ComputeQMAtom  a,
const ComputeQMAtom  b 
)

Definition at line 95 of file ComputeQM.C.

References ComputeQMAtom::id.

Referenced by ComputeQMMgr::recvPntChrg().

96 {
97  return a.id < b.id;
98 }

◆ FORMAT() [1/2]

static char* FORMAT ( BigReal  X)
static

Definition at line 368 of file ComputeQM.C.

References X.

Referenced by ComputeQMMgr::storeQMRes().

369 {
370  static char tmp_string[25];
371  const double maxnum = 9999999999.9999;
372  if ( X > maxnum ) X = maxnum;
373  if ( X < -maxnum ) X = -maxnum;
374  sprintf(tmp_string," %14.4f",X);
375  return tmp_string;
376 }
#define X
Definition: msm_defn.h:29

◆ FORMAT() [2/2]

static char* FORMAT ( const char *  X)
static

Definition at line 378 of file ComputeQM.C.

References X.

379 {
380  static char tmp_string[25];
381  sprintf(tmp_string," %14s",X);
382  return tmp_string;
383 }
#define X
Definition: msm_defn.h:29

◆ lssSubs()

SortedArray<LSSSubsDat>& lssSubs ( ComputeQMMgr mgr)

Definition at line 596 of file ComputeQM.C.

References ComputeQMMgr::get_subsArray().

Referenced by HomePatch::qmSwapAtoms().

596  {
597  return mgr->get_subsArray();
598 } ;
SortedArray< LSSSubsDat > & get_subsArray()
Definition: ComputeQM.C:429

◆ QMETITLE()

static char* QMETITLE ( int  X)
static

Definition at line 385 of file ComputeQM.C.

References X.

Referenced by ComputeQMMgr::storeQMRes().

386 {
387  static char tmp_string[21];
388  sprintf(tmp_string,"QMENERGY: %7d",X);
389  return tmp_string;
390 }
#define X
Definition: msm_defn.h:29