GraphAtoms 2.1.1__tar.gz → 2.3.0__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.
Files changed (98) hide show
  1. {graphatoms-2.1.1 → graphatoms-2.3.0}/PKG-INFO +2 -1
  2. {graphatoms-2.1.1 → graphatoms-2.3.0}/pyproject.toml +5 -1
  3. {graphatoms-2.1.1 → graphatoms-2.3.0}/pyproject.toml.orig +5 -1
  4. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/arrayapi/typing.py +3 -3
  5. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/config/__init__.py +14 -5
  6. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/config/example.yaml +0 -1
  7. graphatoms-2.3.0/src/graphatoms/enterpoint/network/__init__.py +11 -0
  8. graphatoms-2.3.0/src/graphatoms/enterpoint/network/_clsnetwork.py +661 -0
  9. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/network/_metadata.py +32 -33
  10. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/network/_recorder.py +132 -56
  11. graphatoms-2.3.0/src/graphatoms/enterpoint/parallel/__init__.py +158 -0
  12. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/parallel/_base.py +1 -0
  13. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/parallel/_dask.py +1 -2
  14. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/parallel/_executorlib.py +1 -2
  15. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/parallel/_ray.py +12 -3
  16. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/runner/__init__.py +11 -4
  17. graphatoms-2.3.0/src/graphatoms/enterpoint/runner/common/_base.py +423 -0
  18. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/runner/common/_helper.py +378 -87
  19. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/runner/general/_expl.py +106 -163
  20. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/runner/general/otfkmc.py +73 -20
  21. graphatoms-2.3.0/src/graphatoms/enterpoint/runner/general/rxngen.py +151 -0
  22. graphatoms-2.3.0/src/graphatoms/enterpoint/runner/v2/_helperv2.py +427 -0
  23. graphatoms-2.3.0/src/graphatoms/enterpoint/runner/v2/general/__init__.py +0 -0
  24. graphatoms-2.3.0/src/graphatoms/enterpoint/runner/v2/general/_expl.py +149 -0
  25. graphatoms-2.3.0/src/graphatoms/enterpoint/runner/v2/general/otfkmc.py +16 -0
  26. graphatoms-2.3.0/src/graphatoms/enterpoint/runner/v2/general/rxngen.py +18 -0
  27. graphatoms-2.3.0/src/graphatoms/enterpoint/runner/v2/ray/__init__.py +0 -0
  28. graphatoms-2.3.0/src/graphatoms/enterpoint/runner/v2/ray/_expl.py +52 -0
  29. graphatoms-2.3.0/src/graphatoms/enterpoint/runner/v2/ray/_helper.py +183 -0
  30. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/view.py +23 -11
  31. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/geometry/_bond_list.py +1 -2
  32. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/reaction/__init__.py +1 -2
  33. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/reaction/_event.py +147 -80
  34. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/reaction/reaction.py +5 -15
  35. graphatoms-2.3.0/src/graphatoms/reaction/xxsorption.py +214 -0
  36. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/atoms.py +4 -2
  37. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/bonds.py +13 -5
  38. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/database/__init__.py +20 -4
  39. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/database/abc.py +10 -8
  40. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/database/dict.py +8 -1
  41. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/database/dir.py +9 -1
  42. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/database/hdf5.py +9 -1
  43. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/database/sqliteASE.py +9 -1
  44. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/graph.py +9 -22
  45. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/sysCluster.py +1 -0
  46. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/sysGas.py +57 -30
  47. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/utils/adsorption.py +3 -3
  48. graphatoms-2.3.0/src/graphatoms/utils/aseqhull.py +89 -0
  49. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/utils/asetools.py +13 -4
  50. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/utils/rdutils.py +1 -1
  51. graphatoms-2.1.1/src/graphatoms/enterpoint/network/__init__.py +0 -245
  52. graphatoms-2.1.1/src/graphatoms/enterpoint/parallel/__init__.py +0 -66
  53. graphatoms-2.1.1/src/graphatoms/enterpoint/runner/common/_base.py +0 -262
  54. graphatoms-2.1.1/src/graphatoms/enterpoint/runner/general/rxngen.py +0 -9
  55. graphatoms-2.1.1/src/graphatoms/enterpoint/runner/ray/_expl.py +0 -36
  56. graphatoms-2.1.1/src/graphatoms/reaction/xxsorption.py +0 -198
  57. {graphatoms-2.1.1 → graphatoms-2.3.0}/README.md +0 -0
  58. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/LICENSE +0 -0
  59. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/__init__.py +0 -0
  60. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/arrayapi/__init__.py +0 -0
  61. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/arrayapi/compat.py +0 -0
  62. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/dataclasses/__init__.py +0 -0
  63. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/dataclasses/_numpydantic.py +0 -0
  64. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/dataclasses/_pydantic2pyarrow.py +0 -0
  65. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/dataclasses/_pydanticMixin.py +0 -0
  66. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/dataclasses/_pydanticModel.py +0 -0
  67. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/dataclasses/graph.py +0 -0
  68. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/__init__.py +0 -0
  69. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/config/atoms/__init__.py +0 -0
  70. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/config/atoms/aseread.yaml +0 -0
  71. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/config/atoms/octahedron.yaml +0 -0
  72. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/config/bonds/__init__.py +0 -0
  73. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/config/bonds/raw.yaml +0 -0
  74. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/config/calculator/__init__.py +0 -0
  75. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/config/calculator/emt.yaml +0 -0
  76. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/config/calculator/nequip.yaml +0 -0
  77. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/config/run.yaml +0 -0
  78. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/network/_scheduler.py +0 -0
  79. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/runner/common/__init__.py +0 -0
  80. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/runner/common/_errors.py +0 -0
  81. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/enterpoint/runner/general/__init__.py +0 -0
  82. {graphatoms-2.1.1/src/graphatoms/enterpoint/runner/ray → graphatoms-2.3.0/src/graphatoms/enterpoint/runner/v2}/__init__.py +0 -0
  83. {graphatoms-2.1.1/src/graphatoms/enterpoint/runner → graphatoms-2.3.0/src/graphatoms/enterpoint/runner/v2}/ray/otfkmc.py +0 -0
  84. {graphatoms-2.1.1/src/graphatoms/enterpoint/runner → graphatoms-2.3.0/src/graphatoms/enterpoint/runner/v2}/ray/rxngen.py +0 -0
  85. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/geometry/__init__.py +0 -0
  86. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/geometry/_distance_pairs.py +0 -0
  87. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/geometry/_inner_outer.py +0 -0
  88. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/geometry/_neighbor_list.py +0 -0
  89. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/geometry/mic.py +0 -0
  90. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/geometry/rotation.py +0 -0
  91. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/geometry/sample.py +0 -0
  92. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/__init__.py +0 -0
  93. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/system/system.py +0 -0
  94. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/utils/__init__.py +0 -0
  95. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/utils/bytestool.py +0 -0
  96. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/utils/logger.py +0 -0
  97. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/utils/parser.py +0 -0
  98. {graphatoms-2.1.1 → graphatoms-2.3.0}/src/graphatoms/utils/subgraph.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: graphatoms
