25 : m_sigma(sigma), m_hurstParameter(hurstParameter), m_lateralCorrLength(lateralCorrLength)
27 setName(
"LayerBasicRoughness");
28 registerParameter(
"Sigma", &m_sigma);
29 registerParameter(
"Hurst", &m_hurstParameter);
30 registerParameter(
"CorrelationLength", &m_lateralCorrLength).setUnit(
"nm").setNonnegative();
45 double H = m_hurstParameter;
46 double clength2 = m_lateralCorrLength * m_lateralCorrLength;
47 double Qpar2 = kvec.
x() * kvec.
x() + kvec.
y() * kvec.
y();
48 return 4.0 * M_PI * H * m_sigma * m_sigma * clength2
49 * std::pow((1.0 + Qpar2 * clength2), (-1 - H));
56 double H = m_hurstParameter;
57 double clength = m_lateralCorrLength;
58 double R = sqrt(k.
x() * k.
x() + k.
y() * k.
y());
59 return m_sigma * m_sigma * std::exp(-1.0 * std::pow(R / clength, 2. * H));
Defines class LayerRoughness.
Defines M_PI and some more mathematical constants.
Defines class RealParameter.
T y() const
Returns y-component in cartesian coordinate system.
T x() const
Returns x-component in cartesian coordinate system.
A roughness of interface between two layers.
double getSpectralFun(const kvector_t kvec) const
Returns power spectral density of the surface roughness.
LayerRoughness(double sigma, double hurstParameter, double lateralCorrLength)
Constructor of layer roughness.
double getCorrFun(const kvector_t k) const
Correlation function of the roughness profile.