stjames 0.0.11__tar.gz → 0.0.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of stjames might be problematic. Click here for more details.

Files changed (28) hide show
  1. {stjames-0.0.11/stjames.egg-info → stjames-0.0.12}/PKG-INFO +1 -1
  2. {stjames-0.0.11 → stjames-0.0.12}/pyproject.toml +1 -1
  3. stjames-0.0.12/stjames/basis_set.py +28 -0
  4. {stjames-0.0.11 → stjames-0.0.12}/stjames/opt_settings.py +1 -1
  5. {stjames-0.0.11 → stjames-0.0.12}/stjames/scf_settings.py +9 -0
  6. {stjames-0.0.11 → stjames-0.0.12/stjames.egg-info}/PKG-INFO +1 -1
  7. stjames-0.0.11/stjames/basis_set.py +0 -12
  8. {stjames-0.0.11 → stjames-0.0.12}/LICENSE +0 -0
  9. {stjames-0.0.11 → stjames-0.0.12}/README.md +0 -0
  10. {stjames-0.0.11 → stjames-0.0.12}/setup.cfg +0 -0
  11. {stjames-0.0.11 → stjames-0.0.12}/stjames/__init__.py +0 -0
  12. {stjames-0.0.11 → stjames-0.0.12}/stjames/base.py +0 -0
  13. {stjames-0.0.11 → stjames-0.0.12}/stjames/calculation.py +0 -0
  14. {stjames-0.0.11 → stjames-0.0.12}/stjames/corrections.py +0 -0
  15. {stjames-0.0.11 → stjames-0.0.12}/stjames/diis_settings.py +0 -0
  16. {stjames-0.0.11 → stjames-0.0.12}/stjames/grid_settings.py +0 -0
  17. {stjames-0.0.11 → stjames-0.0.12}/stjames/int_settings.py +0 -0
  18. {stjames-0.0.11 → stjames-0.0.12}/stjames/methods.py +0 -0
  19. {stjames-0.0.11 → stjames-0.0.12}/stjames/modes.py +0 -0
  20. {stjames-0.0.11 → stjames-0.0.12}/stjames/molecule.py +0 -0
  21. {stjames-0.0.11 → stjames-0.0.12}/stjames/settings.py +0 -0
  22. {stjames-0.0.11 → stjames-0.0.12}/stjames/status.py +0 -0
  23. {stjames-0.0.11 → stjames-0.0.12}/stjames/tasks.py +0 -0
  24. {stjames-0.0.11 → stjames-0.0.12}/stjames/thermochem_settings.py +0 -0
  25. {stjames-0.0.11 → stjames-0.0.12}/stjames.egg-info/SOURCES.txt +0 -0
  26. {stjames-0.0.11 → stjames-0.0.12}/stjames.egg-info/dependency_links.txt +0 -0
  27. {stjames-0.0.11 → stjames-0.0.12}/stjames.egg-info/requires.txt +0 -0
  28. {stjames-0.0.11 → stjames-0.0.12}/stjames.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stjames
3
- Version: 0.0.11
3
+ Version: 0.0.12
4
4
  Summary: standardized JSON atom/molecule encoding scheme
5
5
  Author-email: Corin Wagen <corin@rowansci.com>
6
6
  Project-URL: Homepage, https://github.com/rowansci/stjames
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "stjames"
3
- version = "0.0.11"
3
+ version = "0.0.12"
4
4
  description = "standardized JSON atom/molecule encoding scheme"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.8"
@@ -0,0 +1,28 @@
1
+ import pydantic
2
+ from typing import Optional, Self
3
+
4
+ from .base import Base
5
+
6
+
7
+ class BasisSetOverride(Base):
8
+ name: str
9
+ atomic_numbers: Optional[list[pydantic.PositiveInt]] = None
10
+ atoms: Optional[list[pydantic.PositiveInt]] = None # 1-indexed
11
+
12
+ @pydantic.model_validator(mode="after")
13
+ def check_override(self) -> Self:
14
+ # ^ is xor
15
+ assert (self.atomic_numbers is not None) ^ (self.atoms is not None), "Exactly one of ``atomic_numbers`` or ``atoms`` must be specified!"
16
+ return self
17
+
18
+
19
+ class BasisSet(Base):
20
+ name: str
21
+
22
+ # do we want to override the default basis set for specific atoms or elements?
23
+ overrides: Optional[list[BasisSetOverride]] = []
24
+
25
+ # value below which a basis function can be ignored
26
+ # (for improving DFT grid calcs, as per Stratmann/Scuseria/Frisch CPL 1996)
27
+ # this shouldn't really need to be modified...
28
+ cutoff_threshold: pydantic.PositiveFloat = 1e-10
@@ -15,7 +15,7 @@ class Constraint(Base):
15
15
  """Represents a single constraint."""
16
16
 
17
17
  constraint_type: ConstraintType
18
- atoms: list[int]
18
+ atoms: list[int] # 1-indexed
19
19
 
20
20
 
21
21
  class OptimizationSettings(Base):
@@ -15,6 +15,12 @@ class SCFInitMethod(LowercaseStrEnum):
15
15
  READ = "read"
16
16
 
17
17
 
18
+ class OrthonormalizationMethod(LowercaseStrEnum):
19
+ SYMMETRIC = "symmetric"
20
+ CANONICAL = "canonical"
21
+ # cholesky, in future?
22
+
23
+
18
24
  class SCFSettings(Base):
19
25
  max_iters: int = 100
20
26
  init_method: SCFInitMethod = SCFInitMethod.SAD
@@ -23,6 +29,9 @@ class SCFSettings(Base):
23
29
  grid_settings: GridSettings = GridSettings()
24
30
  diis_settings: DIISSettings = DIISSettings()
25
31
 
32
+ #### orthonormalization
33
+ orthonormalization: OrthonormalizationMethod = OrthonormalizationMethod.CANONICAL
34
+
26
35
  #### damping
27
36
  do_damping: bool = True
28
37
  # when should we stop damping?
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stjames
3
- Version: 0.0.11
3
+ Version: 0.0.12
4
4
  Summary: standardized JSON atom/molecule encoding scheme
5
5
  Author-email: Corin Wagen <corin@rowansci.com>
6
6
  Project-URL: Homepage, https://github.com/rowansci/stjames
@@ -1,12 +0,0 @@
1
- import pydantic
2
-
3
- from .base import Base
4
-
5
-
6
- class BasisSet(Base):
7
- name: str
8
-
9
- # value below which a basis function can be ignored
10
- # (for improving DFT grid calcs, as per Stratmann/Scuseria/Frisch CPL 1996)
11
- # this shouldn't really need to be modified...
12
- cutoff_threshold: pydantic.PositiveFloat = 1e-10
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes