Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • nomad-FAIR nomad-FAIR
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 299
    • Issues 299
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 39
    • Merge requests 39
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • nomad-labnomad-lab
  • nomad-FAIRnomad-FAIR
  • Issues
  • #909
Closed
Open
Issue created Jun 17, 2022 by Lauri Himanen@himanel1Maintainer

Add support for identifying conventional cell from surfaces

Each cluster (matid.classification.structureclusterer.Cluster) given by StructureClusterer also contains a list of the regions it has detected (stored in cluster.regions). This contains a list of LinkedUnitCollections (matid.core.linkedunits.LinkedUnitCollection), which each contain the unit cell from which the region is built from (stored in LinkedUnitCollection.cell). We want to analyze this cell and get the conventional cell that corresponds to it. The conventional cell then contains e.g. the symmetry information + can be used to construct the material_id that links the surface into the bulk material from which it is constructed from.

The following steps are needed to add this information into the topology:

  • Extract the biggest region from each cluster that corresponds to a Surface, and get the cell for that region. This will be an ASE.Atoms object that we can analyze further.
  • Each surface within the topology should get a child subsystem for the conventional cell]. Create a new nomad.datamodel.results.System for the conventional system, add it to the topology list and connect the surface to it (surface=parent, conventional cell=child).
  • Use matid.symmetry.symmetryanalyzer.SymmetryAnalyzer to get the symmetry information for the conventional cell. You can see an example of this in nomad/normalizing/system.py. Fill the symmetry subsection (results.material.topology.symmetry) of the System corresponding to the conventional cell with this information.
  • Refactor code and cleanup
  • Add material ID for conventional system (see example in normalizing/material.py -> material_id_bulk)
  • Add the possibility of storing a structure directly into topology. This would be required in order to show the conventional cell that is extracted from e.g. a surface (Lauri)
  • Make material_id into a <MaterialLink> (Lauri)
  • Add GUI tests for (Lauri)
  • If structural_type cannot be determined, it should be set as unavailable. in the GUI. (Lauri)
  • Extend the unit tests from issue #855 (closed) to also test that the correct symmetry information is found.
Edited Sep 27, 2022 by Thea Denell
Assignee
Assign to
Time tracking