Skip to content

GitLab

  • Menu
Projects Groups 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
    • Contributors
    • Graph
    • Compare
  • Issues 141
    • Issues 141
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 14
    • Merge requests 14
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • nomad-lab
  • nomad-FAIRnomad-FAIR
  • Issues
  • #855

Closed
Open
Created May 23, 2022 by Thea Denell@tdenellDeveloper3 of 5 tasks completed3/5 tasks

Implementation of MatID structurecluster class in Normalizier

The current structure normalizer, which classifies the structure e.g. in surface, volume, 1D, 2D, should be extended by the MatID structurecluster class. To avoid false positives and false negatives, a decision tree is integrated.

  • Add a git submodule for the MatID development version that has the new StructureClusterer class.
  • Add the new Topology metainfo from the MD branch. This is liable to change in the future, but it's easy to adapt afterward (atomutils.py, normalizing/material.py, datamodel/results.py).
  • Add the GUI updates for visualizing topologies from the MD branch (archive.js, Quantity.js, Structure.js, BrillouinZone.js, Overview.js, MaterialCardTopology.js)
  • Modify nomad/normalizing/material.py to include a new function that adds the new topological (=hierarchy of identified subsystems) data into results.material.topology. For an easy start, we can simply:
    • Run this clusterer only after we see that the results.material.structure_type == unavailable.
    • Concentrate on a very simple case first, e.g. getting reasonable results for systems that comprise of several stacked surfaces (=heterostructures) or adsorbtion systems.
  • Add unit test for the surface examples (6?):
    • Test that correct elements and number of elements are present
    • Test that topology contains only surfaces (molecules/outliers should not be stored in the topology for now.
    • Test that the cluster indices match up to some percentage (90?)
    • Test that structural_type = surface
Edited Jun 17, 2022 by Lauri Himanen
Assignee
Assign to
Time tracking