FAIRmat-NFDI / nomad-perovskite-solar-cells-database

A NOMAD plugin containing the schema for the Perovskite Solar Cell Database.
Apache License 2.0
2 stars 0 forks source link

Extend Ion Schema #22

Open hampusnasstrom opened 1 day ago

hampusnasstrom commented 1 day ago

Later:

hampusnasstrom commented 1 day ago

Original schema from @Jesperkemist

definitions:
  name: 'Perovskite composition'
  sections:
    perovskite_composition:
      quantities:
        # To be generated in the back end
        short_form:
          type: str

        long_form:
          type: str

        # Parameters to be given by the user
        composition_estimate:
          type:
            type_kind: Enum
            type_data:
              - 'Estimated from precursor solutions'
              - 'Literature value'
              - 'Estimated from XRD data'
              - 'Estimated from spectroscopic data'
              - 'Theoretical simulation'
              - 'Hypothetical compound'
              - 'Other'
          description: 
          m_annotations:
            eln:
              component: EnumEditQuantity 

        sample_type:
          type:
            type_kind: Enum
            type_data:
              - 'Polycrystalline film'
              - 'Single crystal'
              - 'Quantum dots'
              - 'Nano rods'
              - 'Colloidal solution'
              - 'Amorphous'
              - 'Other'
          description: 
          m_annotations:
            eln:
              component: EnumEditQuantity 

        dimensionality:
          type: 
            type_kind: Enum
            type_data:
              - '0D'
              - '1D'
              - '2D'
              - '2D/3D'
              - '3D'
              - 'Other'          
          description: The dimensionality of the perovskite, i.e. 3D, 2D, 1D (nanorods), quantum dots (0D), etc. 
          m_annotations:
            eln:
              component: EnumEditQuantity

        band_gap:
          type: float
          unit: eV
          shape: []
          description: Band gap of photoabsorber in eV. 
          m_annotations:
            eln:
              component: NumberEditQuantity 
              defaultDisplayUnit: eV              

      # Sub sections
      sub_sections:
        a_ions:
          section: '#/Ions'
          repeats: true

        b_ions:
          section: '#/Ions'
          repeats: true

        c_ions:
          section: '#/Ions'
          repeats: true                

        secondary_phases_impurities_and_dopants:
          section: '#/Materials_in_layer'
          repeats: true
    Ions:
      quantities:
        abbreviation:
          type: str
          shape: []
          description: The standard abbreviation of the ion. If the abbreviation is in the archive, additional data is complemented automatically
          m_annotations:
            eln:  
              component: StringEditQuantity

        coefficient:
          type: float
          shape: []
          description: The stoichiometric coefficient
          m_annotations:
            eln:
              component: NumberEditQuantity 

        # Here we could have one boolean filed asking if teh remainder of the ion data should be read for online source

        # Here we could give a text field asking for teh source of the ion data, but  with a predetermined default answer 

        common_name:
          type: str
          shape: []
          description: The common trade name of the ion
          m_annotations:
            eln:  
              component: StringEditQuantity

        molecular_formula:
          type: str
          shape: []
          description: The molecular formula
          m_annotations:
            eln:  
              component: StringEditQuantity

        smile:
          type: str
          shape: []
          description: The canonical SMILE string
          m_annotations:
            eln:  
              component: StringEditQuantity

        iupac_name:
          type: str
          shape: []
          description: The standard IUPAC name
          m_annotations:
            eln:  
              component: StringEditQuantity              

        cas_number:
          type: str
          shape: []
          description: The CAS number if available
          m_annotations:
            eln:  
              component: StringEditQuantity 

        source_compound_smile:
          type: str
          shape: []
          description: The canonical SMILE string
          m_annotations:
            eln:  
              component: StringEditQuantity

        source_compound_iupac_name:
          type: str
          shape: []
          description: The standard IUPAC name
          m_annotations:
            eln:  
              component: StringEditQuantity              

        source_compound_cas_number:
          type: str
          shape: []
          description: The CAS number if available
          m_annotations:
            eln:  
              component: StringEditQuantity