Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev #234

Merged
merged 111 commits into from
Dec 16, 2022
Merged

Dev #234

Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
111 commits
Select commit Hold shift + click to select a range
0257ca7
add: WF from fchk, multiple geoms from .fchk
Nov 15, 2022
fef94bc
mod: enable MOPAC and openbabel for ONIOM
Nov 16, 2022
d57784d
add: generated code for cart gto evaluation
Sep 8, 2022
1bcd096
fix: more robust parsing of TM exstates files
Sep 9, 2022
3331bbf
add: evaluation of basis functions
Sep 9, 2022
5ee56d0
add: cube parser/writer
eljost Sep 11, 2022
6d86726
add: Shells objects from Pyscf mole
Sep 12, 2022
f1789fc
add: strict mode for wavefunction class
Sep 13, 2022
6e797b8
mod: precompute & store some values in Shells.eval
Sep 13, 2022
fd8570d
mod: removed norms attribute
Sep 13, 2022
f2983e0
mod: use generated code to evaluate bfs on grid
Sep 13, 2022
4a00b8f
code cleanup; move some functions into io.cube
Sep 13, 2022
33a586c
untrack file
Sep 13, 2022
4061439
mod: improved formatting of cube files
Sep 13, 2022
8d40858
add: helper method to evaluate WF density
Sep 13, 2022
591d613
fix: maximum y value was faulty in grid generation
Sep 15, 2022
1ccc8ec
add: view_cdd method for CDD cubes
Sep 15, 2022
9e1b2e6
add: ORCA calc now tries to construct JSON dump
Sep 15, 2022
a354352
mod: generalized tden overlaps to different basis sets
Sep 15, 2022
b398442
mod: simplified templates in jmol-wrapper
eljost Sep 15, 2022
0e61d7f
add: foster-boys localization
eljost Sep 17, 2022
d82de6d
mod: renamed some ORCA parser functions
eljost Sep 19, 2022
aba2d92
mod: moved tden_overlaps method to wavefunction.es_overlaps
Sep 16, 2022
61a5963
mod: check availability of calc-cmd via shutil.which
Sep 16, 2022
d408a52
add: take ecp electrons into account in Wavefunction
Sep 16, 2022
0301769
add: script for foster-boys diabatization
Sep 21, 2022
abc0426
add: quadrupole integrals
Sep 21, 2022
45200c0
add: diagonal of quadrupole moment integral matrix
eljost Sep 21, 2022
c072880
mod: refactored localization code
Sep 22, 2022
b8befc7
add: dq-diabatization
Sep 22, 2022
108a75d
mod: moved YAML loading to a separate function
Sep 22, 2022
3bf96a1
mod: moved integral-modules into separate subdir
eljost Sep 25, 2022
676645f
add: quadrupole (transition) moments and multipole cleanup
eljost Sep 25, 2022
7409772
fix: made ordering of typed prims consistent
Sep 23, 2022
12de70c
fix: normalization of trans. dens. mats & trans. moments
Sep 27, 2022
c16d5da
fix: tests that failed after multipole refactoring
Sep 27, 2022
3749ff9
add: cache_arrays. naive caching decorator
Sep 27, 2022
7d058b2
Add additional options to the PySCF calculator
wangenau Sep 22, 2022
81440b8
Fix PySCF rguments from previous commit
wangenau Sep 22, 2022
789ca96
Add tests
wangenau Sep 26, 2022
f3e6cf6
mod: update pyscf tests
Sep 27, 2022
19b6391
fix: skip flaky test in GitHub CI. Seems fine in nix though
Sep 27, 2022
38fbacb
mod: X & Y normalized w/ norm_ci_coeffs in OverlapCalculator
Sep 27, 2022
70f86fe
Refactoring of OverlapCalculator for open-shell support
Sep 27, 2022
e42c46a
mod: continued refactoring OverlapCalculator
Sep 28, 2022
5528cd8
add: spectrum driver to create broadened spectra
Sep 28, 2022
063a2c8
mod: move misplaced test to tests/ dir
Sep 28, 2022
26aa067
add: helper funcs for broadened spectra from ORCA
Sep 28, 2022
4d21302
mod: streamlined use of spectrum driver
Sep 28, 2022
6e0e07e
fix: revert obviously nonsensical change
Sep 28, 2022
85aee79
add: Spectrum saving & loading using np.savez
Sep 28, 2022
0c5f64f
mod: made alpha the last argument in dq_diabatization
Sep 28, 2022
14fcead
mod: expect quadrupole moment trace in dq_dia
eljost Sep 30, 2022
c8b313f
mod: refactored DQ-Dia/FB-Loc. to use same set of funcs
eljost Sep 30, 2022
4082b5a
mod: extracted Shells/Wavefunction creator methods
eljost Oct 2, 2022
6091459
add: ESP evaluation
eljost Oct 3, 2022
306d8e7
optimizers/Optimizer: Fix wrong thresholds
wangenau Oct 6, 2022
c4d9f84
mod: move dq_diabatization to own module
Oct 5, 2022
94a1933
add: allow different coordiantes in Geoemtry.dump_xyz
Oct 5, 2022
eed4d33
mod: translucent isosurface in jmol view_cube
Oct 5, 2022
dbc6db2
mod: print timed timings to stdout w/o logger
Oct 5, 2022
142be1d
mod: unified 1el-integral evaluation code
Oct 5, 2022
35d6483
mod: take symmetry into account for 1el-integrals
Oct 5, 2022
d4151dd
add: simple screening for ovlp and multipole integrals
Oct 5, 2022
87f277b
add: integral caching to disk & explicit joblib dep.
Oct 6, 2022
f0871be
add: C-code generation for 1el-ints and cffi build script
Oct 6, 2022
616e1d5
add: ref for DQ diabatization and report rot mat det
Oct 6, 2022
a826fda
add: pysisdia entry hook for DQPhi-diabatization
Oct 7, 2022
84ef533
mod: improve diabatization report
Oct 10, 2022
8e4b58c
mod: allow frag.py w/o breaking bonds
Oct 12, 2022
39f3068
add: estimate func to report progress of long calculations
Oct 12, 2022
69d1c9e
mod: make gbw parsing a separate function
Oct 12, 2022
f17b4de
add: diabatization.diabatize_path
Oct 12, 2022
250f5ee
add: charge-transfer numbers
Oct 12, 2022
b45baf1
add: homogeneous broadening in eV
Oct 14, 2022
c470f3a
mod: minor changes
Oct 14, 2022
aa4f367
add: 3center-2electron integrals
Oct 16, 2022
f3e1e6c
mod: switch to more oop-like integral generation
eljost Oct 18, 2022
33b00ad
add: evaluator for 3c2el integrals
eljost Oct 19, 2022
ccfd0f0
add: improved integral generator
Oct 19, 2022
2bc9c77
mod: zero small values in cart2sph conversion
Oct 19, 2022
f9b042c
mod: made get_map for flexible
Oct 19, 2022
cf10169
add: cart2sph conversion and evalf in integral generation
Oct 19, 2022
e9be0a9
mod: regenerate all integrals after evalf
eljost Oct 19, 2022
cde10c7
add: 2center2electron integrals
Oct 20, 2022
e0fde65
fix: typo
Oct 21, 2022
9ef0f0d
add: test for 2c2e- and 3c2e-integrals
Oct 21, 2022
cfce515
mod: speed up boys evaluation
Oct 21, 2022
5ece9aa
fix: create correct shell-object
Oct 24, 2022
2062dac
mod: make make_py_func more flexible
Oct 24, 2022
aa82b80
mod: shell objects now store several indices
eljost Nov 20, 2022
b0c3e5e
mod: updates to gto normalization functions
Nov 22, 2022
055ec29
add: ability to omit norm in Cartesian -> spherical transformation
Nov 25, 2022
eceb88e
add: Shells.as_array() to export basis data to sympleint format
Nov 25, 2022
eafa071
add: second pivoted cholesky implementation
Nov 29, 2022
42418ac
add: ability to converge higher order saddle_points
Dec 5, 2022
31f4d4e
add: flag 'check_eigval_structure' to check num. of neg. eigvals
Dec 5, 2022
dec4a8b
fix: desired_eigval_structure evaluated to False too often
eljost Dec 5, 2022
e25342b
add: simple psf parser
Dec 6, 2022
8c9af3b
mod: rx_mode -> rx_modes; supports now > 1 root
Dec 6, 2022
b40c935
add: ability to create clusters saturated with link atoms from PSF an…
Dec 7, 2022
cfa8ee9
add: restart argument for XTB calculator to reuse MOs
Dec 8, 2022
0b78f4f
add: driver to determine optimal bias for rmsd-restraint
Dec 8, 2022
7ea1c8a
mod: add ability to select cluster according to other reference residues
Dec 8, 2022
f480205
mod: allow interpolation in internals with given typed_prims
Dec 14, 2022
63c0857
fix: fragment filtering did not work
Dec 14, 2022
a367b3b
mod: further reststructuring of drivers/cluster.py
Dec 14, 2022
f2514a3
started to work on mol2 writer
Dec 14, 2022
4e524a6
Use libxc over xcfun in pyscf calculator
wangenau Nov 28, 2022
2fd45a5
wavefunction: Make dict type annotation a generic type
wangenau Dec 2, 2022
40755d6
bugfix: fixed failing tests and disabled some WIP code
Dec 15, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
mod: enable MOPAC and openbabel for ONIOM
  • Loading branch information
