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 |
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.
DirectingOptiRounds(Pending, index)
DirectingOptiRounds(Pending, index)
Pending |
A integer refering to the row of the directed SCF convergence cycle is in. |
index |
A tibble including all the row number |
A integer directing the Optimization round of that SCF convergence round is in.
library(tibble) example_index <- tibble(rowid = c(1, 30, 130)) DirectingOptiRounds(33, example_index)
library(tibble) example_index <- tibble(rowid = c(1, 30, 130)) DirectingOptiRounds(33, example_index)
This function outputs a tibble showing each the number of SCF rounds applied in each optimization cycle and outputs it as a tibble.
directory |
A string vector describing the directory of the Gaussian log file. |
A tibble countain two columns, describing each optimization rounds and the number of SCF rounds it undergoes until convergence.
library(readr) library(stringr) library(tidyselect) library(dplyr) library(tibble) FormOptiSCFConvergenceRoundTibble(SCFMonitorExample())
library(readr) library(stringr) library(tidyselect) library(dplyr) library(tibble) FormOptiSCFConvergenceRoundTibble(SCFMonitorExample())
This function reads a log file automatically and shows the SCF convergence process of it by generating line plots
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. |
No return value, called for side effects
MultipleRoundOptiSCFIntegratedMonitor(SCFMonitorExample(), -1) MultipleRoundOptiSCFIntegratedMonitor(SCFMonitorExample(), 5)
MultipleRoundOptiSCFIntegratedMonitor(SCFMonitorExample(), -1) MultipleRoundOptiSCFIntegratedMonitor(SCFMonitorExample(), 5)
An internal function plots the generated SCF convergence tibble
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 |
No return value, called for side effects
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 )
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 )
This function reads a log file automatically and shows the optimization convergence process of it by generating line plots
directory |
A string vector describing the directory of the Gaussian log file. |
No return value, called for side effects
library(readr) library(stringr) library(tidyselect) library(dplyr) library(tibble) library(ggplot2) OptiConvergenceMonitor(SCFMonitorExample())
library(readr) library(stringr) library(tidyselect) library(dplyr) library(tibble) library(ggplot2) OptiConvergenceMonitor(SCFMonitorExample())
This function reads a log file automatically and generate a plot showing the steps it takes to reach SCF convergence for each optimization process.
directory |
A string vector describing the directory of the Gaussian log file. |
No return value, called for side effects
library(ggplot2) OptiSCFConvergenceRoundMonitor(SCFMonitorExample())
library(ggplot2) OptiSCFConvergenceRoundMonitor(SCFMonitorExample())
This function reads a Gaussian .log file and outputs a list of tibbles, each of which is the SCF Data of a optimization step.
directory |
A string vector describing the directory of the Gaussian log file. |
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.
library(readr) library(stringr) library(tidyselect) library(utils) library(dplyr) library(tibble) OptiSCFMonitorAsList(SCFMonitorExample())
library(readr) library(stringr) library(tidyselect) library(utils) library(dplyr) library(tibble) OptiSCFMonitorAsList(SCFMonitorExample())
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)
directory |
A string vector describing the directory of the Gaussian log file. |
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.
library(readr) library(stringr) library(tidyselect) library(utils) library(dplyr) library(tibble) OptiSCFMonitorAsWholeTibble(SCFMonitorExample())
library(readr) library(stringr) library(tidyselect) library(utils) library(dplyr) library(tibble) OptiSCFMonitorAsWholeTibble(SCFMonitorExample())
Makes the TestData.log, a log file generated by Gaussian 16 for testing the package, easy to access.
SCFMonitorExample()
SCFMonitorExample()
A string vector showing the path to
FormOptiSCFConvergenceRoundTibble(SCFMonitorExample())
FormOptiSCFConvergenceRoundTibble(SCFMonitorExample())
This function reads a log file automatically and shows the SCF convergence process of a single round of optimization by generating line plots
SingleRoundOptiSCFIntegratedMonitor(directory, optiround)
SingleRoundOptiSCFIntegratedMonitor(directory, optiround)
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. |
No return value, called for side effects
SingleRoundOptiSCFIntegratedMonitor(SCFMonitorExample(), 5)
SingleRoundOptiSCFIntegratedMonitor(SCFMonitorExample(), 5)
An internal function plots the generated single-round SCF convergence tibble
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. |
No return value, called for side effects
library(dplyr) library(stringr) library(ggplot2) library(tidyr) temp_dat <- OptiSCFMonitorAsList(SCFMonitorExample()) SingleSCFplotting(temp_dat[[1]][[5]], SCFconver = -log10(temp_dat[[2]]))
library(dplyr) library(stringr) library(ggplot2) library(tidyr) temp_dat <- OptiSCFMonitorAsList(SCFMonitorExample()) SingleSCFplotting(temp_dat[[1]][[5]], SCFconver = -log10(temp_dat[[2]]))