18 #include <Eigen/Dense>
25 std::pair<complex_t, complex_t>
30 const double sigeff =
pi2_15 * sigma;
34 const complex_t inv_roughness = 1.0 / roughness;
35 const complex_t kz_ratio = kzi1 / kzi * roughness;
37 const complex_t a00 = 0.5 * (inv_roughness + kz_ratio);
38 const complex_t a01 = 0.5 * (inv_roughness - kz_ratio);
std::complex< double > complex_t
Defines M_PI and some more mathematical constants.
Defines namespace MathFunctions.
Defines class SpecularScalarTanhStrategy.
virtual std::pair< complex_t, complex_t > transition(complex_t kzi, complex_t kzi1, double sigma) const override
Roughness is modelled by tanh profile [see e.g. Phys. Rev. B, vol. 47 (8), p. 4385 (1993)].
complex_t tanhc(const complex_t z)
Complex tanhc function: .