Johannes Steinmetzer authored and sumpfaffe committed Dec 14, 2022
commit fef94bcf4f721b764c531334c7eb7a4ec0cbc956
9 changes: 6 additions & 3 deletions pysisyphus/calculators/MOPAC.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ def prepare_input(self, atoms, coords, calc_type, opt=False):
)
return inp

def get_energy(self, atoms, coords):
def get_energy(self, atoms, coords, **prepare_kwargs):
calc_type = "energy"
inp = self.prepare_input(atoms, coords, calc_type)
# with open("inp.mop", "w") as handle:
Expand All @@ -113,18 +113,21 @@ def get_energy(self, atoms, coords):
results = self.run(inp, calc="energy")
return results

def get_forces(self, atoms, coords):
def get_forces(self, atoms, coords, **prepare_kwargs):
calc_type = "gradient"
inp = self.prepare_input(atoms, coords, calc_type, opt=True)
results = self.run(inp, calc="grad")
return results

def get_hessian(self, atoms, coords):
def get_hessian(self, atoms, coords, **prepare_kwargs):
calc_type = "hessian"
inp = self.prepare_input(atoms, coords, calc_type, opt=True)
results = self.run(inp, calc="hessian")
return results

def run_calculation(self, atoms, coords, **prepare_kwargs):
return self.get_energy(atoms, coords, **prepare_kwargs)

