30const Float CONDUCTOR_LOSS_TAN_THRESHOLD = 10;
132 return std::sqrt(
mu() /
eps());
134 return std::sqrt((
J * two_pi *
f *
mu()) / (
J * two_pi *
f *
eps() +
sigma()));
145 {
return std::sqrt((-
J * two_pi *
f *
mu()) * (
J * two_pi *
f *
eps() +
sigma())); };
155 {
return std::real(two_pi /
k(
f)); };
164 {
return one / std::sqrt(
eps_eff(
f) *
mu()); };
173 {
return -one / std::imag(
k(
f)); };
182 {
return loss_tan(
f) > CONDUCTOR_LOSS_TAN_THRESHOLD; };
189 const Float sigma_ = 0;
217 {
return std::real(std::sqrt(
mu() /
eps())); };
225 {
return one / std::real(std::sqrt(
mu() *
eps())); };
257 {
return epsr_ *
eps0 * (one -
J * loss_tan_); };
281 {
return loss_tan_; };
296 const Float loss_tan_ = 0;
Class defining a material with a constant loss tangent and real permittivity and permeability.
ConstantLossTangentMaterial(const Float epsr=one, const Float mur=one, const Float loss_tan=0)
Constructs a ConstantLossTangentMaterial with given relative permittivity, relative permeability,...
Complex eps() const override
Returns the complex permittivity.
Complex eps_eff(const Float f) const override
Returns the complex permittivity.
Complex epsr() const override
Returns the complex relative permittivity.
Float loss_tan(const Float f) const override
Returns the loss tangent.
Float loss_tan() const
Returns the loss tangent.
Class defining a general material with a constant (zero or non-zero) electrical conductivity and real...
virtual Complex eta(const Float f) const
Returns the frequency-dependent complex wave impedance.
virtual Complex eps() const
Returns the permittivity.
virtual Float skin_depth(const Float f) const
Returns the frequency-dependent skin depth in the material.
virtual Complex k(const Float f) const
Returns the frequency-dependent complex wavenumber.
virtual Complex epsr_eff(const Float f) const
Returns the relative effective complex permittivity taking into account the electric conductivity.
virtual Complex eps_eff(const Float f) const
Returns the effective complex permittivity taking into account the electric conductivity.
virtual Complex c(const Float f) const
Returns the frequency-dependent wave velocity in the material.
virtual Complex mu() const
Returns the permeability.
virtual bool good_conductor(const Float f) const
Checks whether the material can be treated as a good conductor at a given frequency.
virtual Float sigma() const
Returns the electrical conductivity.
virtual Float wvl(const Float f) const
Returns the frequency-dependent wavelength in the material.
Material(const Complex epsr=one, const Complex mur=one, const Float sigma=0)
Constructs a Material with given relative permittivity, relative permeability, and electrical conduct...
virtual Complex epsr() const
Returns the relative permittivity.
virtual Complex mur() const
Returns the relative permeability.
virtual Float loss_tan(const Float f) const
Returns the frequency-dependent loss tangent.
Class defining a perfect lossless dielectric material.
PerfectDielectricMaterial(const Float epsr=one, const Float mur=one)
Constructs a PerfectDielectricMaterial with given relative permittivity and permeability.
Float c() const
Returns the wave velocity.
Float eta() const
Returns the wave impedance.
const Complex J
Imaginary unit.
const Float float_eps
Numerical infinitesimal.
const Float mu0
Vacuum permeability.
const Float eps0
Vacuum permittivity.
double Float
Floating point number.
std::complex< Float > Complex
Complex floating point number.
Eigen::Matrix< T, N, 1 > EigColVecN
Fixed-size column vector of size N containing type T.
Primary namespace for the OpenBEM library.