// Uncomment the following line to change the fontsize:
// fontsize=14
//////////////////////////////////////////////////////////////////////////////////////////////
// Welcome to UMLet!
//
// Double-click on UML elements to add them to the diagram, or to copy them
// Edit elements by modifying the text in this panel
// Hold Ctrl to select multiple elements
// Use Ctrl+mouse to select via lasso
//
// Use ± or Ctrl+mouse wheel to zoom
// Drag a whole relation at its central square icon
//
// Press Ctrl+C to copy the whole diagram to the system clipboard (then just paste it to, eg, Word)
// Edit the files in the "palettes" directory to create your own element palettes
//
// Select "Custom Elements > New..." to create new element types
//////////////////////////////////////////////////////////////////////////////////////////////
// This text will be stored with each diagram; use it for notes.10com.umlet.element.base.Class2650300210100AtomInfo
--
-x,v,F: Vector
element *type; //!< pointing to element
--
#AtomInfo();
#~AtomInfo();
com.umlet.element.base.Relation235033032050lt=<<<<-300;30;30;30com.umlet.element.base.Class182090560370Element
--
mass: double
CovalentRadius: double
VanDerWaalsRadius: double
Z: int
name: char[64]
symbol: char[3]
period: char[8]
group: char[8]
block: char[8]
sort: int *
No: int
Valence: double
NoValenceOrbitals: int
HBondDistance: double[NDIM]
HBondAngle: double[NDIM]
--
#element();
#~element();
#Output(ofstream * const out) const: bool
#Checkout(ofstream * const out, const int No, const int NoOfAtoms) const: boolcom.umlet.element.base.Class2800640400230BondedParticle
--
--
#Operation(i: int): int
#BondedParticle()
/+virtual ~BondedParticle()/
#RegisterBond(bond *Binder): bool
#UnregisterBond(bond *Binder): bool
#IsBondedTo(BondedParticle * const BondPartner): bool
#UnregisterAllBond();
#CountBonds() const: int
#CorrectBondDegree(): int
#OutputBondOfAtom() const
#OutputAdjacency(ofstream *AdjacencyFile) const
#OutputOrder(ofstream *file) constcom.umlet.element.base.Relation3120370370290lt=<<-350;30;350;220;30;220;30;270com.umlet.element.base.Relation2750370420290lt=<<-
30;30;30;220;400;220;400;270com.umlet.element.base.Relation312037050290lt=<<-30;30;30;270com.umlet.element.base.Class3370300210100BondedParticleInfo
--
AdaptiveOrder: unsigned char
MaxOrder: bool
--
#BondedParticleInfo()
#~BondedParticleInfo()
com.umlet.element.base.Class2970280310120ParticleInfo
--
nr: int
Name: char *
--
#ParticleInfo()
#~ParticleInfo()
#ostream & operator << (ostream &ost) const
com.umlet.element.base.Relation355033025050lt=<<<<-30;30;230;30com.umlet.element.base.Class3780230210190BondList
{Some Properties}
--
-id: Long
_-ClassAttribute: Long_
--
#Operation(i: int): int
/+AbstractOperation()/
--
Responsibilities
-- Resp1
*-- Resp2*com.umlet.element.base.Class1960490210150GraphNodeInfo
--
--
GraphNr: int
ComponentNr: int *
LowpointNr: int
SeparationVertex: bool
IsCyclic: bool
--
#GraphNodeInfo()
#~GraphNodeInfo()
com.umlet.element.base.Class2120750180100GraphNode
--
--
#GraphNode()
/+~GraphNode()/
#OutputGraphInfo() const
#OutputComponentNumber() const
com.umlet.element.base.Relation21203701070400lt=<<-1050;30;1050;100;310;100;310;300;30;300;30;380com.umlet.element.base.Relation212061050160lt=<<-30;30;30;140com.umlet.element.base.Class1840960840350Atom
--
sort: int*
--
#atom()
#atom(class atom *pointer)
/+~atom()/
#OutputIndexed(ofstream * const out, const int ElementNo, const int AtomNo, const char *comment = NULL) const: bool
#OutputArrayIndexed(ofstream * const out, const int *ElementNo, int *AtomNo, const char *comment = NULL) const: bool
#OutputXYZLine(ofstream *out) const: bool
#OutputTrajectory(ofstream * const out, const int *ElementNo, int *AtomNo, const int step) const: bool
#OutputTrajectoryXYZ(ofstream * const out, const int step) const: bool
#OutputMPQCLine(ofstream * const out, const Vector *center, int *AtomNo) const
#InitComponentNr()
#EqualsFather ( const atom *ptr, const atom **res ) const
#CorrectFather()
#GetTrueFather(): atom *
#Compare(const atom &ptr) const: bool
#DistanceToVector(const Vector &origin) const: double
#DistanceSquaredToVector(const Vector &origin) const: double
#IsInParallelepiped(const Vector offset, const double *parallelepiped) const: boolcom.umlet.element.base.Relation1970610120370lt=<<<<-30;30;30;260;100;260;100;350com.umlet.element.base.Class3180950720300TrajectoryParticle
--
--
#TrajectoryParticle()
/+~TrajectoryParticle()/
#AddKineticToTemperature(double *temperature, int step) const
#EvaluateConstrainedForce(int startstep, int endstep, atom **PermutationMap, ForceMatrix *Force) const
#CorrectVelocity(double *ActualTemp, int Step, Vector *CoGVelocity)
#ResizeTrajectory(int MaxSteps)
#CopyStepOnStep(int dest, int src)
#VelocityVerletUpdate(int MDSteps, config *configuration, ForceMatrix *Force)
#SumUpKineticEnergy( int Step, double *TotalMass, Vector *TotalVelocity ) const
#Thermostat_Woodcock(double ScaleTempFactor, int Step, double *ekin)
#Thermostat_Gaussian_init(int Step, double *G, double *E)
#Thermostat_Gaussian_least_constraint(int Step, double G_over_E, double *ekin, config *configuration)
#Thermostat_Langevin(int Step, gsl_rng * r, double *ekin, config *configuration)
#Thermostat_Berendsen(int Step, double ScaleTempFactor, double *ekin, config *configuration)
#Thermostat_NoseHoover_init(int Step, double *delta_alpha)
#Thermostat_NoseHoover_scale(int Step, double *ekin, config *configuration)com.umlet.element.base.Relation3070370300600lt=<<-30;30;30;160;280;160;280;580com.umlet.element.base.Relation2810370560600lt=<<-30;30;30;160;540;160;540;580com.umlet.element.base.Class2310700290100TrajectoryParticleInfo
--
Trajectory: struct {vector<Vector> R,U,V}
FixedIon: int
--
#TrajectoryParticleInfo()
#~TrajectoryParticleInfo()com.umlet.element.base.Relation2510770860200lt=<<-30;30;30;150;840;150;840;180com.umlet.element.base.Relation247077050210lt=<<-30;30;30;190com.umlet.element.base.Relation2170820350160lt=<<-30;30;30;80;330;80;330;140com.umlet.element.base.Class2480520210160TesselPoint
--
-id: Long
_-ClassAttribute: Long_
--
#Operation(i: int): int
/+AbstractOperation()/
--
Responsibilities
-- Resp1
*-- Resp2*com.umlet.element.base.Relation2470650210330lt=<<-190;30;190;250;30;250;30;310com.umlet.element.base.Relation2470840570140lt=<<-550;30;550;60;30;60;30;120com.umlet.element.base.Relation2470370570610lt=<<-550;30;550;240;280;240;280;530;30;530;30;590com.umlet.element.base.Relation2470370300610lt=<<-280;30;280;530;30;530;30;590com.umlet.element.base.Class11901100510320Bond
--
HydrogenBond: int
BondDegree: int
nr: int
Cyclic: bool
Type: enum EdgeType
Used: enum Shading
--
#GetOtherAtom(const ParticleInfo * const Atom) const: atom *
#MarkUsed(const enum Shading color): bool
#IsUsed(): enum Shading
#ResetUsed()
#Contains(const ParticleInfo * const ptr): bool
#Contains(const int nr): bool
#GetDistance() const: double
#GetDistanceSquared() const: double
#bond()
#bond(atom *left, atom *right, const int degree=1, const int number=0)
#~bond()com.umlet.element.base.Relation2620890154180lt=<<<<-
360;160;130;160;130;50;30;50;30;70com.umlet.element.base.Relation1670116019070lt=<<<<-
230;50;170;50com.umlet.element.base.Relation1100940160240lt=<<<<-
290;220;40;220;40;50;140;50;140;160com.umlet.element.base.Class15901780720240BondGraph
--
max_distance: double
IsAngstroem: bool
--
#BondGraph(bool IsA);
#~BondGraph();
#LoadBondLengthTable(const string &filename): bool
#ConstructBondGraph(molecule * const mol): bool
#GetBondLength(int firstelement, int secondelement): double
#SetMaxDistanceToMaxOfCovalentRadii(const molecule * const mol): double
#BondLengthMatrixMinMaxDistance(BondedParticle * const Walker, BondedParticle * const OtherWalker,
double &MinDistance, double &MaxDistance, bool IsAngstroem)
#CovalentMinMaxDistance(BondedParticle * const Walker, BondedParticle * const OtherWalker,
double &MinDistance, double &MaxDistance, bool IsAngstroem)com.umlet.element.base.Relation2280189024050lt=<<<<-30;30;220;30com.umlet.element.base.Class25001830210190MatrixContainer
--
-id: Long
_-ClassAttribute: Long_
--
#Operation(i: int): int
/+AbstractOperation()/
--
Responsibilities
-- Resp1
*-- Resp2*com.umlet.element.base.Class06507301500config
--
PsiType: int
MaxPsiDouble: int
PsiMaxNoUp: int
PsiMaxNoDown: int
MaxMinStopStep: int
InitMaxMinStopStep: int
ProcPEGamma: int
ProcPEPsi: int
configpath: char *
configname: char *
FastParsing: bool
Deltat: double
basis: string
databasepath: char *
DoConstrainedMD: int
MaxOuterStep: int
Thermostat: int
ThermostatImplemented: int *
ThermostatNames: char **
TempFrequency: double
alpha: double
HooverMass: double
TargetTemp: double
ScaleTempStep: int
mainname: char *
defaultpath: char *
pseudopotpath: char *
DoOutVis: int
DoOutMes: int
DoOutNICS: int
DoOutOrbitals: int
DoOutCurrent: int
DoFullCurrent: int
DoPerturbation: int
DoWannier: int
CommonWannier: int
SawtoothStart: double
VectorPlane: int
VectorCut: double
UseAddGramSch: int
Seed: int
OutVisStep: int
OutSrcStep: int
MaxPsiStep: int
EpsWannier: double
MaxMinStep: int
RelEpsTotalEnergy: double
RelEpsKineticEnergy: double
MaxMinGapStopStep: int
MaxInitMinStep: int
InitRelEpsTotalEnergy: double
InitRelEpsKineticEnergy: double
InitMaxMinGapStopStep: int
ECut: double
MaxLevel: int
RiemannTensor: int
LevRFactor: int
RiemannLevel: int
Lev0Factor: int
RTActualUse: int
AddPsis: int
RCut: double
StructOpt: int
IsAngstroem: int
RelativeCoord: int
MaxTypes: int
--
#config();
#~config();
#TestSyntax(const char * const filename, const periodentafel * const periode) const: int
#Load(const char * const filename, const string &BondGraphFileName,
const periodentafel * const periode, MoleculeListClass * const &MolList);
#LoadOld(const char * const filename, const string &BondGraphFileName,
const periodentafel * const periode, MoleculeListClass * const &MolList);
#RetrieveConfigPathAndName(const string filename);
#Save(const char * const filename, const periodentafel * const periode, molecule * const mol) const: bool
#SaveMPQC(const char * const filename, const molecule * const mol) const: bool
#SavePDB(const char * const filename, const MoleculeListClass * const MolList) const: bool
#SavePDB(const char * const filename, const molecule * const mol) const: bool
#SaveTREMOLO(const char * const filename, const molecule * const mol) const: bool
#SaveTREMOLO(const char * const filename, const MoleculeListClass * const MolList) const: bool
#Edit();
#GetIsAngstroem() const: bool
#GetDefaultPath() const: char *
#SetDefaultPath(const char * const path);
#InitThermostats();
#ParseThermostats(class ConfigFileBuffer * const fb);com.umlet.element.base.Relation700192091050lt=<<<<-30;30;890;30com.umlet.element.base.Relation22800176200lt=<<<<-
2100;180;150;180;150;50;30;50;30;90com.umlet.element.base.Class36001280320200<<Singleton>>
errorLogger
--
static ostream *nix;
static int verbosity;
static errorLogger* instance;
--
#static getInstance(): errorLogger*
#static purgeInstance()
#static DoOutput(): bool
#static setVerbosity(int verbosityLevel);
#protected errorLogger()
#protected ~errorLogger()com.umlet.element.base.Class2990140052050KeyCompare
--
--
#operator() (const KeySet SubgraphA, const KeySet SubgraphB) const: bool
com.umlet.element.base.Class16701620210150UniqueFragments
--
ANOVAOrder: int
FragmentCounter: int
CurrentIndex: int
TEFactor: double
ShortestPathList: int *
UsedList: bool **
BondsPerSPCount: int *com.umlet.element.base.Relation700167099050lt=<<<<-970;30;30;30com.umlet.element.base.Relation16001280360440lt=<<<<-70;420;30;420;30;320;340;320;340;30com.umlet.element.base.Class1200149035040Graph
{map <KeySet, NumberValuePair, KeyCompare>}
com.umlet.element.base.Relation12301500460220lt=<<<<-440;200;30;200;30;30com.umlet.element.base.Class135015808040KeySet
{set<int>}com.umlet.element.base.Relation13501590340130lt=<<<<-320;110;30;110;30;30com.umlet.element.base.Relation15501390140330lt=<<<<-
0...N X 0...N120;310;80;310;80;160;30;160;30;30com.umlet.element.base.Class2480314021060LSQ_params
--
vectors: const Vector **
num: int
com.umlet.element.base.Class149026021050lsq_params
--
x: gsl_vector *com.umlet.element.base.Relation167026017050lt=<<<<-30;30;150;30