differt.em.Material#
- class Material(name, properties, thickness=None, aliases=())[source]#
Bases:
ModuleA class representing a material and it electrical properties.
Attributes
A tuple of name aliases for the material.
The thickness of the material.
The name of the material.
The callable that computes the electrical properties of the material at the given frequency.
Methods
conductivity(frequency)Compute the conductivity of the material at the given frequency.
from_itu_properties(name, *itu_properties)Create a material from ITU properties.
relative_permittivity(frequency)Compute the relative permittivity of the material at the given frequency.
Detailed documentation
- conductivity(frequency)[source]#
Compute the conductivity of the material at the given frequency.
- Parameters:
frequency (
Float[ArrayLike, '*batch']) – The frequency at which to compute the conductivity.- Return type:
- Returns:
The conductivity of the material.
- classmethod from_itu_properties(name, *itu_properties)[source]#
Create a material from ITU properties.
The ITU-R Recommendation P.2040-3 [14] defines the electrical properties of a material using 4 real-valued coefficients: a, b, c, and c. The
materialsmapping is already populated with values from [14, Tab. 3].- Parameters:
name (
str) – The name of the material.itu_properties (
tuple[Float[ArrayLike, ''],Float[ArrayLike, ''],Float[ArrayLike, ''],Float[ArrayLike, ''],tuple[Float[ArrayLike, ''],Float[ArrayLike, '']] |None]) –The list of material properties and corresponding frequency range.
Each tuple must contain:
a (
Float[ArrayLike, '']): The first coefficient for the real part of the relative permittivity.b (
Float[ArrayLike, '']): The second coefficient for the real part of the relative permittivity.c (
Float[ArrayLike, '']): The first coefficient for the conductivity.d (
Float[ArrayLike, '']): The second coefficient for the conductivity.frequency_range (
tuple[Float[ArrayLike, ''],Float[ArrayLike, '']]): The frequency range (in GHz) for which the electrical properties are assumed to be correct.This parameter must either be an ordered 2-tuple of min. and max. frequencies, or can be
None, in which case only one frequency range is allowed as it will match all frequencies.
- Return type:
Self- Returns:
A new material.
- Raises:
ValueError – If you passed more than one frequency range and at least one was
None.
-
properties:
Callable[[Float[ArrayLike, '*batch']],tuple[Float[Array, '*batch'],Float[Array, '*batch']]]# The callable that computes the electrical properties of the material at the given frequency.
The signature of the callable must be as follows.
- Parameters:
frequency – The frequency at which to compute the electrical properties.
- Returns:
A tuple containing the relative permittivity and conductivity of the material.
- relative_permittivity(frequency)[source]#
Compute the relative permittivity of the material at the given frequency.
- Parameters:
frequency (
Float[ArrayLike, '*batch']) – The frequency at which to compute the relative permittivity.- Return type:
- Returns:
The relative permittivity of the material.
-
thickness:
Float[ArrayLike, '']|None= None# The thickness of the material.