nextuppreviouscontentsindex
MOLCAS manual:

Next: 8.36 numerical_gradient Up: 8. Programs Previous: 8.34 Mula

Subsections



8.35 nemo


8.35.1 Description

The NEMO is a potential analyzis package that calculates interaction energies between molecules. The package uses input files from MPPROP and MKNEMOPOT. The package was originally a set of programs that has been totaly rewritten and put together into one program. The package are capable of doing fitting of potential surfaces, energy optimization between molecules, calculate some specific potential curves and generate simulation parameters for rigid molecules.

The theoretical background stands in perturbation theory. The interaction energy between two molecules can be described by three quantum chemical calculations. One quantum chemical calculation for each of the monomers and one calculation for the two molecules together i.e. the dimer. The energy for the two monomers are then subtracted from the dimer calculation. That is done for each configuration, i.e. coordinate set for a dimer calculation, given by the input to MKNEMOPOT. The calculations are set up by the MKNEMOPOT package and to performe those calculations it is recommended to read the manual for the MKNEMOPOT package. The interaction energy can also be described in the classical energy terms electrostatic, induction dispersion, repulsion and chargetransfer. Where, a good description the first three energy terms can be given by distributed multipole expansions and distributed polarizabilities. The last two energy terms are harder to predict and are of quantum chemical origin. The reason for calculating the interaction energy quantum chemically is that this reference energy will be used for the description of the repulsion(/chargetransfer) parameters. The repulsive reference energy term is achieved by subtracting the energy for the electrostatic, induction and dispersion from the reference energy. Note here that the dispersion energy is only added if the reference energy is performed with a method that includes true dynamic correlation, i.e. when the energy includes the London dispersion term. The reference energy will also include a charge transfer term if it is defined by the user. An estimation of the repulsive energy term can now be fitted to the reference repulsive energy term by using the FITPar subprogram in the NEMO program. The fitted parameters are classified in elements and type. Where a hydrogen atom is element 1 and can be classified in different types depending on their chemical environment. This information is supplied with the MpProp file together with coordinates, multipole and polarizabilities of a molecule. The MpProp file is an output from the MPPROP or LOPROP program. A MpProp file does not always contain all the information needed to run the NEMO program. Thus, it is important have look directly in the file and do your prefered changes before using it. It can for example be to change the type of a hydrogen atom. If we take the ethanol molecule as an example. It is composed of two carbons, five hydrogens and one oxygen atoms. Here we can define three different type of hydrogens that are bonded to C1, C2 and O1 respectively. The two carbons in the molecule can of course also be defined to be of different type. For each defined type there excists two corresponding parameters for the repulsion energy. These are the ones that are varied to in the fitting procedure.

The input file comming from the MKNEMOPOT program can contain a cluster definition. A cluster is defined as a supermolecule containing one/several different/equal molecules. The interaction energy is thus defined as the interaction between different clusters.

The POTSurf subprogram produces potential energy curves between two clusters. This is normally used to compare the fitted potential with the result from a quantum chemical calculation. Whats happening is that one of clusters are translated and rotated to a certain position. The moved cluster is then translated along a displacement vector.

In the DIMEr subprogram an optimizition/minimizition of the energy between two/several molecules is performed. The routine is not good and practical for many molecules. Because, it was originally written to do the job for two molecules which works pretty good.

The SIMPar program can produce input files for the MOLSIM package.


8.35.2 Dependencies

The NEMO program requires a nemo library. The library is just a concatenation of several different nemo files. In order to run the FitPar subprogram in NEMO a NEMO file is required. The NEMO file is either autogenerated through the MKNEMOPOT or it might be generated by hand from some other potential.


8.35.3 Files

Below is a list of the files that are used/created by the program NEMO.

8.35.3.1 Input files

