FAIRmat-NFDI / data-modeling

3 stars 1 forks source link

dispersion base class for ellipsometry #61

Closed sanbrock closed 1 year ago

tomio13 commented 1 year ago

An interesting question. In our VASE system this is basically:

So, such things could be addressed in this definition.

domna commented 1 year ago

Yes, I actually split the dispersion of into two parts: tabulated (n,k or epsilon vs. wavelength/energy) and function (for Cauchy, Lorentz and others). My plan is to construct this dispersions only as extracted values, hence they are either tabulated or a function and can be attached to the measurement as a NXprocess. The idea is to store the model from a measurement in this NXprocess (I could also think of a PseudoDielectric Dispersion if it is calculated directly from an absorptive substrate - but I think even in this case it is better to construct an optical model and tmm calculation).

I also allow adding multiple models together (e.g. a model could be a combination of Cauchy + Lorentz let's say, which makes not sense for all combinations) and the basic building block I called DispersiveMaterial, which can hold up to three dispersions (from which two are optional) account for biaxial materials. I'm just writing up the basic structure as an nxdl yaml and probably will push it today so I'd be happy if you'd take a look then (I will link the PR here).

domna commented 1 year ago

@tomio13 You can find the draft here: #68

Note that there is also an application definition for NXdispersive_material, which for measurements should be in NXprocess (along with layering, roughness and intermixtures). However, it is here as an application definition to be filled from dispersion databases like refractiveindex.info. So I do not consider this complete to represent an optical model from an experiment but rather as a container for a single layer and theoretical representation for database values to build a search on such values.