MonaLisa Files Reference

MonaLisa Input File

The monalisa input file defines:

  • runner (run = {})
  • interface (toplevel{})
  • molecular structure (structure = ...)

The name of the file is arbitrary, but it affects the names of some output files. For example if the name of the input file is monalisa.inp the output file with the optimized structure will be monalisa_dbg.car and the name of the hessian file will be monalisa.hessian, i.e. the string before the first dot of the input file name constitute the base of the output files.

The input file has to be piped into the binary of the MonaLisa. For the monalisa.inp the command to run the program is:

/path_to_bin/monalisa monalisa.inp

Example

The simple example of the input file is below:

# molecular structure specification
structure = monalisa.car

# definition of the interface (PES)
toplevel{
    interface = example # This is an example interface which returns zeroes 
}

# definition of the runner
run{
    single
}

keywords

The order of the keywords in the input file is arbitrary. There are three basic keywords:

structure = ... the name of the monalisa molecular structure file. The basic format of the monalisa structure is .car. If no structure keyword is specified MonaLisa will try to read the .car, so in the case of the input file monalisa.inp it will by default read the structure from the monalisa.car. All available file formats are described in Structure Files section.
toplevel{...} (mandatory) definition of the interfaces calculating the PES of the system. This datagroup has to contain the interface = keyword.
run{...} (mandatory) definition of the runner type. It has no default value.

aliases

Monalisa supports definition of aliases, i.e. the text blocks which are accessible under the predefined variable name.

Example:

define orca_mp2 " orca{
    # path to the ORCA binary
    program = /apps/ORCA/4.2.1/orca
    # keywords to define type of calculations
    keywords =  RI-MP2 cc-pVTZ cc-pVTZ/C TightSCF
}
"

In this way monalisa will interpret the variable $orca_mp2 as the text placed between quotation marks. It will internally replace every occurrence of the variable with the defined text block. One can put any text as an alias, and even put an alias in another alias, i.e.

define orca_mp2 " orca{
    # path to the ORCA binary
    program = /apps/ORCA/4.2.1/orca
    # keywords to define type of calculations
    keywords =  $key_mp2
}"

define key_mp2 "RI-MP2 cc-pVTZ cc-pVTZ/C TightSCF"

which will be equivalent to the preceding example.

export and aliases

The export command allows to pass some keyword to the interfaces below in the interface tree. The simplest example is presented below:

toplevel{
    export charge = 1 # Export the keyword charge = 1 to the orca interface 
    interface = orca{
        # path to the ORCA binary
        program = /apps/ORCA/4.2.1/orca
        # keywords to define type of calculations
        keywords =  $key_mp2
    }
}

In the example above the keyword charge is exported from the toplevel interface to the orca interface.

In this case the export of the keyword does not have any advantage against the normal definition of the charge within the orca{} interface. The real power of the export commands is visible in the combination with aliases and internal interfaces.

The example below presents how to use aiases in the bsse calculations calculations, where five single point energies are needed for five subsystems: monomer1, monomer2, ghost1, ghost2 and supermolecule. Without aliases and exports this task requires five definitions of sub-interfaces (here orca). Using aliases and exports makes the input file simpler:

toplevel{ 
    interface = $extrapol # alias for extrapol interface
}

# definition of the alias for extrapol interface
interface = bsse_general{

    # Definition of monomers (by alias)
    domains = $monomers

    # Interface used for calculations here orca, specified by alias
    interface = $orca

    # Supermolecule interface specification
    supermol{
        export charge = $charge_sm # the charge keyword will be exported to the all interfaces below
        interface = $orca
    }
    # monomer1 interface specification
    monomer1{
        export charge = $charge_m1 # the charge keyword will be exported to the all interfaces below
        interface = $orca
    }
    # monomer2 interface specification
    monomer2{
        export charge = $charge_m2 # the charge keyword will be exported to the all interfaces below
        interface = $orca
    }
    # ghost1 interface specification
    ghost1{
        export charge = $charge_m1 # the charge keyword will be exported to the all interfaces below
        interface = $orca
    }
    # ghost2 interface specification
    ghost2{
        export charge = $charge_m2 # the charge keyword will be exported to the all interfaces below 
        interface = $orca
    }
}

#definition of the orca interface alias
define orca "orca{
    # path to the ORCA binary
    program = /apps/ORCA/4.2.1/orca
    # keywords
    keywords = $orca_keywords
    # charge is not specified, therefore will be define by export command
}"

#definition of charge aliases
define charge_sm "0" # charge of the supermolecule
define charge_m1 "-1" # charge of the monomer 1
define charge_m2 "1"  # charge of the monomer 2

#definition of the monomers
define monomers "10-20; 1-9"

#definition of orca keywords
define orca_keywords "RI-MP2 cc-pVTZ"

This example is complex, but without using aliases and export we would have to define orca interface five times instead of one, which shorten the input file and make it simpler.

Very useful is also defining all parameters at the end of the file by aliases to have a good overview of the settings used in calculations.

Beware! The export method repeats the keyword in every interface below the execution point (also interfaces of interfaces), so the default keywords are replaced in each interface. However, if the keyword is explicitly defined inside the interface its value is not overwritten by export.

Structure Files

car format

xyz format

POSCAR

MonaLisa Output Files

monalisa.out

monalisa_dbg.car

monalisa.cif

monalisa.hessian

thermo output files