stjames 0.0.12__py3-none-any.whl → 0.0.14__py3-none-any.whl

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.

stjames/grid_settings.py CHANGED
@@ -12,15 +12,15 @@ class RadialGridType(LowercaseStrEnum):
12
12
 
13
13
  class GridSettings(Base):
14
14
  radial_grid_type: RadialGridType = RadialGridType.LMG
15
- angular_num_points: pydantic.PositiveInt = 590
15
+ angular_num_points: pydantic.PositiveInt = 434
16
16
 
17
17
  weight_cutoff: pydantic.PositiveFloat = 1e-14
18
18
 
19
19
  # for LMG
20
- radial_precision: pydantic.PositiveFloat = 1e-12
20
+ radial_precision: pydantic.PositiveFloat = 1e-11
21
21
 
22
22
  # for other schemes, like KK
23
- radial_num_points: pydantic.PositiveInt = 99
23
+ radial_num_points: pydantic.PositiveInt = 75
24
24
 
25
25
  # pruning?
26
26
  prune: bool = True
stjames/int_settings.py CHANGED
@@ -10,9 +10,12 @@ class ERIStrategy(LowercaseStrEnum):
10
10
  # Raffinetti-style supermatrix
11
11
  SUPERMATRIX = "supermatrix"
12
12
 
13
- # let the software choose based on the molecule
13
+ # let the software choose between direct and supermatrix based on size
14
14
  AUTO = "auto"
15
15
 
16
+ # resolution of the identity for J and K
17
+ RIJK = "rijk"
18
+
16
19
 
17
20
  class IntSettings(Base):
18
21
  strategy: ERIStrategy = ERIStrategy.AUTO
@@ -21,3 +24,8 @@ class IntSettings(Base):
21
24
  eri_threshold: pydantic.PositiveFloat = 1e-9
22
25
  csam_multiplier: pydantic.PositiveFloat = pydantic.Field(default=1, ge=1)
23
26
  pair_overlap_threshold: pydantic.PositiveFloat = 1e-10
27
+
28
+ @property
29
+ def resolution_of_the_identity(self) -> bool:
30
+ """ Abstracting in case we add RIJCOSX, etc later """
31
+ return self.strategy == ERIStrategy.RIJK
stjames/scf_settings.py CHANGED
@@ -1,4 +1,4 @@
1
- from typing import Optional
1
+ from typing import Optional, Any
2
2
  import pydantic
3
3
 
4
4
  from .base import Base, LowercaseStrEnum
@@ -35,18 +35,21 @@ class SCFSettings(Base):
35
35
  #### damping
36
36
  do_damping: bool = True
37
37
  # when should we stop damping?
38
- end_damping_error: pydantic.PositiveFloat = 0.5
38
+ end_damping_error: pydantic.PositiveFloat = 0.1
39
39
  # what damping factor should we use?
40
- damping_factor: float = pydantic.Field(ge=0, le=1, default=0.5)
40
+ damping_factor: float = pydantic.Field(ge=0, le=1, default=0.7)
41
41
 
42
42
  #### level shifting
43
43
  do_level_shift: bool = True
44
44
  # how much? (Eh)
45
- level_shift_magnitude: pydantic.PositiveFloat = 0.1
45
+ level_shift_magnitude: pydantic.PositiveFloat = 0.25
46
46
  # when should we stop?
47
47
  end_level_shift_error: pydantic.PositiveFloat = 0.1
48
48
 
49
- #### reset incremental fock build
49
+ #### incremental
50
+ # do incremental fock build?
51
+ do_incremental: bool = True
52
+ # reset incremental fock build
50
53
  rebuild_frequency: pydantic.PositiveInt = 20
51
54
 
52
55
  #### when are we converged?
@@ -57,7 +60,7 @@ class SCFSettings(Base):
57
60
  #### DIIS
58
61
  do_diis: bool = True
59
62
  # error below which we'll start DIIS
60
- start_diis_max_error: pydantic.PositiveFloat = 0.5
63
+ start_diis_max_error: pydantic.PositiveFloat = 0.2
61
64
  # first iteration we'll consider starting DIIS
62
65
  start_diis_iter: pydantic.PositiveInt = 3
63
66
  # iteration past which we'll start DIIS even if error is high
@@ -65,3 +68,8 @@ class SCFSettings(Base):
65
68
 
66
69
  # if ``read`` initialization is selected
67
70
  initial_density_matrix_guess: Optional[list[list[float]]] = None
71
+
72
+ def model_post_init(self, __context: Any) -> None:
73
+ # disable incremental Fock for RI
74
+ if self.int_settings.resolution_of_the_identity:
75
+ self.do_incremental = False
stjames/settings.py CHANGED
@@ -113,15 +113,15 @@ def _assign_settings_by_mode(settings: Settings) -> None:
113
113
  scf_settings.int_settings.csam_multiplier = 3.0
114
114
  scf_settings.int_settings.pair_overlap_threshold = 1e-8
115
115
  elif mode == Mode.RAPID:
116
- scf_settings.energy_threshold = 1e-6
116
+ scf_settings.energy_threshold = 5e-5
117
117
  scf_settings.rms_error_threshold = 1e-8