3
- Version: 2.1.1
3
+ Version: 2.3.0
4
4
  Summary: The Chemical Core Class for Graph Theory Analysis.
5
5
  Keywords: chemistry,graph theory,reaction,event,KMC
6
6
  Author: LiuGaoyong
@@ -29,6 +29,7 @@ Requires-Dist: python-snappy>=0.7.3
29
29
  Requires-Dist: tomli ; python_full_version < '3.11'
30
30
  Requires-Dist: tomli-w
31
31
  Requires-Dist: typing-extensions
32
+ Requires-Dist: joblib
32
33
  Requires-Dist: executorlib
33
34
  Requires-Dist: hydra-core
34
35
  Requires-Dist: typer
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "graphatoms"
7
- version = "2.1.1"
7
+ version = "2.3.0"
8
8
  readme = "README.md"
9
9
  description = "The Chemical Core Class for Graph Theory Analysis."
10
10
  license-files = ["src/LICENSE"]
@@ -42,6 +42,7 @@ dependencies = [
42
42
  "tomli; python_version < '3.11'",
43
43
  "tomli-w",
44
44
  "typing-extensions",
45
+ "joblib",
45
46
  "executorlib",
46
47
  "hydra-core",
47
48
  "typer",
@@ -72,6 +73,7 @@ dev = [
72
73
  "jupyterlab",
73
74
  "chemiscope",
74
75
  "nglview",
76
+ "grpcio",
75
77
  "ray",
76
78
  ]
77
79
 
@@ -164,7 +166,9 @@ hydra-core = ">=1.3.2,<2"
164
166
  tomli-w = ">=1.2.0,<2"
165
167
  loguru = ">=0.7.3,<0.8"
166
168
  jupyterlab = ">=4.5.8,<5"
169
+ joblib = ">=1.1.0,<2"
167
170
  ovld = ">=0.5.15,<0.6"
168
171
  pytest-xdist = ">=3.8.0,<4"
169
172
  executorlib = ">=1.8,<2"
170
173
  typer = ">=0.20,<1"
174
+ grpcio = ">=1.52.0,<2"
@@ -12,7 +12,7 @@ graphatoms-network = "graphatoms.enterpoint.view:main"
12
12
  graphatoms-run = "graphatoms.enterpoint.runner:run"
13
13
  [project]
14
14
  name = "graphatoms"
15
- version = "2.1.1"
15
+ version = "2.3.0"
16
16
  readme = "README.md"
17
17
  description = "The Chemical Core Class for Graph Theory Analysis."
18
18
  authors = [{ name = "LiuGaoyong", email = "liugaoyong_88@163.com" }]
@@ -60,6 +60,7 @@ dependencies = [
60
60
  "typing-extensions",
61
61
 
62
62
  # Other
63
+ "joblib",
63
64
  "executorlib",
64
65
  "hydra-core",
65
66
  "typer",
@@ -76,6 +77,7 @@ dev = [
76
77
  "chemiscope",
77
78
  # "playwright>=1.52", # chemiscope [headless]
78
79
  "nglview",
80
+ "grpcio",
79
81
  "ray",
80
82
  ]
81
83
 
@@ -163,7 +165,9 @@ hydra-core = ">=1.3.2,<2"
163
165
  tomli-w = ">=1.2.0,<2"
164
166
  loguru = ">=0.7.3,<0.8"
165
167
  jupyterlab = ">=4.5.8,<5"
168
+ joblib = ">=1.1.0,<2"
166
169
  ovld = ">=0.5.15,<0.6"
167
170
  pytest-xdist = ">=3.8.0,<4"
168
171
  executorlib = ">=1.8,<2"
169
172
  typer = ">=0.20,<1"
173
+ grpcio = ">=1.52.0,<2"
@@ -4243,8 +4243,8 @@ class abs[TArray: Array](Protocol):
4243
4243
  .. note::
4244
4244
  For complex floating-point operands, conforming implementations should take care to avoid undue overflow or underflow during intermediate stages of computation.
4245
4245
 
4246
- ..
4247
- TODO: once ``hypot`` is added to the specification, remove the special cases for complex floating-point operands and the note concerning guarding against undue overflow/underflow, and state that special cases must be handled as if implemented as ``hypot(real(x), imag(x))``.
4246
+ .. note::
4247
+ Once ``hypot`` is added to the specification, remove the special cases for complex floating-point operands and the note concerning guarding against undue overflow/underflow, and state that special cases must be handled as if implemented as ``hypot(real(x), imag(x))``.
4248
4248
 
4249
4249
  Parameters
4250
4250
  ----------
@@ -9679,7 +9679,7 @@ class ArrayNamespace[TArray: Array, TDtype, TDevice](Protocol):
9679
9679
  sort: sort[TArray,]
9680
9680
  "Returns a sorted copy of an input array ``x``.\n\n.. note::\n For backward compatibility, conforming implementations may support complex numbers; however, inequality comparison of complex numbers is unspecified and thus implementation-dependent (see :ref:`complex-number-ordering`).\n\nParameters\n----------\nx: array\n input array. Should have a real-valued data type.\naxis: int\n axis along which to sort. If set to ``-1``, the function must sort along the last axis. Default: ``-1``.\ndescending: bool\n sort order. If ``True``, the array must be sorted in descending order (by value). If ``False``, the array must be sorted in ascending order (by value). Default: ``False``.\nstable: bool\n sort stability. If ``True``, the returned array must maintain the relative order of ``x`` values which compare as equal. If ``False``, the returned array may or may not maintain the relative order of ``x`` values which compare as equal (i.e., the relative order of ``x`` values which compare as equal is implementation-dependent). Default: ``True``.\n\nReturns\n-------\nout : array\n a sorted array. The returned array must have the same data type and shape as ``x``."
9681
9681
  abs: abs[TArray,]
9682
- "Calculates the absolute value for each element ``x_i`` of the input array ``x``.\n\nFor real-valued input arrays, the element-wise result has the same magnitude as the respective element in ``x`` but has positive sign.\n\n.. note::\n For signed integer data types, the absolute value of the minimum representable integer is implementation-dependent.\n\n.. note::\n For complex floating-point operands, the complex absolute value is known as the norm, modulus, or magnitude and, for a complex number :math:`z = a + bj` is computed as\n\n .. math::\n \\operatorname{abs}(z) = \\sqrt{a^2 + b^2}\n\n.. note::\n For complex floating-point operands, conforming implementations should take care to avoid undue overflow or underflow during intermediate stages of computation.\n\n..\n TODO: once ``hypot`` is added to the specification, remove the special cases for complex floating-point operands and the note concerning guarding against undue overflow/underflow, and state that special cases must be handled as if implemented as ``hypot(real(x), imag(x))``.\n\nParameters\n----------\nx: array\n input array. Should have a numeric data type.\n\nReturns\n-------\nout: array\n an array containing the absolute value of each element in ``x``. If ``x`` has a real-valued data type, the returned array must have the same data type as ``x``. If ``x`` has a complex floating-point data type, the returned array must have a real-valued floating-point data type whose precision matches the precision of ``x`` (e.g., if ``x`` is ``complex128``, then the returned array must have a ``float64`` data type).\n\nNotes\n-----\n\n**Special Cases**\n\nFor real-valued floating-point operands,\n\n- If ``x_i`` is ``NaN``, the result is ``NaN``.\n- If ``x_i`` is ``-0``, the result is ``+0``.\n- If ``x_i`` is ``-infinity``, the result is ``+infinity``.\n\nFor complex floating-point operands, let ``a = real(x_i)``, ``b = imag(x_i)``, and\n\n- If ``a`` is either ``+infinity`` or ``-infinity`` and ``b`` is any value (including ``NaN``), the result is ``+infinity``.\n- If ``a`` is any value (including ``NaN``) and ``b`` is either ``+infinity`` or ``-infinity``, the result is ``+infinity``.\n- If ``a`` is either ``+0`` or ``-0``, the result is equal to ``abs(b)``.\n- If ``b`` is either ``+0`` or ``-0``, the result is equal to ``abs(a)``.\n- If ``a`` is ``NaN`` and ``b`` is a finite number, the result is ``NaN``.\n- If ``a`` is a finite number and ``b`` is ``NaN``, the result is ``NaN``.\n- If ``a`` is ``NaN`` and ``b`` is ``NaN``, the result is ``NaN``.\n\n.. versionchanged:: 2022.12\n Added complex data type support."
9682
+ "Calculates the absolute value for each element ``x_i`` of the input array ``x``.\n\nFor real-valued input arrays, the element-wise result has the same magnitude as the respective element in ``x`` but has positive sign.\n\n.. note::\n For signed integer data types, the absolute value of the minimum representable integer is implementation-dependent.\n\n.. note::\n For complex floating-point operands, the complex absolute value is known as the norm, modulus, or magnitude and, for a complex number :math:`z = a + bj` is computed as\n\n .. math::\n \\operatorname{abs}(z) = \\sqrt{a^2 + b^2}\n\n.. note::\n For complex floating-point operands, conforming implementations should take care to avoid undue overflow or underflow during intermediate stages of computation.\n\n..\n once ``hypot`` is added to the specification, remove the special cases for complex floating-point operands and the note concerning guarding against undue overflow/underflow, and state that special cases must be handled as if implemented as ``hypot(real(x), imag(x))``.\n\nParameters\n----------\nx: array\n input array. Should have a numeric data type.\n\nReturns\n-------\nout: array\n an array containing the absolute value of each element in ``x``. If ``x`` has a real-valued data type, the returned array must have the same data type as ``x``. If ``x`` has a complex floating-point data type, the returned array must have a real-valued floating-point data type whose precision matches the precision of ``x`` (e.g., if ``x`` is ``complex128``, then the returned array must have a ``float64`` data type).\n\nNotes\n-----\n\n**Special Cases**\n\nFor real-valued floating-point operands,\n\n- If ``x_i`` is ``NaN``, the result is ``NaN``.\n- If ``x_i`` is ``-0``, the result is ``+0``.\n- If ``x_i`` is ``-infinity``, the result is ``+infinity``.\n\nFor complex floating-point operands, let ``a = real(x_i)``, ``b = imag(x_i)``, and\n\n- If ``a`` is either ``+infinity`` or ``-infinity`` and ``b`` is any value (including ``NaN``), the result is ``+infinity``.\n- If ``a`` is any value (including ``NaN``) and ``b`` is either ``+infinity`` or ``-infinity``, the result is ``+infinity``.\n- If ``a`` is either ``+0`` or ``-0``, the result is equal to ``abs(b)``.\n- If ``b`` is either ``+0`` or ``-0``, the result is equal to ``abs(a)``.\n- If ``a`` is ``NaN`` and ``b`` is a finite number, the result is ``NaN``.\n- If ``a`` is a finite number and ``b`` is ``NaN``, the result is ``NaN``.\n- If ``a`` is ``NaN`` and ``b`` is ``NaN``, the result is ``NaN``.\n\n.. versionchanged:: 2022.12\n Added complex data type support."
9683
9683
  acos: acos[TArray,]
9684
9684
  "Calculates an implementation-dependent approximation of the principal value of the inverse cosine for each element ``x_i`` of the input array ``x``.\n\nEach element-wise result is expressed in radians.\n\n.. note::\n The principal value of the arc cosine of a complex number :math:`z` is\n\n .. math::\n \\operatorname{acos}(z) = \\frac{1}{2}\\pi + j\\ \\ln(zj + \\sqrt{1-z^2})\n\n For any :math:`z`,\n\n .. math::\n \\operatorname{acos}(z) = \\pi - \\operatorname{acos}(-z)\n\n.. note::\n For complex floating-point operands, ``acos(conj(x))`` must equal ``conj(acos(x))``.\n\n.. note::\n The inverse cosine (or arc cosine) is a multi-valued function and requires a branch cut on the complex plane. By convention, a branch cut is placed at the line segments :math:`(-\\infty, -1)` and :math:`(1, \\infty)` of the real axis.\n\n Accordingly, for complex arguments, the function returns the inverse cosine in the range of a strip unbounded along the imaginary axis and in the interval :math:`[0, \\pi]` along the real axis.\n\n *Note: branch cuts follow C99 and have provisional status* (see :ref:`branch-cuts`).\n\nParameters\n----------\nx: array\n input array. Should have a floating-point data type.\n\nReturns\n-------\nout: array\n an array containing the inverse cosine of each element in ``x``. The returned array must have a floating-point data type determined by :ref:`type-promotion`.\n\nNotes\n-----\n\n**Special cases**\n\nFor real-valued floating-point operands,\n\n- If ``x_i`` is ``NaN``, the result is ``NaN``.\n- If ``x_i`` is greater than ``1``, the result is ``NaN``.\n- If ``x_i`` is less than ``-1``, the result is ``NaN``.\n- If ``x_i`` is ``1``, the result is ``+0``.\n\nFor complex floating-point operands, let ``a = real(x_i)``, ``b = imag(x_i)``, and\n\n- If ``a`` is either ``+0`` or ``-0`` and ``b`` is ``+0``, the result is ``π/2 - 0j``.\n- If ``a`` is either ``+0`` or ``-0`` and ``b`` is ``NaN``, the result is ``π/2 + NaN j``.\n- If ``a`` is a finite number and ``b`` is ``+infinity``, the result is ``π/2 - infinity j``.\n- If ``a`` is a nonzero finite number and ``b`` is ``NaN``, the result is ``NaN + NaN j``.\n- If ``a`` is ``-infinity`` and ``b`` is a positive (i.e., greater than ``0``) finite number, the result is ``π - infinity j``.\n- If ``a`` is ``+infinity`` and ``b`` is a positive (i.e., greater than ``0``) finite number, the result is ``+0 - infinity j``.\n- If ``a`` is ``-infinity`` and ``b`` is ``+infinity``, the result is ``3π/4 - infinity j``.\n- If ``a`` is ``+infinity`` and ``b`` is ``+infinity``, the result is ``π/4 - infinity j``.\n- If ``a`` is either ``+infinity`` or ``-infinity`` and ``b`` is ``NaN``, the result is ``NaN ± infinity j`` (sign of the imaginary component is unspecified).\n- If ``a`` is ``NaN`` and ``b`` is a finite number, the result is ``NaN + NaN j``.\n- If ``a`` is ``NaN`` and ``b`` is ``+infinity``, the result is ``NaN - infinity j``.\n- If ``a`` is ``NaN`` and ``b`` is ``NaN``, the result is ``NaN + NaN j``.\n\n.. versionchanged:: 2022.12\n Added complex data type support."
9685
9685
  acosh: acosh[TArray,]
@@ -29,11 +29,15 @@ class ExplConfig:
29
29
  maxtry: int = 1000
30
30
  maxconfidence: float = 10
31
31
  max_ncore_for_surface: int = 3 # 4, 5, 6
32
+ optimization_for_system: bool = True
32
33
  surface_only_explore_single_core: bool = True
33
34
  allow_multiple_adsorption: bool = False
34
35
  allow_explore_bulk: bool = False
35
36
  thetacutoff: float = -1 # 0-180, -1 means no cutoff
36
- nfibonacci: int = 200
37
+ step_distance: float = 0.4 # the step distance for adsorption
38
+ min_distance: float = 1.0 # the minimum distance for adsorption
39
+ max_distance: float = 3.0 # the maximum distance for adsorption
40
+ nfibonacci: int = 10 # the number of fibonacci points for adsorption
37
41
 
38
42
 
39
43
  @dataclass
@@ -44,10 +48,7 @@ class EventConfig:
44
48
  min_frequency: float = 10.0 # cm^-1
45
49
  min_frequency_for_ts: float = 20.0 # cm^-1
46
50
  simplified_threshold: float = 7.0 # the simplified threshold for event
47
- gas_sticking: dict[str, float] = field(default_factory=dict)
48
- gas_pressure: dict[str, float] = field(default_factory=dict)
49
- default_pressure: float = 101325
50
- default_sticking: float = 1.0
51
+ gas_sticking: dict[str, float] = field(default_factory=dict) # MISSING
51
52
  temperature: float = 300
52
53
 
53
54
 
@@ -70,7 +71,15 @@ class Config:
70
71
  max_steps: int = 100000
71
72
  max_times: float = 1000.0 # seconds
72
73
  run_type: str = "otfkmc" # otfkmc, rxngen
74
+ gas_pressure_cache_box_length: float = 1e4 # in Angstrom
75
+ initial_gas_pressure: dict[str, float] = field(default_factory=dict)
76
+ # the initial gas pressure only effect for `OTFKMC`, and the key of
77
+ # `initial_gas_pressure` must be the same as the key of `gas_sticking`
78
+ # 2. if the key of `initial_gas_pressure` is not in `gas_sticking`, then the initial gas pressure is 0.0 # noqa: E501
79
+ # 1. if the key of `gas_sticking` is not in `initial_gas_pressure`, then the gas sticking is 1.0 # noqa: E501
80
+
73
81
  parallel_workers: int = 0 # 0 means use all cores
82
+ parallel_ncpus_for_tasks: int = 1 # the number of cpus for tasks, only effect for `parallel=ray` # noqa: E501
74
83
  parallel: str = "serial" # serial, multiprocessing, ray, dask, executorlib
75
84
  loglevel: str = "info" # Literal["debug", "info", "warning", "error"]
76
85
  logfile: str = "log.txt"
@@ -64,7 +64,6 @@ event:
64
64
  gas_sticking:
65
65
  CO: 0.5
66
66
  CO2: 0.5
67
- gas_pressure: {}
68
67
  temperature: 300.0
69
68
  optimizer:
70
69
  method: "lbfgs"
@@ -0,0 +1,11 @@
1
+ from ._clsnetwork import ReactionNetwork
2
+ from ._metadata import MetaData
3
+ from ._recorder import Recorder
4
+ from ._scheduler import Scheduler
5
+
6
+ __all__ = [
7
+ "MetaData",
8
+ "Recorder",
9
+ "Scheduler",
10
+ "ReactionNetwork",
11
+ ]