# 4.2.40. NEMO ¤¶

Warning

This program is not available in OpenMolcas

## 4.2.40.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.

## 4.2.40.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.

## 4.2.40.3. Files¶

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

NEMO

## 4.2.40.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.

### 4.2.40.4.1. Optional general keywords¶

ALPHa

Use 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

KAPPa

Use 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

ALCT

This 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

KACT

This 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

REPFactor

If a repulsion of type $$\sqrt{F_1 F_2}r^{-n}$$ is to be used. Check the NEMO keyword for information. This keyword is specified in the same way as kappa.

DISPfactor

Two factors are multiplied with the dispersion energy. They work in the same way as the REPFactor does and are specified in the same way.

VALEnce

Set 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

NOISotropicPolarizabilities

The 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.

NOMOve

The default interactions sites are not placed in the atoms. If this keyword is used the interactions sites are not moved to a new location.

The 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.

NODAmping

As default the Thole damping is used, but using this heyword that is overruled.

REPLace

Use this keyword to specify that some atomic quadrupoles should be replaced by charges.

MOLD

The new local atomic dipole will be used when calculating the new interaction center. The default is to use the original local atomic dipole.

NOLM

The 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.

RETY

REpTYpe: The keyword should be followed by a line, specifying the expression to use for the repulsion type.

Optional RETY parameters:

• m=0 (Default) Here the exponent is described by $$-r_{12}/(\sqrt{\Tr(Q_1)/3/qv_1+\Tr(Q_2)/3/qv_2}(\alpha_1\alpha_2))$$.

• m=1 Here the exponent is described by $$-r_{12}/(\alpha_1\sqrt{\Tr(Q_1)/3/qv_1}+\alpha_2\sqrt{\Tr(Q_2)/3/qv_2})$$.

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

Optional NEMO parameters:

• m=0 (Default) Electrostatic, inductive, dispersive and a exponetial repulsion energy term is used.

• m=1 Here a $$\sqrt{F_1 F_2}r^{-n}$$ type repulsion is added to the default energy.

• m=2 Here dispersion factors are used to scale the energy.

• m=3 This number means that default energy is used, plus the repulsive term of type 1 and the dispersive scaling of type 2.

• m=4 A 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.

### 4.2.40.4.2. Optional FITPar specific keywords¶

These keywords should begin by a FITPar keyword and end with a END statement.

NUAL

NO 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

NUKA

NO 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

NUAC

NO 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

NUKC

NO 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

NUSI

Not implemented. For future use.

NUEP

Not implemented. For future use.

NURE

NO 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

NUDI

NO 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

GLOBal

The keyword should be followed by a line specifying the number of globalsteps.

MACRo

The keyword should be followed by a line specifying the number of macrosteps.

MICRo

The keyword should be followed by a line specifying the number of microsteps.

TEMP

The keyword should be followed by a line specifying the temperature for the weighting procedure. See the keyword WEIG.

SCFFit

By 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.

CONVergence

The keyword should be followed by a line specifying the number for the convergence radii.

RFACtor

The keyword should be followed by a line specifying the number for the scaling constant in the least square fit.

WEIGht

The keyword should be followed by a line specifying the number of the weight type

Optional WEIGht parameters:

• m=0 (Default) Weight=Min(2,Exp( -0.2*(E(dimer)-E(Monomer1)-E(Monomer2)) )

• m=1 Weight=exp(-(E(dimer)-E(Monomer1)-E(Monomer2))/kT)

ERROr

The keyword should be followed by a line specifying the number of the error type

Optional ERROr parameters:

• m=0 (Default) Error=Weight*( Exp( 0.15D0*(E(estimated)-E(reference)) )-1 )**2

• m=1 Error=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.

### 4.2.40.4.3. Optional DIMEr specific keywords¶

These keywords should begin by a DIMEr keyword and end with a END statement.

MOLEcules

The 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.

METHod

Specifies 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.

MACRosteps

The keyword should be followed by a line specifying the number of macrosteps.

MICRosteps

The keyword should be followed by a line specifying the number of microsteps.

STARt

The 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.

RFACtor

The keyword should be followed by a line specifying the number of the scaling factor for the search radii each macrostep.

CONVergence

The keyword should be followed by a line specifying the number for the convergence radii.

DISFac

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

### 4.2.40.4.4. Optional POTSurf specific keywords¶

These keywords should begin by a POTSur keyword and end with a END statement.

MOLEcule

Specifies the start and the title of a new molecule. This means every keyword after this MOLEcule keyword will belong to the last specified MOLEcule.

METHod

Specifies 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.

CLUSter

This 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.

TROR

This 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)

POTEntial

The 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

NPOInts

The keyword should be followed by one line specifying the number of points in the potential.

TRANslation

The 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.

Optional TRANslation parameters:

• iTrType=0 The coordinate will be the length of the translation vector. (Default)

• iTrType=1 jTrType=coordinte (1=X,2=Y and 3=Z) index of kTrType=molecule given by the order of the apperence in the input section.

• iTrType=2 jTrType=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)

### 4.2.40.4.5. Optional SIMPar specific keywords¶

These keywords should begin by a DIMEr keyword and end with a END statement.

MOLEcules

Specifies 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.

METHod

Specifies 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.

MOLSim

Tells the program to generate Molsim parameters and input files.

EQUAlatoms

This 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

NUMBer

The 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.

DISFactor

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

### 4.2.40.4.6. 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.