FileContents
NEMOThis file will be opened in the $WorkDir/ directory and is composed of several Nemo files generated by MKNEMOPOT.
ATOMPARThis file will be opened in the $WorkDir/ directory and it holds the atomic parameters for repulsion, scaling constants for the dispersion, valence of the atoms. It will originaly be stored in the $MOLCAS/nemo_libary directory. It's definition is: two dummy lines, nElements=103 of lines and all this taken nType=4 times. The signifacant nElements of lines will hold 12 columns. Where the first column is the element number, the second column is the element label, the third column

8.35.3.2 Columns in the ATOMPAR file

  • Column=1element number
  • Column=2element label
  • Column=3Alpha
  • Column=4Kappa
  • Column=5Charge Transfer Alpha
  • Column=6Charge Transfer Kappa
  • Column=7Valence of the atom
  • Column=8RepExp an integer for the r-n type potential.
  • Column=9RepFac
  • Column=10DispFac
  • Column=11K1/Sigma
  • Column=12K2/Epsilon

8.35.3.3 Output files

FileContents
POTSURFThis file holds the potential curve. The columns of the PotSurf file will be:
  • Column=1Coordinate 1
  • Column=2Electrostatic+Induction+Repulsion
  • Column=3Electrostatic+Induction+Repulsion+Dispersion
  • Column=4Electrostatic
  • Column=5Induction
  • Column=6Dispersion
  • Column=7Repulsion
  • Column=8Charge Transfer
MOLSIMThe input file in molsim format for the particle part.
MOLSIMLIBThe library file in molsim format for the repulsive and dispersive part.
ATOMFITThis is the same file as ATOMPAR, but it is written to the $WorkDir directory


8.35.4 Input

Below follows a description of the input to NEMO. The keywords are always significant to four characters, but in order to make the input more transparent, it is recommended to use the full keywords. The NEMO program section of the MOLCAS input is bracketed by a preceding dummy namelist reference

/&NEMO  /&END
and an ``end of input'' statement

End  of  Input
Argument(s) to a keyword are always supplied on the next line of the input file, except explicitly stated otherwise.

8.35.4.1 Optional general keywords

KeywordMeaning
ALPHaUse this Keyword to define the alpha parameter for a specific atom and atomtype. The keyword should be followed by a line/lines composed of the element number, the atomtype and the value for alpha.This Keyword should be ended by a END statement in the last line. The example below means that uran type 1 will have the value 0.1 . The alpha parameter will be used in the exponent for the repulsion.

ALPHa
92  1  0.1
END
KAPPaUse this Keyword to define the kappa parameter for a specific atom and atomtype. The keyword should be followed by a line/lines composed of the element number, the atomtype and the value for kappa.This Keyword should be ended by a END statement in the last line. The example below means that uran type 1 will have the value 10.0 . The kappa parameter will be used as a prefactor to the exponent expression for the repulsion.

KAPPa
92  1  10.0
END
ALCTThis keyword is for the charge transfer term that can be used if one specifies that in the NEMO keyword. The energy term is exactly the same expression as the repulsion, but with a minus sign instead. Use this Keyword to define the charge transfer alpha parameter for a specific atom and atomtype. The keyword should be followed by a line/lines composed of the element number, the atomtype and the value for charge transfer alpha.This Keyword should be ended by a END statement in the last line. The example below means that uran type 1 will have the value 0.1 . The charge transfer alpha parameter will be used in the exponent for the repulsion.

ALCT
92  1  0.1
END
KACTThis keyword is for the charge transfer term that can be used if one specifies that in the NEMO keyword. The energy term is exactly the same expression as the repulsion, but with a minus sign instead. Use this Keyword to define the charge transfer kappa parameter for a specific atom and atomtype. The keyword should be followed by a line/lines composed of the element number, the atomtype and the value for charge transfer kappa. This Keyword should be ended by a END statement in the last line. The example below means that uran type 1 will have the value 10.0 . The charge transfer kappa parameter will be used as a prefactor to the exponent expression for the repulsion.

