Skip to content

feat: get_density_from_cloud() COD workflow #331

Open
@yucongalicechen

Description

@yucongalicechen

Problem:
User enters a chemical formula (e.g. SiO2, Nacl) and optionally a phase. The function returns the material density.

Proposed steps:

  • 1. Initialize a structure object (e.g., ase.Atoms?) using the given chemical formula and optional phase information.
  • 2. Implement a method (e.g., Atoms.hill_formula) to compute the Hill notation for the chemical formula and attach it to the structure object.
  • 3. Retrive matching COD JSON files based on the Hill notation.
  • 4. Load the COD JSON files to the structure object, e.g. store it in Atoms.info["cod_entries"].
  • 5. Extract and store properties like molar mass, lattice parameters, etc., so that we are ready for computing density.
  • 6. Compute density for each COD JSON file: density = (Z * molar_mass) / (volume_cm3 * AVOGADRO_NUMBER).
  • 7. Return the average density (per phase, if applicable)

@sbillinge I edited the tasks based on our discussion today. Please take a look and let me know if everything looks good :) I might close some of the current PRs to keep the commiting history clean. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions