Skip to content

Commit 3e48d4f

Browse files
committed
rename settings as well
1 parent 0c35545 commit 3e48d4f

File tree

3 files changed

+22
-18
lines changed

3 files changed

+22
-18
lines changed

src/nomad_simulations/schema_packages/model_method.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,8 @@ class EmpiricalDispersionModel(BaseModelMethod):
223223
224224
Covers pairwise-additive (D2/D3/D3(BJ)/D4), density-dependent (TS/TS-SCS),
225225
many-body dispersion (MBD, e.g. MBD@rsSCS), and exchange-hole based XDM.
226+
In literature, `DFT-D` is often used as an umbrella label; this schema stores
227+
the concrete generation explicitly when available (e.g. D2, D3, D3BJ, D4).
226228
227229
References
228230
----------

src/nomad_simulations/schema_packages/numerical_settings.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1287,7 +1287,7 @@ class SolvationSettings(NumericalSettings):
12871287
)
12881288

12891289

1290-
class DispersionKnob(ArchiveSection):
1290+
class EmpiricalDispersionKnob(ArchiveSection):
12911291
"""
12921292
A single typed numerical knob for an empirical dispersion correction.
12931293
@@ -1336,13 +1336,13 @@ class DispersionKnob(ArchiveSection):
13361336
)
13371337

13381338

1339-
class DispersionSettings(NumericalSettings):
1339+
class EmpiricalDispersionSettings(NumericalSettings):
13401340
"""
13411341
Numerical and evaluation settings for an empirical dispersion correction.
13421342
13431343
This section contains discrete switches and environment choices (e.g. whether
13441344
to include higher-order dispersion terms, which density partitioning is used),
1345-
as well as typed scalar parameters stored as `DispersionKnob`.
1345+
as well as typed scalar parameters stored as `EmpiricalDispersionKnob`.
13461346
"""
13471347

13481348
# switches for term inclusion / order
@@ -1402,7 +1402,7 @@ class DispersionSettings(NumericalSettings):
14021402

14031403
# typed scalar parameters
14041404
knobs = SubSection(
1405-
sub_section=DispersionKnob.m_def,
1405+
sub_section=EmpiricalDispersionKnob.m_def,
14061406
repeats=True,
14071407
description="""
14081408
Typed scalar parameters (knobs) for the dispersion correction.

tests/test_numerical_settings.py

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from nomad.units import ureg
55

66
from nomad_simulations.schema_packages.numerical_settings import (
7-
DispersionKnob,
8-
DispersionSettings,
7+
EmpiricalDispersionKnob,
8+
EmpiricalDispersionSettings,
99
KLinePath,
1010
KMesh,
1111
KSpaceFunctionalities,
@@ -491,27 +491,27 @@ def test_resolve_points(self, k_line_path: KLinePath):
491491
assert np.allclose(k_line_path.points, points)
492492

493493

494-
class TestDispersionSettings:
494+
class TestEmpiricalDispersionSettings:
495495
"""
496496
Tests for dispersion numerical settings schema:
497-
- typed physical constraints via DispersionKnob
498-
- container section DispersionSettings
497+
- typed physical constraints via EmpiricalDispersionKnob
498+
- container section EmpiricalDispersionSettings
499499
"""
500500

501501
def test_knobs_roundtrip_and_normalize_noop(self):
502502
"""
503503
Knobs should be storable and survive normalize() unchanged
504504
(no special normalization is defined currently).
505505
"""
506-
dns = DispersionSettings(
506+
dns = EmpiricalDispersionSettings(
507507
include_c8=True,
508508
include_three_body_atm=False,
509509
partition_scheme='Hirshfeld',
510510
density_source='valence-only',
511511
knobs=[
512-
DispersionKnob(kind='s6', applies_to='pairwise', value=1.0),
513-
DispersionKnob(kind='a1', applies_to='pairwise', value=0.40),
514-
DispersionKnob(kind='a2', applies_to='pairwise', value=4.00),
512+
EmpiricalDispersionKnob(kind='s6', applies_to='pairwise', value=1.0),
513+
EmpiricalDispersionKnob(kind='a1', applies_to='pairwise', value=0.40),
514+
EmpiricalDispersionKnob(kind='a2', applies_to='pairwise', value=4.00),
515515
],
516516
)
517517

@@ -543,7 +543,7 @@ def test_switch_fields(
543543
"""
544544
Basic storage test for the inclusion switches and max_dispersion_order.
545545
"""
546-
dns = DispersionSettings(
546+
dns = EmpiricalDispersionSettings(
547547
include_three_body_atm=include_three_body_atm,
548548
include_c8=include_c8,
549549
include_c10=include_c10,
@@ -570,7 +570,7 @@ def test_environment_fields(self, partition_scheme, charge_model, density_source
570570
"""
571571
Storage test for environment/charge/density-source categorical fields.
572572
"""
573-
dns = DispersionSettings(
573+
dns = EmpiricalDispersionSettings(
574574
partition_scheme=partition_scheme,
575575
charge_model=charge_model,
576576
density_source=density_source,
@@ -586,10 +586,12 @@ def test_multiple_knobs_same_kind_allowed(self):
586586
It should be allowed to store multiple knobs of the same kind if they
587587
apply to different contributions (or even if not, schema-wise).
588588
"""
589-
dns = DispersionSettings(
589+
dns = EmpiricalDispersionSettings(
590590
knobs=[
591-
DispersionKnob(kind='s9', applies_to='three_body_atm', value=1.0),
592-
DispersionKnob(kind='s9', applies_to='pairwise', value=0.0),
591+
EmpiricalDispersionKnob(
592+
kind='s9', applies_to='three_body_atm', value=1.0
593+
),
594+
EmpiricalDispersionKnob(kind='s9', applies_to='pairwise', value=0.0),
593595
]
594596
)
595597
dns.normalize(EntryArchive(), logger=logger)

0 commit comments

Comments
 (0)