KACT
92  1  10.0
END
REPFactorIf a repulsion of type sqrt(Factor1*Factor2)r-n is to be used. Check the NEMO keyword for information. This keyword is specified in the same way as kappa.
DISPfactorTwo factors are multiplied with the dispersion energy. They work in the same way as the REPFactor does and are specified in the same way.
VALEnceSet the number of valence electrons. The keyword should be followed by a line/lines composed of the element number, the atomtype and the value for kappa.This Keyword should be ended by a END statement in the last line. The example below means that oxygen type 2 will have 6 valence electrons.

VALEnce
8  2  6.0
END
NOISotropicPolarizabilitiesThe default is to use isotropic polarizabilities for the induction energy. This is due to the fact that we use Thole damping as default, which require isotropic polarizabilities.
NOMOveThe default interactions sites are not placed in the atoms. If this keyword is used the interactions sites are not moved to a new location.
NOQUadrupoleDeleteThe default is to replace the quadrupoles with local dipoles to get the correct total quadrupole. If this keyword is used, the quadrupoles will be truncated at the dipole level.
NODAmpingAs default the Thole damping is used, but using this heyword that is overruled.
REPLaceUse this keyword to specify that some atomic quadrupoles should be replaced by charges.
MOLDThe new local atomic dipole will be used when calculating the new interaction center. The default is to use the original local atomic dipole.
NOLMThe new local atomic quadrupole will be used when estamating the size of the atom. This is used when calculating the repulsion and dispersive energy. The default is to use the original local atomic quadrupole which is the correct way.
RETYREpTYpe: The keyword should be followed by a line, specifying the expression to use for the repulsion type.

8.35.4.2 Optional RETY paramters

  • m=0(Default) Here the exponent is described by
    -r12/sqrt(Tr(Q1)/3/qv1+Tr(Q2)/3/qv2)/(aplha1+alpha2) .
  • m=1Here the exponent is described by
    -r12/(alpha1*sqrt(Tr(Q1)/3/qv1)+alpha2*sqrt(Tr(Q2)/3/qv2)) .
[NEMO] The keyword should be followed by a line, what kind of energy expression to use. The parameters for the energies are read from the nemo and ATOMPAR

8.35.4.3 Optional NEMO paramters

  • m=0(Default) Electrostatic, inductive, dispersive and a exponetial repulsion energy term is used.
  • m=1Here a sqrt(Factor1*Factor2)*r-n type repulsion is added to the default energy.
  • m=2Here dispersion factors are used to scale the energy.
  • m=3This number means that default energy is used, plus the repulsive term of type 1 and the dispersive scaling of type 2.
  • m=4An charge transfer term is added to the default energy, which has the same expression as the repulsion term only differing in the sign.
[SEED] The seed to the random generator.[FITPar] This is the start keyword for the subprogram FITPAR. It should consist of the Keyword plus a END statement. Inbetween there should be FITPAR specific keywords. The subprogram to do the fitting of parameters. [DIMEr] This is the start keyword for the subprogram DIMER. It should consist of the Keyword plus a END statement. Inbetween there should be DIMEr specific keywords. The subprogram do an energy minimisation for two monomers. [POTSurf] This is the start keyword for the subprogram POTSURF. It should consist of the Keyword plus a END statement. Inbetween there should be POTSURF specific keywords. The subprogram generates potential curves. [SIMPar] This is the start keyword for the subprogram SIMPAR. It should consist of the Keyword plus a END statement. Inbetween there should be SIMPAR specific keywords.

8.35.4.4 Optional FITPar specific keywords

These keywords should begin by a FITPar keyword and end with a END statement.
KeywordMeaning
NUALNO UPDATE ALPHA. This keyword should be followed by a line/lines specifying the element and type of the atomic parameter that should not be updated during the fitting. The example says that the oxygen type 2 atomic parameter should not be updated.

NUAL
8  2
END
NUKANO UPDATE KAPPA. This keyword should be followed by a line/lines specifying the element and type of the atomic parameter that should not be updated during the fitting. The example says that the oxygen type 2 atomic parameter should not be updated.

