-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.Rmd
82 lines (55 loc) · 3.46 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
# SCFMonitor
<!-- badges: start -->
[![R-CMD-check](https://github.com/AzuleneG/SCFMonitor/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/AzuleneG/SCFMonitor/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/AzuleneG/SCFMonitor/branch/master/graph/badge.svg)](https://app.codecov.io/gh/AzuleneG/SCFMonitor?branch=master)
[![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/SCFMonitor)](https://cran.r-project.org/package=SCFMonitor)
<!-- badges: end -->
The goal of SCFMonitor is to enable **Gaussian** the 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 process 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.
SCF monitor works for the `.log` files of the jobs that is still under calculation.
`SCFMonitor` reads the convergence standard of SCF and optimization jobs automatically, adapting keywords like `SCF=conver=6 IOp(8/117=-99) IOp(7/127=-99)` or `opt=loose`.
## Installation
You can install the package from CRAN using `install.packages()` or the development version from [GitHub](https://github.com/) with:
``` r
install.packages("SCFMonitor")
# install_github("AzuleneG/SCFMonitor")
library(SCFMonitor)
```
## Function and Example
**When using with the log files stored on your hard drive, please replace `SCFMonitorExample()` to the directory of the .log file. For example, `"~/GaussianJobs/opti/job.log"` or `"C:\GaussianJobs\opti\job.log"`**
**ADD `#p` in the keyword of `.gjf` files to make sure specific information of SCF calculation is printed in the `.log` files.** Otherwise it won't work properly!
### 1.Monitor the SCF calculations
To check the SCF process of a Gaussian job, use `MultipleRoundOptiSCFIntegratedMonitor()`. It works both for the jobs with multiple rounds of SCF calculation and that only include one round of SCF.
To show the SCF convergence process of a directed `opti` job's round, use `SingleRoundOptiSCFIntegratedMonitor()` instead.
```{r example1}
library(SCFMonitor)
MultipleRoundOptiSCFIntegratedMonitor(SCFMonitorExample())
#showing the information of all the rounds
MultipleRoundOptiSCFIntegratedMonitor(SCFMonitorExample(), 6)
#showing the information of top six rounds
SingleRoundOptiSCFIntegratedMonitor(SCFMonitorExample(), 5)
#show the fifth optimization cycle's SCF convergence process
```
### 2.Monitor the rounds of SCF Gaussian undergoes to meet the convergence standard.
```{r example2}
OptiSCFConvergenceRoundMonitor(SCFMonitorExample())
```
### 3.Check the optimization process of a Gaussian `opt` job.
```{r example3}
OptiConvergenceMonitor(SCFMonitorExample())
```
If the `.log` file is on sever and available through `https`, use `url()` to implement `SCFMonitor` like doing so on the files in the drive.
```{r, eval=FALSE}
MultipleRoundOptiSCFIntegratedMonitor(url("somwhere.com/someguy/calculations/xxx.log"))
```