jaxlayerlumos.utils_effective_medium
Effective medium approximation utilities for two-material mixtures.
- jaxlayerlumos.utils_effective_medium._get_bruggeman_eps(eps1, eps2, f1, f2)
- jaxlayerlumos.utils_effective_medium._get_effective_eps_mu(eps1, eps2, f1, method)
- jaxlayerlumos.utils_effective_medium._get_fraction_broadcast_to_v(f1, v)
- jaxlayerlumos.utils_effective_medium._get_material_eps(material1, material2, v)
- jaxlayerlumos.utils_effective_medium._get_maxwell_garnett_eps(eps1, eps2, f1)
- jaxlayerlumos.utils_effective_medium._validate_effective_medium_method(method)
- jaxlayerlumos.utils_effective_medium.get_effective_medium(material1, material2, f1, v, method='linear')
Return effective permittivity and permeability for a two-material mixture.
- Parameters:
material1 (str) – Name of material 1 in the JaxLayerLumos material database.
material2 (str) – Name of material 2 in the JaxLayerLumos material database.
f1 – Volume fraction of material1. May be scalar or broadcastable to v.
v (jnp.ndarray) – Frequency vector in Hz with shape (n_frequencies,).
method (str) – One of “linear”, “Maxwell-Garnett”, or “Bruggeman”.
- Returns:
Effective relative permittivity and permeability arrays with shape matching v.
- Return type:
tuple[jnp.ndarray, jnp.ndarray]
- jaxlayerlumos.utils_effective_medium.get_graded_effective_medium(material1, material2, v, num_graded_layers=10, method='linear', graded_method='linear', beta=3.0)
Return EMA layers whose fractions come from the graded layer utility.
The graded layer utility returns material2 fractions, so this function uses f2 = ratio and f1 = 1 - ratio for a material1-to-material2 transition.
- Parameters:
material1 (str) – Name of material 1 in the JaxLayerLumos material database.
material2 (str) – Name of material 2 in the JaxLayerLumos material database.
v (jnp.ndarray) – Frequency vector in Hz with shape (n_frequencies,).
num_graded_layers (int) – Number of true intermediate EMA layers.
method (str) – EMA method. One of “linear”, “Maxwell-Garnett”, or “Bruggeman”.
graded_method (str) – Fraction profile from utils_graded_layers. One of “linear”, “sine”, or “exponential”.
beta (float) – Exponential steepness for graded_method=”exponential”.
- Returns:
Effective relative permittivity and permeability arrays with shape (n_frequencies, num_graded_layers).
- Return type:
tuple[jnp.ndarray, jnp.ndarray]