Package 'SCFMonitor'

Title: Clear Monitor and Graphing Software Processing Gaussian .log File
Description: Self-Consistent Field(SCF) calculation method is one of the most important steps in the calculation methods of quantum chemistry. Ehrenreich, H., & Cohen, M. H. (1959). <doi:10.1103/PhysRev.115.786> However, the most prevailing software in this area, 'Gaussian''s SCF convergence process is hard to monitor, especially while the job is still running, causing researchers difficulty in knowing whether the oscillation has started or not, wasting time and energy on useless configurations or abandoning the jobs that can actually work. M.J. Frisch, G.W. Trucks, H.B. Schlegel et al. (2016). <https://gaussian.com> 'SCFMonitor' enables 'Gaussian' quantum chemistry calculation software users to easily read the 'Gaussian' .log files and monitor the SCF convergence and geometry optimization process with little effort and clear, beautiful, and clean outputs. It can generate graphs using 'tidyverse' to let users check SCF convergence and geometry optimization processes in real-time. The software supports processing .log files remotely using with rbase::url(). This software is a suitcase for saving time and energy for the researchers, supporting multiple versions of 'Gaussian'.
Authors: Pengjun Guo [aut, cre]
Maintainer: Pengjun Guo <[email protected]>
License: MIT + file LICENSE
Version: 0.3.5.9000
Built: 2025-03-06 05:04:06 UTC
Source: https://github.com/azuleneg/scfmonitor

Help Index


Directing Optimization Round of a SCF Convergence Round in the Tibble Formed in OptiSCFMonitorAsWholeTibble()

Description

This function is a internal function that directs the optimization round of a SCF convergence round. This helps SCFMonitor devide the SCF rounds to different sections that each refers to an optimization cycle.

Usage

DirectingOptiRounds(Pending, index)

Arguments

Pending

A integer refering to the row of the directed SCF convergence cycle is in.

index

A tibble including all the row number

Value

A integer directing the Optimization round of that SCF convergence round is in.

Examples

library(tibble)

example_index <- tibble(rowid = c(1, 30, 130))
DirectingOptiRounds(33, example_index)

Form a Tibble of Total SCF Rounds in the Optimization Cycles

Description

This function outputs a tibble showing each the number of SCF rounds applied in each optimization cycle and outputs it as a tibble.

Arguments

directory

A string vector describing the directory of the Gaussian log file.

Value

A tibble countain two columns, describing each optimization rounds and the number of SCF rounds it undergoes until convergence.

Examples

library(readr)
library(stringr)
library(tidyselect)
library(dplyr)
library(tibble)

FormOptiSCFConvergenceRoundTibble(SCFMonitorExample())

Read and Plot SCF Convergence Process for Multiple Round of Optimization

Description

This function reads a log file automatically and shows the SCF convergence process of it by generating line plots

Arguments

directory

A string vector describing the directory of the Gaussian log file.

top_rounds

A numeric vector deciding which SCF convergence process will be shown in the diagram. etc. input 5 for the newest 5 rounds of optimization. Enter -1 for showing all the processes.

Value

No return value, called for side effects

Examples

MultipleRoundOptiSCFIntegratedMonitor(SCFMonitorExample(), -1)
MultipleRoundOptiSCFIntegratedMonitor(SCFMonitorExample(), 5)

Plot the SCF Convergence Process for Multiple Rounds of Optimization

Description

An internal function plots the generated SCF convergence tibble

Arguments

SCFData

The tibble generated by OptiSCFMonitorAsWholeTibble() describing the SCF convergence process for multiple rounds of optimization(if any).

SCFconver

A numeric vector showing the SCF convergence requirement read from the gaussian .log file.

BOT

A numeric vector describing the starting optimization round for plotting

TOP

A numeric vector describing the ending optimization round for plotting

Value

No return value, called for side effects

Examples

library(dplyr)
library(stringr)
library(ggplot2)
library(tidyr)

