Skip to content

Implement model of growing roughness (#969)

Mikhail Svechnikov requested to merge m.i969a into main
  1. Adds linear growth model to BA.

image

  1. Roughness spectrum and rms are not the local properties of the interface anymore. The whole underlying structure is needed to compute interface properties. That is why methods layerInterfaceSpectrum(...) and layerInterfaceRMS() now belong to class Multilayer.

  2. SpatialFrequencyCrosscorrelation model now uses expression

spectrum_i_k = sqrt(spectrum_i * spectrum_k)

for crosscorrelated spectrum, instead of the old

spectrum_i_k = 0.5* (rms_k/rms_i * spectrum_i + rms_i/rms_k * spectrum_k)

The latter expression is not self-consistent and may lead to small negative scattered intensity under certain conditions.

The new model obeys the following general relation which is also a criterion for the proper model:

---------
--------- i
---------
---------
--------- j
---------
---------
--------- k
---------

spectrum_i_k = spectrum_i_j * spectrum_j_k / spectrum_j
  1. Roughness rms is retrieved now by methods with rms in their name. Sigma is unwanted for this role, because for the cut spectrum the sigma parameter of K-correlation model does not correspond the full rms.

Resolves #969 (closed)

Edited by Mikhail Svechnikov

Merge request reports