nomad-hzb / hzb-combinatorial-libraries-plugin

Apache License 2.0
0 stars 0 forks source link

Add Pixel #1

Closed yaruwangway closed 3 months ago

yaruwangway commented 5 months ago

@fabianschoeppach thank you for contributing ! @RoteKekse , can you please add @fabianschoeppach to this repo as well ? thanks

Pepe-Marquez commented 3 months ago

Data Analysis Notebook

This is how I think the notebook should be structured. It should also become an analysis-type entry as the ones deployed in the NOMAD example Oasis. Look for example for ELNGenericJupyterAnalysis where a user can define the inputs in the ELN and upon saving the notebook will generate the API calls automatically in the first section. This would be good to track the analysis to create the properties, link them to the input Library and Measurements entries and also reference the created pixel entries. We can derive a ELNLibraryAnalysis that is way more specialized and an intuitive injection of all the predefined code.

1. Fetch Data

Code to fetch and preprocess your data. This could be done automatically with API calls if the notebook is created like the Standard Jupyter Analysis after selecting the reference inputs.

2. Measurement Analysis

Each measurement section will derive the necessary properties and parameters, including 2D plots to visualize them as a function of x and y positions. Where applicable, interpolate the 2D space.

2.1 XRF

Collect the composition data and plot them as a function of x and y for every element in the absorber layer. Include the thickness in these plots as well.

2.2 Conductivity

Derive the conductivity and resistivity if thickness values are available from the XRF section. Plot the results as a function of x and y positions. Also, log the sheet_resistance.

2.3 Absorptivity

  1. Derive the bandgap_energy (Eg) from the inflection point.
  2. Calculate the absorbed_photon_flux_for_one_sun_conditions by integrating the product of the absorptivity with the AM1.5GT solar spectrum. This is similar to the EQE analysis. Additionally, calculate the integral of the AM1.5GT from the bandgap_energy (step function assumptions). This leads to the shockley_queisser_short_circuit_current.
  3. Derive the implied short circuit current by integrating the product of the AM1.5GT solar spectrum.
  4. Plot all derived properties as a function of x and y positions and interpolate the 2D spaces.

2.4 Photoluminescence (PL)

  1. Calculate the peak_emission_energy and the FWHM (full width at half maximum) assuming a single peak and using a fitting function. This might need to be specified in the quantity description.
  2. Calculate the one_sun_equivalent_absorbed_photon_flux for a given bandgap (under Shockley-Queisser assumptions) by integrating the AM1.5GT spectrum (in photon flux units) from the bandgap of the material towards higher energies. This value is obtained from the absorptivity section.
  3. Divide the absorbed photon flux from the laser in the PL measurement by the 1 sun equivalent absorbed photon flux to calculate excitation_equivalent_suns.
  4. Calculate the photoluminescence_quantum_yield using the ratio of the emission's integrals (time normalization) versus the absorbed flux. This property should range from 0 to 1, not logged as a percentage.
  5. Calculate the implied_open_circuit_voltage (i-Voc). To compare meaningfully to 1 sun condition, calculate the property pl_suns, which logs the relative intensity to 1 sun condition for a given bandgap. For this, you need the absorbed_photon_flux for a given bandgap from the Absorptivity section.

2.5 Time-Resolved Photoluminescence (TRPL)

Analyze the TRPL data to derive relevant properties and parameters. Plot the results as a function of x and y positions.

3. Create Pixels

This section should contain functions and perhaps plots to define the extrapolation grid for the pixels. Then it should put all the data organized together and write out the pixel entries. If use an (Analysis) type of entry to register this notebook, log the pixel entry references in the outputs. This will allow us to track how the pixel and properties have been calculated and how they also reference the input data.

@yaruwangway @RoteKekse. Let's discuss this further if you want or if you do not understand what I mean. I will try to find time to go through the PR.