CUBY logo

Input

Difference between revisions from 2011/10/17 13:51 and 2011/10/17 13:51.
Cuby uses YAML language for the input files. To write an input file, following information is needed:
* The input should follow the [YAML] syntax
* The list of available [keywords|Keywords]
* For complex calculations, it is useful to know how cuby handles the separate sections of the input. This is decribed here.

!Complex calculations
When the method inplemented in cuby consists of multiple calculations, they are defined in separate subsections of the input, while the keywords common for all these calculations are written at the root level (without indentation). A good example is a QM/MM calculation:

{{interface: QMMM
# root level keywords:
charge: 1

qmmm_method_lo:
interface: foo

qmmm_method_hi:
interface: bar
}}

The mechanism is following: the contents of the subsection is copied to the root level, replacing the original values if there are keywords of the same name, and the result is used to set up the calculation.

!!Warning
!!Warning!
This means that keywords that are not overwritten are applied to all the child calculations. For example, a modifier "X" will be applied to both the composite QM/MM calculation and the three child calculations the QM/MM interface calls:

{{interface: QMMM
modifiers: X
qmmm_method_lo:
interface: foo
qmmm_method_hi:
interface: bar
}}

To avoid this, it is necessary to specify that no modifiers are to be used for the child calculations, setting the list of modifiers for them to be empty (""):
{{interface: QMMM
modifiers: X
qmmm_method_lo:
interface: foo
modifiers: ""
qmmm_method_hi:
interface: bar
modifiers: ""
}}

Here, the empty list can of course be replaced by a list of modifiers to be applied to the selected child calculation only.