temp_dat <- OptiSCFMonitorAsWholeTibble(SCFMonitorExample())
MultipleRoundOptiSCFplotting(temp_dat[[1]],
  SCFconver = -log10(temp_dat[[2]]),
  BOT = 10,
  TOP = 15
)

Read and Plot the Optimization Process of a Gaussian Log File.

Description

This function reads a log file automatically and shows the optimization convergence process of it by generating line plots

Arguments

directory

A string vector describing the directory of the Gaussian log file.

Value

No return value, called for side effects

Examples

library(readr)
library(stringr)
library(tidyselect)
library(dplyr)
library(tibble)
library(ggplot2)

OptiConvergenceMonitor(SCFMonitorExample())

Read and Plot the Counts the SCF Convergence Rounds of Each Optimization Step of a Gaussian Log File.

Description

This function reads a log file automatically and generate a plot showing the steps it takes to reach SCF convergence for each optimization process.

Arguments

directory

A string vector describing the directory of the Gaussian log file.

Value

No return value, called for side effects

Examples

library(ggplot2)

OptiSCFConvergenceRoundMonitor(SCFMonitorExample())

Form a list Containing SCF Data of Each Optimization Cycles

Description

This function reads a Gaussian .log file and outputs a list of tibbles, each of which is the SCF Data of a optimization step.

Arguments

directory

A string vector describing the directory of the Gaussian log file.

Value

A list of lists. First lists is a list of tibble, each element in the list refers to a tibble recording the SCF Data of a optimization step. The second list only have one element that is a numeric vector refering to the SCF convergence requirement read from log file.

Examples

library(readr)
library(stringr)
library(tidyselect)
library(utils)
library(dplyr)
library(tibble)

OptiSCFMonitorAsList(SCFMonitorExample())

Form a Tibble of SCF data for each Optimization Steps

Description

This function outputs a tibble containing the data of each rounds of SCF calculation labeled with the optimization round it's in (if it's a optimization job, otherwise it will be only 1)

Arguments

directory

A string vector describing the directory of the Gaussian log file.

Value

A list containing two elements. The first one is a tibble containing the SCF data of every rounds labeled with the optimization steps they are in. The second element is a numeric vector that refers to the SCF convergence standard.

Examples

library(readr)
library(stringr)
library(tidyselect)
library(utils)
library(dplyr)
library(tibble)

OptiSCFMonitorAsWholeTibble(SCFMonitorExample())

Acquire Path to SCFMonitor Example data

Description

Makes the TestData.log, a log file generated by Gaussian 16 for testing the package, easy to access.

Usage

SCFMonitorExample()

Value

A string vector showing the path to

Examples

FormOptiSCFConvergenceRoundTibble(SCFMonitorExample())

Read and Plot SCF Convergence Process for a Single Round of Optimization

Description

This function reads a log file automatically and shows the SCF convergence process of a single round of optimization by generating line plots

Usage

SingleRoundOptiSCFIntegratedMonitor(directory, optiround)

Arguments

directory

A string vector describing the directory of the Gaussian log file.

optiround

A numeric vector deciding which SCF convergence process will be shown in the diagram. etc. input 5 for the 5th round of optimization. If it's not an optimization job than enter 1 for acquiring the only one.

Value

No return value, called for side effects

Examples

SingleRoundOptiSCFIntegratedMonitor(SCFMonitorExample(), 5)

Plot the SCF Convergence Process for a Single Round of Optimization

Description

An internal function plots the generated single-round SCF convergence tibble

Arguments

SCFData

The tibble generated by SingleRoundOptiSCFIntegratedMonitor() describing the SCF convergence process for single round of optimization(or other Gaussian job types).

SCFconver

A numeric vector showing the SCF convergence requirement read from the gaussian .log file.

Value

No return value, called for side effects

Examples

library(dplyr)
library(stringr)
library(ggplot2)
library(tidyr)

temp_dat <- OptiSCFMonitorAsList(SCFMonitorExample())
SingleSCFplotting(temp_dat[[1]][[5]], SCFconver = -log10(temp_dat[[2]]))