NUKA
8  2
END
NUACNO UPDATE CHARGE TRANSFER ALPHA. This keyword should be followed by a line/lines specifying the element and type of the atomic parameter that should not be updated during the fitting. The example says that the oxygen type 2 atomic parameter should not be updated.This only works for NEMO type 4. Check the NEMO keyword.

NUAC
8  2
END
NUKCNO UPDATE CHARGE TRANSFER KAPPA. This keyword should be followed by a line/lines specifying the element and type of the atomic parameter that should not be updated during the fitting. The example says that the oxygen type 2 atomic parameter should not be updated.This only works for NEMO type 4. Check the NEMO keyword.

NUKC
8  2
END
NUSINot implemented. For future use.
NUEPNot implemented. For future use.
NURENO UPDATE REPULSION FACTOR. This keyword should be followed by a line/lines specifying the element and type of the atomic parameter that should not be updated during the fitting. The example says that the oxygen type 2 atomic parameter should not be updated. This only works for NEMO type 1 and 3. Check the NEMO keyword.

NUKC
8  2
END
NUDINO UPDATE DISPERSION FACTOR. This keyword should be followed by a line/lines specifying the element and type of the atomic parameter that should not be updated during the fitting. The example says that the oxygen type 2 atomic parameter should not be updated. This only works for NEMO type 2 and 3. Check the NEMO keyword.

NUKC
8  2
END
GLOBalThe keyword should be followed by a line specifying the number of globalsteps.
MACRoThe keyword should be followed by a line specifying the number of macrosteps.
MICRoThe keyword should be followed by a line specifying the number of microsteps.
TEMPThe keyword should be followed by a line specifying the temperature for the weighting procedure. See the keyword WEIG.
SCFFitBy default the program tries to fit the second energy term in the NEMO file. Using this keyword the program uses the first energy term witch is a SCF type energy.
CONVergenceThe keyword should be followed by a line specifying the number for the convergence radii.
RFACtorThe keyword should be followed by a line specifying the number for the scaling constant in the least square fit.
WEIGhtThe keyword should be followed by a line specifying the number of the weight type

