# LIBFRAG

Performs Many-Body Expansions (MBE) * and Generalized Many-Body Expansions (GMBE) on a target * system. User may specify the fragments manually, or * one of several fragmentation algorithms may be used. * *

## Basic Options

### BSSE_METHOD

> The BSSE method that will be used. * NONE (Default) means no BSSE correction is being used, * FULL means the supersystem basis set is used in each * calculation, * MBCPN Is the many-body counterpoise correction of Richard, * Lao, and Herbert and amounts to a MBE on the ghost * functions * VMFCN Is the Valiron Meyer functional counterpoise correction * as suggested by Hirata *

> - Type: string
> - Possible Values: FULL, MBCPN, VMFCN, NONE
> - Default: NONE

### CAP_METHOD

> How are severed covalent bonds dealt with? * NONE (Default) Suitable only if no bond is severed * H_REPLACE A hydrogen atom is placed exactly where the missing * atom would reside. * H_SHIFTED A hydrogen atom is placed at the average of a X-Y * and a X-H bond, where Y is the atom being replaced, and * X is the atom still present.

> - Type: string
> - Possible Values: NONE, H_REPLACE, H_SHIFT
> - Default: NONE

### EFP_DISP

> Do include dispersion energy term in EFP computation?

> - Type: boolean
> - Default: true

### EFP_DISP_DAMPING

> Fragment-fragment dispersion damping type. `TT` is a damping formula by Tang and Toennies. `OVERLAP` is overlap-based dispersion damping.

> - Type: string
> - Possible Values: TT, OVERLAP, OFF
> - Default: OVERLAP

### EFP_ELST

> Do include electrostatics energy term in EFP computation?

> - Type: boolean
> - Default: true

### EFP_ELST_DAMPING

> Fragment-fragment electrostatic damping type. `SCREEN` is a damping formula based on screen group in the EFP potential. `OVERLAP` is damping that computes charge penetration energy.

> - Type: string
> - Possible Values: SCREEN, OVERLAP, OFF
> - Default: SCREEN

### EFP_EXCH

> Do include exchange repulsion energy term in EFP computation?

> - Type: boolean
> - Default: true

### EFP_POL

> Do include polarization energy term in EFP computation?

> - Type: boolean
> - Default: true

### EFP_POL_DAMPING

> Fragment-fragment polarization damping type. `TT` is a damping formula like Tang and Toennies.

> - Type: string
> - Possible Values: TT, OFF
> - Default: TT

### EMBED_METHOD

> How are the fragments being formed? * For the purpose of this keyword a group is a collection of * atoms that appear together in each fragment. For example * one usually does not fragment across a C-H bond so each * C-H unit will be it’s own group. We also do not fragment * 3, 4, 5, or 6 membered rings, so all atoms in the ring, * and all H atoms attached to those atoms are a group, hence * a benzene molecule is one group. * * USER_DEFINED (Default) Fragments are specified using Psi4’s default * fragment syntax (see for example how to prepare a * SAPT input) * BOND_BASED Fragments are taken to be each unique set of * groups seperated by at most N bonds. (N=2 is default) * DISTANCE_BASED All groups whose center-of-mass is within * r A (r=3.0 default) of a group are in a fragment along * with that group *

> - Type: string
> - Default: NONE

### PRINT

> Setting this to a value greater than 1 will cause the * underlying modules [e.g. energy(‘scf’)] to print all of * their contents to file. For large systems, N, and large * truncation order, n, this is a large amount of text * (equivalent to pasting NC1+ NC2+ NC3+...NCn * Psi4 outputs together, where aCb is “a choose b”). Only * enable it if you are debugging, or really want all that data. * LibFrag will report key properties, such as energy, for * you, by fragment, dimer, etc. / options.add_int(“PRINT”, 1); } if (name == “EFP”|| options.read_globals()) { /- MODULEDESCRIPTION Performs effective fragment potential computations through calls to Kaliman’s libefp library.

> - Type: integer
> - Default: 1

### QMEFP_ELST

> Do include electrostatics energy term in QM/EFP computation?

> - Type: boolean
> - Default: true

### QMEFP_POL

> Do include polarization energy term in EFP computation?

> - Type: boolean
> - Default: true

### USE_SPACE_GROUP

> Should we exploit space group symmetry on your molecule? * For systems that are periodic lattices setting this value * to true will lead to large computational savings; however, * it does disable some cost saving tricks, such as better * initial guesses because I no longer necessarily have all * the fragments. Hence only set this to true if you know * for a fact that your system has space group symmetry.

> - Type: boolean
> - Default: false