118
118
  scf_settings.max_error_threshold = 1e-6
119
119
  scf_settings.rebuild_frequency = 20
120
- scf_settings.int_settings.eri_threshold = 1e-9
121
- scf_settings.int_settings.csam_multiplier = 1.0
120
+ scf_settings.int_settings.eri_threshold = 1e-8
121
+ scf_settings.int_settings.csam_multiplier = 5.0
122
122
  scf_settings.int_settings.pair_overlap_threshold = 1e-9
123
123
  elif mode == Mode.CAREFUL:
124
- scf_settings.energy_threshold = 1e-7
124
+ scf_settings.energy_threshold = 1e-6
125
125
  scf_settings.rms_error_threshold = 1e-9
126
126
  scf_settings.max_error_threshold = 1e-7
127
127
  scf_settings.rebuild_frequency = 10
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: stjames
3
- Version: 0.0.12
3
+ Version: 0.0.14
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
@@ -4,19 +4,19 @@ stjames/basis_set.py,sha256=uax7wOv7C9640TMDOkFqTQvgZ5UxvyWx1Fp8-IGzils,935
4
4
  stjames/calculation.py,sha256=H2YubnWeWCg62MSdih4PT1jBqFosT8QZ1ioljOHvvTE,784
5
5
  stjames/corrections.py,sha256=vVO0CEBxWveCsWGd2Fa9D9eFeteFYB_bpa56T2f8S-Y,268
6
6
  stjames/diis_settings.py,sha256=vplTXRf_noJYJM3Qfre1aHsb9ZTfSrQAL7_zA41zvMg,546
7
- stjames/grid_settings.py,sha256=d1JKMgPp30FX8925TKSSCXAA3ji4OpvSLjOh8T52bUU,640
8
- stjames/int_settings.py,sha256=9B3Np7cV2A2C2PqUoxITHlJ2J90558thqkX2JDNxk-U,635
7
+ stjames/grid_settings.py,sha256=VOvqtfZD7aHQ-mAhS8BQGcd-X0d93jNId24Txpoe0cs,640
8
+ stjames/int_settings.py,sha256=b_H95GOcom0U5uU26HxZ6eymiBCbwGe7Nj1DvPFm0Pw,898
9
9
  stjames/methods.py,sha256=7cs5aaz1khuY1E9ozCYQvwkWdjhAMhfBIXc0pd6rU9w,369
10
10
  stjames/modes.py,sha256=xw46Cc7f3eTS8i35qECi-8DocAlANhayK3w4akD4HBU,496
11
11
  stjames/molecule.py,sha256=cOtSI0pxyQeVLqR0E0owx4MU4HUor0c36kwUP9564wE,2820
12
12
  stjames/opt_settings.py,sha256=qhmhodrk0d3tGlBEl5RVCWvTYBzOKZTLdOqmkmRoF0I,735
13
- stjames/scf_settings.py,sha256=rsXk19OQmOLsiYT3vREEia4RMU89uMUQceVA1UsvlY0,2104
14
- stjames/settings.py,sha256=uMtILIxJ3dF1UI_V6Z-_bZr81j3fLAhoZx_796NBsJ8,7148
13
+ stjames/scf_settings.py,sha256=e31f1mWRmcFkMnc-loQak_2037L-l4AYpnl-glchrCc,2388
14
+ stjames/settings.py,sha256=-5d_87av6QO_PUtZXTTpMW29IMc8yHHOdEnS811zfUQ,7148
15
15
  stjames/status.py,sha256=wTKNcNxStoEHrxxgr_zTyN90NITa3rxMQZzOgrCifEw,332
16
16
  stjames/tasks.py,sha256=TTl-iTdvDNCZTdPsyS6bYmxzY0ez9PgYlL62fztayXQ,307
17
17
  stjames/thermochem_settings.py,sha256=ZTLz31v8Ltutde5Nfm0vH5YahWjcfFWfr_R856KffxE,517
18
- stjames-0.0.12.dist-info/LICENSE,sha256=i7ehYBS-6gGmbTcgU4mgk28pyOx2kScJ0kcx8n7bWLM,1084
19
- stjames-0.0.12.dist-info/METADATA,sha256=9_RxJtFnM7V9LPwsvJsh3v7hN_rM2ytvtFD6i1Exv_I,1605
20
- stjames-0.0.12.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
21
- stjames-0.0.12.dist-info/top_level.txt,sha256=FYCwxl6quhYOAgG-mnPQcCK8vsVM7B8rIUrO-WrQ_PI,8
22
- stjames-0.0.12.dist-info/RECORD,,
18
+ stjames-0.0.14.dist-info/LICENSE,sha256=i7ehYBS-6gGmbTcgU4mgk28pyOx2kScJ0kcx8n7bWLM,1084
19
+ stjames-0.0.14.dist-info/METADATA,sha256=RKKOmN54s9Jhr7j0NOb7brYFfEEEgijMMwVPh68Uxh8,1605
20
+ stjames-0.0.14.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
21
+ stjames-0.0.14.dist-info/top_level.txt,sha256=FYCwxl6quhYOAgG-mnPQcCK8vsVM7B8rIUrO-WrQ_PI,8
22
+ stjames-0.0.14.dist-info/RECORD,,