8.35.4.5 Optional WEIGht paramters

  • m=0(Default) Weight=Min(2,Exp( -0.2*(E(dimer)-E(Monomer1)-E(Monomer2)) )
  • m=1Weight=exp(-(E(dimer)-E(Monomer1)-E(Monomer2))/kT)
[ERROr] The keyword should be followed by a line specifying the number of the error type

8.35.4.6 Optional ERROr paramters

  • m=0(Default) Error=Weight*( Exp( 0.15D0*(E(estimated)-E(reference)) )-1 )**2
  • m=1Error=Weight*(E(reference)-E(estimated))**2
[DISFactor] The keyword should be followed by a line specifying a scaling constant for the dispersion energy. (Default 1.0) [LINEarsearch] The keyword can contain any of the keywords FORCe, SIMPlex, ITERation and CONVergence. It should also finnish by an END statement.[SIMPlex] Keyword for the simplex method. [FORCe] Keyword for a steepest descent type method. [ITERation] The keyword should be followed by a line specifying the number of interations. [CONVergence] The keyword should be followed by a line specifying the number for the convergence.

8.35.4.7 Optional DIMEr specific keywords

These keywords should begin by a DIMEr keyword and end with a END statement.
KeywordMeaning
MOLEculesThe keyword should be followed by a line specifying a molecule by name exactly as they are named in the nemo file. All other molecular based keywords will be given to this molecule. That until a new molecule name is given with this keyword.
METHodSpecifies the method to be used for the file to be opened. The program will find another method if the specified method cannot be found in the MPPROP file.
MACRostepsThe keyword should be followed by a line specifying the number of macrosteps.
MICRostepsThe keyword should be followed by a line specifying the number of microsteps.
STARtThe keyword should be followed by a line specifying two numbers. The first number is search radii for coordinates and the second number is the search radii for the angles. In the first macrostep.
RFACtorThe keyword should be followed by a line specifying the number of the scaling factor for the search radii each macrostep.
CONVergenceThe keyword should be followed by a line specifying the number for the convergence radii.
DISFacThe keyword should be followed by a line specifying a scaling constant for the dispersion energy. (Default 1.0)

8.35.4.8 Optional POTSurf specific keywords

These keywords should begin by a POTSur keyword and end with a END statement.
KeywordMeaning
MOLEculeSpecifies the start and the title of a new molecule. This means every keyword after this MOLEcule keyword will belong to the last specified MOLEcule.
METHodSpecifies the method to be used for the file to be opened. The program will find another method if the specified method cannot be found in the MPPROP file.
CLUSterThis keyword should be followed by a line that gives an integer number of witch cluster the lates molecule belongs to. Only the integer numbers 1 and 2 are valid for the PotSurf module.
TRORThis keyword should be followed by a line that gives six numbers. The six numbers describes the translation in polar coordinates and the rotation in the three euler angles for the molecule given by the latest MOLEcule keyword. The sequence of the numbers are the following: R Theta Phi Alpha Beta Gamma (See Arfken for definitions)
POTEntialThe keyword should be followed by one line specifying three numbers. The numbers gives the displacement vector in spherical poolar coordinates for the second cluster when calculating the potential energy. The numbers are given in the following order: R Theta Phi
NPOIntsThe keyword should be followed by one line specifying the number of points in the potential.
TRANslationThe keyword should be followed by a line specifying up to five numbers. The first number specifies the type of potential coordinates. In order to visulize the potential curve one has to define a translation coordinate. The first column of the PotSurf file will consist of a coordinete specified by the iTrType parameter. The other parameters jTrType, kTrType ... are specified below.

8.35.4.9 Optional TRANslation paramters

  • iTrType=0The coordinate will be the length of the translation vector. (Default)
  • iTrType=1jTrType=coordinte (1=X,2=Y and 3=Z) index of kTrType=molecule given by the order of the apperence in the input section.
  • iTrType=2jTrType=Atom1 and kTrType=Atom2 on molecule=lTrType and mTrType respectively. The molecules are given by the order of the apperence in the input section. The potential coordinate will be the distance between Atom1 and Atom2. Note that if the potential coordinate is constant if the molcules belong to the same cluster.

[DISFactor] The keyword should be followed by a line specifying a scaling constant for the dispersion energy. (Default 1.0)

8.35.4.10 Optional SIMPar specific keywords

These keywords should begin by a DIMEr keyword and end with a END statement.
KeywordMeaning
MOLEculesSpecifies the start and the title of a new molecule. This means that every keyword after this MOLEcule keyword will belong to the last specified MOLEcule.
METHodSpecifies the method to be used for the file to be opened. The program will find another method if the specified method cannot be found in the MPPROP file.
MOLSimTells the program to generate Molsim parameters and input files.
EQUAlatomsThis keyword should be followed by a line specifying two atom numbers that should treated as equal. The atomic numbers are the numbers in sequence as they are found in the MPPROP file. For example, a water molecule in gasphase has the two hydrogen atoms equal by symmetry. They should thus be treated equally for the analysis in a simulation program. If the MPPROP file has the atoms in the sequence O H H the example below makes the two hydrogen equal

EQUA
2  3
NUMBerThe keyword should by a line giving the number of latest molecule that will be used in the latter simulation. This information will be written in the MOLSIM file.
DISFactorThe keyword should be followed by a line specifying a scaling constant for the dispersion energy. (Default 1.0)

8.35.4.11 Limitations

The program package has no internal degrees of freedom. The program cannot handle interactions including quadrupoles and higher. The program cannot handle hyperpolarizabilities. For the time being we cannot handle more than two clusters.


next up previous contents index
Next: 8.36 numerical_gradient Up: 8. Programs Previous: 8.34 Mula