Skip to content

Commit

Permalink
add a draft for AtomCenteredFunction
Browse files Browse the repository at this point in the history
  • Loading branch information
EBB2675 committed Sep 25, 2024
1 parent bf1f6f4 commit af88624
Showing 1 changed file with 33 additions and 2 deletions.
35 changes: 33 additions & 2 deletions src/nomad_simulations/schema_packages/basis_set.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,9 +190,40 @@ class AtomCenteredFunction(ArchiveSection):
Specifies a single function (term) in an atom-centered basis set.
"""

pass
function_type = Quantity(
type=str,
description="""
Type of the function (e.g. GTO for Gaussian, STO for Slater)
""",
)

exponents = Quantity(
type=np.float32,
shape=['*'],
description="""
List of exponents for the basis function.
""",
)

# TODO: design system for writing basis functions like gaussian or slater orbitals
contraction_coefficients = Quantity(
type=np.float32,
shape=['*'],
description="""
List of contraction coefficients corresponding to the exponents.
""",
)

atom_state = SubSection(sub_section=AtomsState.m_def, repeats=False)

def __init__(self, atom_state: AtomsState, function_type: str, exponents: list, contraction_coefficients: list):
self.atom_state = atom_state
self.function_type = function_type
self.exponents = exponents
self.contraction_coefficients = contraction_coefficients

def normalize(self, archive: 'EntryArchive', logger: 'BoundLogger') -> None:
super().normalize(archive, logger)
self.name = self.m_def.name


class AtomCenteredBasisSet(BasisSetComponent):
Expand Down

1 comment on commit af88624

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage

Coverage Report
FileStmtsMissCoverMissing
src/nomad_simulations
   __init__.py4250%3–4
   _version.py11282%5–6
src/nomad_simulations/schema_packages
   __init__.py15287%39–41
   atoms_state.py1902189%13–15, 201–204, 228, 283–284, 352–353, 355, 537, 549–550, 611–615, 630–634, 641
   basis_set.py2563586%8–9, 122–133, 172–185, 219–222, 225–226, 267–268, 450–454, 476–477, 521–524, 643, 674, 676
   general.py89891%4–7, 121, 185, 295–296, 306
   model_method.py2657771%10–12, 171–174, 177–184, 276–277, 297, 318–339, 355–381, 384–401, 755, 766, 808–815, 853, 872, 952, 1009, 1084, 1198
   model_system.py2962392%25–27, 378, 572–575, 622–629, 803–804, 1025–1029, 1035–1036, 1044–1045, 1050, 1073
   numerical_settings.py2596176%12–14, 217, 219–220, 223–226, 230–231, 238–241, 250–253, 257–260, 262–265, 270–273, 279–282, 469–496, 571, 606–609, 633, 636, 681, 683–686, 690, 694, 741, 745–766, 821–822, 889
   outputs.py1201092%9–10, 252–255, 295–298, 323, 325, 362, 381
   physical_property.py102793%20–22, 202, 331–333
   variables.py861286%8–10, 98, 121, 145, 167, 189, 211, 233, 256, 276
src/nomad_simulations/schema_packages/properties
   band_gap.py51590%8–10, 135–136
   band_structure.py1232580%9–11, 232–265, 278, 285, 321–322, 325, 372–373, 378
   energies.py42979%7–9, 36, 57, 82, 103, 119, 134
   fermi_surface.py17476%7–9, 40
   forces.py22673%7–9, 36, 56, 79
   greens_function.py991387%7–9, 210–211, 214, 235–236, 239, 260–261, 264, 400
   hopping_matrix.py29583%7–9, 58, 94
   permittivity.py48883%7–9, 97–105
   spectral_profile.py26012851%9–11, 57–60, 95–98, 199–300, 356–368, 393–396, 416, 421–424, 466–502, 526, 573–576, 592–593, 598–604
   thermodynamics.py752764%7–9, 35, 56, 72, 81, 90, 101, 110, 137, 147, 157, 172–174, 177, 193, 213–215, 218, 234, 254–256, 259
src/nomad_simulations/schema_packages/utils
   utils.py701480%8–11, 65–74, 83–84, 89, 92
TOTAL254050480% 

Tests Skipped Failures Errors Time
401 0 💤 0 ❌ 0 🔥 6.028s ⏱️

Please sign in to comment.