dpdata.gaussian package

Submodules

dpdata.gaussian.gjf module

Generate Gaussian input file.

dpdata.gaussian.gjf.detect_multiplicity(symbols: ndarray) int[source]

Find the minimal multiplicity of the given molecules.

Parameters:
symbolsnp.ndarray

element symbols; virtual elements are not supported

Returns:
int

spin multiplicity

dpdata.gaussian.gjf.make_gaussian_input(sys_data: dict, keywords: Union[str, List[str]], multiplicity: Union[str, int] = 'auto', charge: int = 0, fragment_guesses: bool = False, basis_set: Optional[str] = None, keywords_high_multiplicity: Optional[str] = None, nproc: int = 1) str[source]

Make gaussian input file.

Parameters:
sys_datadict

system data

keywordsstr or list[str]

Gaussian keywords, e.g. force b3lyp/6-31g**. If a list, run multiple steps

multiplicitystr or int, default=auto

spin multiplicity state. It can be a number. If auto, multiplicity will be detected automatically, with the following rules:

fragment_guesses=True

multiplicity will +1 for each radical, and +2 for each oxygen molecule

fragment_guesses=False

multiplicity will be 1 or 2, but +2 for each oxygen molecule

chargeint, default=0

molecule charge. Only used when charge is not provided by the system

fragment_guessesbool, default=False

initial guess generated from fragment guesses. If True, multiplicity should be auto

basis_setstr, default=None

custom basis set

keywords_high_multiplicitystr, default=None

keywords for points with multiple raicals. multiplicity should be auto. If not set, fallback to normal keywords

nprocint, default=1

Number of CPUs to use

Returns:
str

gjf output string

dpdata.gaussian.gjf.read_gaussian_input(inp: str)[source]

Read Gaussian input.

Parameters:
inpstr

Gaussian input str

Returns:
dict

system data

dpdata.gaussian.log module

dpdata.gaussian.log.to_system_data(file_name, md=False)[source]

Read Gaussian log file.

Parameters:
file_namestr

file name

mdbool, default False

whether to read multiple frames

Returns:
datadict

system data

Raises:
RuntimeError

if the input orientation is not found