Open hampusnasstrom opened 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
PerovskiteIon(PureSubstance)
entity with properties from Jesper's schemaPerovskiteIonA
,PerovskiteIonB
, andPerovskiteIonC
PerovskiteComposition(CompositeSystem)
entity that contains references to theIon
entitiesimpurities = subsection(section_def=Component)
Ion
entities from excel file (most importantly import once from existing excel file)PerovskiteCompositon
as ajson
with the ion references resolved in place and the nomad specific information removedPerovskiteComposition
andIon
entities and uses the function above to export themLater:
PerovskiteSolarCell.perovskite
subsection withPerovskiteComposition