def read_aux(self, path):
with open(path / self.aux_fn) as handle:
text = handle.read()
Expand Down
6 changes: 5 additions & 1 deletion pysisyphus/calculators/OBabel.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
import warnings

import numpy as np

try:
from openbabel import openbabel as ob
from openbabel import pybel
except ModuleNotFoundError:
pass
except ImportError:
pass

from pysisyphus.calculators.Calculator import Calculator
from pysisyphus.constants import BOHR2ANG, AU2KJPERMOL, AU2KCALPERMOL
Expand All @@ -30,7 +34,7 @@ def __init__(self, ff="gaff", mol=None, **kwargs):
super().__init__(**kwargs)

if self.charge != 0:
print("'charge' keyword is currently ignored!")
warnings.warn("'charge' keyword is currently ignored!")

self.ff_name = ff
avail_ffs = _getplugins(
Expand Down
4 changes: 4 additions & 0 deletions pysisyphus/calculators/ONIOMv2.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@
from pysisyphus.calculators import (
Composite,
Gaussian16,
MOPAC,
OBabel,
OpenMolcas,
ORCA,
ORCA5,
Expand All @@ -52,6 +54,8 @@
"composite": Composite,
"g16": Gaussian16,
"openmolcas": OpenMolcas.OpenMolcas,
"mopac": MOPAC,
"obabel": OBabel,
"orca": ORCA.ORCA,
"orca5": ORCA5.ORCA5,
"psi4": Psi4,
Expand Down
2 changes: 2 additions & 0 deletions pysisyphus/calculators/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"LennardJones",
"MOPAC",
"MultiCalc",
"OBabel",
"ONIOM",
"OpenMolcas",
"ORCA",
Expand Down Expand Up @@ -53,6 +54,7 @@
from pysisyphus.calculators.MultiCalc import MultiCalc
from pysisyphus.calculators.MOPAC import MOPAC
from pysisyphus.calculators.Psi4 import Psi4
from pysisyphus.calculators.OBabel import OBabel
from pysisyphus.calculators.ONIOMv2 import ONIOM
from pysisyphus.calculators.OpenMolcas import OpenMolcas
from pysisyphus.calculators.ORCA import ORCA
Expand Down
1 change: 1 addition & 0 deletions pysisyphus/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@
"ipiserver": IPIServer,
"mopac": MOPAC,
"multi": MultiCalc,
"obabel": OBabel,
"oniom": ONIOM,
"openmolcas": OpenMolcas,
"orca": ORCA,
Expand Down