-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into compathelper/new_version/2021-08-31-00-09-23…
…-462-00868494818
- Loading branch information
Showing
49 changed files
with
2,798 additions
and
798 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
|
||
name: Documentation | ||
|
||
on: | ||
pull_request: | ||
branches: | ||
- main | ||
push: | ||
branches: | ||
- main | ||
workflow_dispatch: | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: julia-actions/setup-julia@latest | ||
with: | ||
version: '1.6' | ||
- name: Install dependencies | ||
run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' | ||
- name: Build and deploy | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token | ||
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key | ||
run: julia --project=docs/ docs/make.jl |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
legacy/ | ||
docs/build/ | ||
Manifest.toml | ||
__test__* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,188 @@ | ||
{ | ||
"cSpell.words": [ | ||
"ADIIS", | ||
"DIIS", | ||
"EDIIS", | ||
"Fconfig", | ||
"Ffinal", | ||
"Fmethods", | ||
"Ftemp", | ||
"abcd", | ||
"accu", | ||
"adii", | ||
"admm", | ||
"alloc", | ||
"an", | ||
"array", | ||
"atemp", | ||
"atms", | ||
"b", | ||
"basis", | ||
"bf", | ||
"body", | ||
"bs", | ||
"btemp", | ||
"cart", | ||
"cen", | ||
"cens", | ||
"cfrom", | ||
"check", | ||
"cint", | ||
"cmethod", | ||
"cmethods", | ||
"cmpr", | ||
"cnew", | ||
"coeff", | ||
"coeffs", | ||
"config", | ||
"coord", | ||
"core", | ||
"d", | ||
"data", | ||
"dcore", | ||
"default", | ||
"diffvals", | ||
"dii", | ||
"dmethod", | ||
"dnew", | ||
"dnuc", | ||
"dtots", | ||
"dᵀnew", | ||
"e", | ||
"edii", | ||
"ee", | ||
"elec", | ||
"ending", | ||
"enew", | ||
"etarget", | ||
"etot", | ||
"etots", | ||
"excdiffs", | ||
"excs", | ||
"eᵀcore", | ||
"eᵀnew", | ||
"f", | ||
"fenegy", | ||
"fenergy", | ||
"fieldnames", | ||
"finterrelated", | ||
"fints", | ||
"fmethod", | ||
"fname", | ||
"fnew", | ||
"fockintermediate", | ||
"ftype", | ||
"ftypes", | ||
"func", | ||
"funcs", | ||
"g", | ||
"gcore", | ||
"get", | ||
"grad", | ||
"guess", | ||
"gwh", | ||
"h", | ||
"hartree", | ||
"hijkl", | ||
"icore", | ||
"ijk", | ||
"ijks", | ||
"ints", | ||
"key", | ||
"kinetic", | ||
"libcin", | ||
"libcint", | ||
"list", | ||
"m", | ||
"marker", | ||
"mcontent", | ||
"min", | ||
"molden", | ||
"new", | ||
"nijk", | ||
"nijkα", | ||
"npars", | ||
"nucs", | ||
"occu", | ||
"occup", | ||
"occus", | ||
"ocoeffs", | ||
"orbital", | ||
"orijks", | ||
"ovlp", | ||
"par", | ||
"quiqbox's", | ||
"s", | ||
"sc", | ||
"score", | ||
"selector", | ||
"size", | ||
"skey", | ||
"smethod", | ||
"smethods", | ||
"ssize", | ||
"stext", | ||
"strs", | ||
"symms", | ||
"tosymbol", | ||
"two", | ||
"unique", | ||
"vals", | ||
"vars", | ||
"xcore", | ||
"xinv", | ||
"xmethods", | ||
"xname", | ||
"xpns", | ||
"xtemp", | ||
"yname", | ||
"zname", | ||
"ʃabcd" | ||
], | ||
"cSpell.ignoreWords": [ | ||
"bsiz", | ||
"codecov", | ||
"deepcopy", | ||
"deploydocs", | ||
"eachcol", | ||
"endswith", | ||
"exclude", | ||
"findall", | ||
"findfirst", | ||
"findlast", | ||
"findnext", | ||
"fsym", | ||
"get", | ||
"getfield", | ||
"getindex", | ||
"getproperty", | ||
"ijkl", | ||
"invokelatest", | ||
"isdefined", | ||
"isequal", | ||
"iseven", | ||
"isfile", | ||
"last", | ||
"lcov", | ||
"libc", | ||
"makedocs", | ||
"nameof", | ||
"natm", | ||
"nbas", | ||
"nlines", | ||
"occursin", | ||
"powerset", | ||
"processcoverage", | ||
"readlines", | ||
"rstrip", | ||
"shls", | ||
"sigdigits", | ||
"sitename", | ||
"sortby", | ||
"startswith", | ||
"subbs", | ||
"syms", | ||
"tryparse", | ||
"typemax" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,92 @@ | ||
# Quiqbox.jl | ||
<p align="center"> | ||
<img width="500" src="docs/src/assets/logo.png"> | ||
</p> | ||
|
||
**Quiqbox** is a quantum chemistry and quantum computing software package that starts off around Gaussian basis set optimization of molecular electronic-structure problems. Quiqbox is written in pure [Julia](https://julialang.org/). | ||
|
||
| Documentation | License | Code Status | | ||
| :--- | :---: | ---: | | ||
| [![][Doc-s-img]][Doc-stable] <br /> [![][Doc-l-img]][Doc-latest] | [![License: MIT][License-img]][License-url] | [![CI][GA-CI-img]][GA-CI-url] <br /> [![codecov][codecov-img]][codecov-url] | | ||
|
||
[![CI][GA-CI-img]][GA-CI-url] | ||
[![codecov][codecov-img]][codecov-url] | ||
[![License: MIT][License-img]][License-url] | ||
|
||
A Julia software package that aims for floating Gaussian-type orbital (GTO) optimization in electronic structure problems. | ||
<br /> | ||
|
||
# Features | ||
|
||
* Floating or fixed-basis GTO configuration. | ||
* Symbolic representation of basis functions. | ||
* Restricted closed-shell Hartree–Fock method (RHF). | ||
* Unrestricted open-shell Hartree–Fock method (UHF). | ||
* Molecular orbital data output in [Molden](https://www3.cmbi.umcn.nl/molden/) file format. | ||
* Floating and fixed-basis Gaussian-type orbital (GTO) configurations. | ||
* Symbolic representation and analysis of basis function parameters. | ||
* Standalone 1-electron and 2-electron integral functions (powered by [libcint_jll](https://github.com/JuliaBinaryWrappers/libcint_jll.jl)). | ||
* Variational orbital geometry optimization based on Automatic differentiation (AD). | ||
* Restricted (closed-shell) and unrestricted (open-shell) Hartree–Fock methods (RHF & UHF). | ||
* Molecular orbital data output in [Molden](https://www3.cmbi.umcn.nl/molden/) file format. | ||
* Variational optimization of orbital geometry based on automatic differentiation (AD). | ||
|
||
# Setup | ||
|
||
## Supported system platforms (64-bit) | ||
* Linux | ||
* Mac OS | ||
* [Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/about) | ||
|
||
## Julia Environment | ||
* [1.5+](https://github.com/frankwswang/Quiqbox.jl/actions/workflows/CI.yml) | ||
|
||
## Installation in Julia [REPL](https://docs.julialang.org/en/v1/manual/getting-started/) | ||
|
||
Type `]` to enter the [`Pkg` mode](https://docs.julialang.org/en/v1/stdlib/REPL/#Pkg-mode): | ||
|
||
```julia | ||
(@v1.x) pkg> | ||
``` | ||
|
||
Type `add Quiqbox` and hit *Enter* key to install Quiqbox: | ||
|
||
```julia | ||
(@v1.x) pkg> add Quiqbox | ||
``` | ||
|
||
After the installation completes, hit *Backspace* key to go back to Julia REPL and use [`using`](https://docs.julialang.org/en/v1/base/base/#using) to load Quiqbox: | ||
|
||
```julia | ||
julia> using Quiqbox | ||
``` | ||
|
||
# Use cases | ||
|
||
## Apply existed basis set | ||
```julia | ||
coords = [[-0.7,0,0], [0.7,0,0]] | ||
|
||
bsH₂ = genBasisFunc.(coords, "STO-3G") |> flatten | ||
``` | ||
|
||
## Build your own basis set | ||
```julia | ||
bs = genBasisFunc.(coords, fill(GaussFunc(1, 0.75), 2)) | ||
``` | ||
|
||
## Run Hartree-Fock method | ||
```julia | ||
nuc = ["H", "H"] | ||
|
||
runHF(bs, nuc, coords) | ||
``` | ||
|
||
## Optimize a basis set | ||
``` | ||
pars = uniqueParams!(bs, filterMapping=true) | ||
optimizeParams!(bs, pars[1:4], nuc, coords) | ||
``` | ||
|
||
For more basic usage of the programming language behind Quiqbox, Julia, please refer to [the official documentation](https://docs.julialang.org/) or [one official tutorial](https://juliaacademy.com/p/intro-to-julia). | ||
|
||
|
||
[Doc-stable]: https://frankwswang.github.io/Quiqbox.jl/stable | ||
[Doc-latest]: https://frankwswang.github.io/Quiqbox.jl/dev | ||
[Doc-s-img]: https://img.shields.io/badge/docs-stable-blue.svg | ||
[Doc-l-img]: https://img.shields.io/badge/docs-latest-blue.svg | ||
[GA-CI-img]: https://github.com/frankwswang/Quiqbox.jl/actions/workflows/CI.yml/badge.svg?branch=main | ||
[GA-CI-url]: https://github.com/frankwswang/Quiqbox.jl/actions/workflows/CI.yml | ||
[codecov-img]: https://codecov.io/gh/frankwswang/Quiqbox.jl/branch/main/graph/badge.svg?token=Z1XOA39DV2 | ||
[codecov-url]: https://codecov.io/gh/frankwswang/Quiqbox.jl | ||
[License-img]: https://img.shields.io/badge/License-MIT-blue.svg | ||
[License-img]: https://img.shields.io/badge/License-MIT-blueviolet.svg | ||
[License-url]: https://opensource.org/licenses/MIT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
[deps] | ||
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" | ||
|
||
[compat] | ||
Documenter = "^0.27" |
Oops, something went wrong.