@@ -1223,31 +1223,6 @@ def normalize(self, archive: 'EntryArchive', logger: 'BoundLogger') -> None:
1223
1223
super ().normalize (archive , logger )
1224
1224
1225
1225
1226
- class BaseMolecularOrbital (ArchiveSection ):
1227
- """
1228
- A section representing a single molecular orbital.
1229
- """
1230
-
1231
- energy = Quantity (
1232
- type = np .float64 ,
1233
- # unit='electron_volt',
1234
- description = 'Energy of the molecular orbital.' ,
1235
- )
1236
-
1237
- occupation = Quantity (
1238
- type = np .float64 , description = 'Occupation number of the molecular orbital.'
1239
- )
1240
-
1241
- symmetry_label = Quantity (
1242
- type = str , description = 'Symmetry label of the molecular orbital.'
1243
- )
1244
-
1245
- orbital_ref = SubSection (
1246
- sub_section = OrbitalsState .m_def ,
1247
- description = 'Reference to the underlying atomic orbital state.' ,
1248
- )
1249
-
1250
-
1251
1226
class MolecularOrbitals (ArchiveSection ):
1252
1227
"""
1253
1228
A section for molecular orbital schemes used in quantum chemistry calculations.
@@ -1268,18 +1243,6 @@ class MolecularOrbitals(ArchiveSection):
1268
1243
a_eln = ELNAnnotation (component = 'EnumEditQuantity' ),
1269
1244
)
1270
1245
1271
- orbital_set = Quantity (
1272
- type = MEnum ('canonical' , 'natural' , 'localized' ),
1273
- description = """
1274
- Specifies the type of orbitals used in the molecular orbital scheme:
1275
- - canonical: Default canonical molecular orbitals.
1276
- - natural: Natural orbitals obtained from the density matrix.
1277
- - localized: Localized orbitals such as Boys or Foster-Boys localization.
1278
- TODO: this will be later connected to MCSCF.
1279
- """ ,
1280
- a_eln = ELNAnnotation (component = 'EnumEditQuantity' ),
1281
- )
1282
-
1283
1246
n_alpha_electrons = Quantity (
1284
1247
type = np .int32 ,
1285
1248
description = """
@@ -1301,16 +1264,16 @@ class MolecularOrbitals(ArchiveSection):
1301
1264
""" ,
1302
1265
)
1303
1266
1304
- molecular_orbitals = SubSection (
1305
- sub_section = BaseMolecularOrbital .m_def ,
1306
- repeats = True ,
1307
- description = """
1308
- Detailed information about each molecular orbital,
1309
- including energy, occupation, and symmetry label.
1310
- """ ,
1311
- )
1267
+ # molecular_orbitals = SubSection(
1268
+ # sub_section=BaseMolecularOrbital.m_def,
1269
+ # repeats=True,
1270
+ # description="""
1271
+ # Detailed information about each molecular orbital,
1272
+ # including energy, occupation, and symmetry label.
1273
+ # """,
1274
+ # )
1312
1275
1313
- total_spin = Quantity (
1276
+ sz_projection = Quantity (
1314
1277
type = np .float64 ,
1315
1278
description = """
1316
1279
Total spin of the system defined as S = (n_alpha_electrons - n_beta_electrons) / 2.
@@ -1364,24 +1327,8 @@ def normalize(self, archive: 'EntryArchive', logger: 'BoundLogger') -> None:
1364
1327
if not self .validate_scheme (logger ):
1365
1328
logger .error ('Invalid molecular orbital scheme.' )
1366
1329
1367
- # Resolve the number of molecular orbitals
1368
- if self .n_molecular_orbitals is None and self .molecular_orbitals :
1369
- self .n_molecular_orbitals = len (self .molecular_orbitals )
1370
-
1371
- # Validate molecular orbital occupation
1372
- total_occupation = sum (
1373
- orbital .occupation
1374
- for orbital in self .molecular_orbitals
1375
- if orbital .occupation is not None
1376
- )
1377
- expected_occupation = self .n_alpha_electrons + self .n_beta_electrons
1378
- if total_occupation != expected_occupation :
1379
- logger .warning (
1380
- f'The total occupation ({ total_occupation } ) does not match the expected value ({ expected_occupation } ).'
1381
- )
1382
-
1383
1330
1384
- class GTOIntegralDecomposition (BaseModelMethod ):
1331
+ class IntegralDecomposition (BaseModelMethod ):
1385
1332
"""
1386
1333
A general class for integral decomposition techniques for Coulomb and exchange integrals to speed up the calculation.
1387
1334
Examples:
@@ -1463,16 +1410,20 @@ class LocalCorrelation(ArchiveSection):
1463
1410
"""
1464
1411
1465
1412
type = Quantity (
1466
- type = MEnum ('PNO' , 'domain ' ),
1413
+ type = MEnum ('PNO' , 'LPNO' , 'DLPNO ' ),
1467
1414
description = """
1468
1415
the type of local correlation.
1469
1416
""" ,
1470
1417
)
1471
1418
1472
1419
ansatz = Quantity (
1473
- type = MEnum ('LMP2 ' , 'LCC ' , 'LocalDFT ' ),
1420
+ type = MEnum ('MP2 ' , 'CC ' , 'DH-DFT ' ),
1474
1421
description = """
1475
1422
The underlying ansatz for the local correlation treatment.
1423
+ LMP2
1424
+ LCC
1425
+ DH-DFT: double-hybrid DFT
1426
+ ...
1476
1427
""" ,
1477
1428
)
1478
1429
@@ -1493,6 +1444,7 @@ class CoupledCluster(ModelMethodElectronic):
1493
1444
a_eln = ELNAnnotation (component = 'StringEditQuantity' ),
1494
1445
)
1495
1446
1447
+ # add a real reference determinant reference
1496
1448
reference_determinant = Quantity (
1497
1449
type = MEnum ('UHF' , 'RHF' , 'ROHF' , 'UKS' , 'RKS' , 'ROKS' ),
1498
1450
description = """
0 commit comments