Skip to content

Commit d90eac1

Browse files
committed
fix ROKS issue, minor modifications in model_method
1 parent 271f69c commit d90eac1

File tree

2 files changed

+75
-4
lines changed

2 files changed

+75
-4
lines changed

src/nomad_simulations/schema_packages/basis_set.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ class AtomCenteredBasisSet(BasisSetComponent):
344344

345345
total_number_of_basis_functions = Quantity(
346346
type=np.int32,
347-
description='',
347+
description=""""the total number of basis functions""",
348348
)
349349

350350
functional_composition = SubSection(

src/nomad_simulations/schema_packages/model_method.py

Lines changed: 74 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1349,7 +1349,7 @@ def validate_scheme(self, logger: 'BoundLogger') -> bool:
13491349
elif self.reference_type in ['ROHF', 'ROKS']:
13501350
if abs(self.n_alpha_electrons - self.n_beta_electrons) != 1:
13511351
logger.error(
1352-
f'For {self.reference_type}, there must be exactly one unpaired electron.'
1352+
f'For {self.reference_type}, there must be unpaired electron(s).'
13531353
)
13541354
return False
13551355
return True
@@ -1435,7 +1435,6 @@ class PerturbationMethod(ModelMethodElectronic):
14351435
| `'RS'` | Rayleigh-Schrödigner |
14361436
| `'BW'` | Brillouin-Wigner |
14371437
""",
1438-
# a_eln=ELNAnnotation(component='EnumEditQuantity'),
14391438
)
14401439

14411440
order = Quantity(
@@ -1475,5 +1474,77 @@ class LocalCorrelation(ArchiveSection):
14751474
14761475
# TODO: improve list!
14771476
""",
1478-
# a_eln=ELNAnnotation(component='EnumEditQuantity'),
14791477
)
1478+
1479+
1480+
class CoupledCluster(ModelMethodElectronic):
1481+
"""
1482+
A base section used to define the parameters of a Coupled Cluster calculation.
1483+
A standard schema is defined, though the most common cases can be summarized in the `type` quantity.
1484+
"""
1485+
1486+
type = Quantity(
1487+
type=str,
1488+
description="""
1489+
Coupled Cluster flavor.
1490+
Examples: CC2, CC3, CCD, CCSD, BCCD, QCCD and so on.
1491+
The perturbative corrections are not included.
1492+
""",
1493+
a_eln=ELNAnnotation(component='StringEditQuantity'),
1494+
)
1495+
1496+
excitation_order = Quantity(
1497+
type=np.int32,
1498+
shape=['*'],
1499+
description="""
1500+
Orders at which the excitation are used.
1501+
1 = single, 2 = double, 3 = triple, 4 = quadruple, etc.
1502+
"""
1503+
)
1504+
1505+
reference_determinant = Quantity(
1506+
type=MEnum('UHF','RHF','ROHF',
1507+
'UKS', 'RKS', 'ROKS'),
1508+
description="""
1509+
The type of reference determinant.
1510+
""",
1511+
)
1512+
1513+
perturbation_method = SubSection(sub_section=PerturbationMethod.m_def)
1514+
1515+
local_correlation = SubSection(sub_section=LocalCorrelation.m_def)
1516+
1517+
perturbative_correction = Quantity(
1518+
type=MEnum('(T)', '[T]',
1519+
'(T0)', '[T0]',
1520+
'(Q)'),
1521+
description="""
1522+
The type of perturbative corrections.
1523+
A perturbative correction is different than a perturbation method.
1524+
"""
1525+
)
1526+
1527+
explicit_correlation = Quantity(
1528+
type=MEnum('F12', 'F12a', 'F12b', 'F12c',
1529+
'R12', ''),
1530+
default='',
1531+
description="""
1532+
Explicit correlation treatment.
1533+
These methods introduce the interelectronic distance coordinate
1534+
directly into the wavefunction to treat dynamical electron correlation.
1535+
It can be added linearly (R12) or exponentially (F12).
1536+
""",
1537+
)
1538+
1539+
is_frozencore = Quantity(
1540+
type=bool,
1541+
description="""
1542+
Flag for frozencore approximation.
1543+
In post-HF calculation only the valence electrons are typically correlated.
1544+
The others are kept frozen.
1545+
FC approximations differ between quantum chemistry codes.
1546+
""",
1547+
)
1548+
1549+
1550+

0 commit comments

Comments
 (0)