tidy3d.HuraySurfaceRoughness#

class HuraySurfaceRoughness[source]#

Bases: AbstractSurfaceRoughness

Huray surface roughness model.

Parameters:
  • attrs (dict = {}) – Dictionary storing arbitrary metadata for a Tidy3D object. This dictionary can be freely used by the user for storing data without affecting the operation of Tidy3D as it is not used internally. Note that, unlike regular Tidy3D fields, attrs are mutable. For example, the following is allowed for setting an attr obj.attrs['foo'] = bar. Also note that Tidy3D` will raise a TypeError if attrs contain objects that can not be serialized. One can check if attrs are serializable by calling obj.json().

  • relative_area (PositiveFloat = 1) – Relative area of the matte base compared to a flat surface

  • coeffs (Tuple[Tuple[pydantic.v1.types.PositiveFloat, pydantic.v1.types.PositiveFloat], ...]) – [units = (None, um)]. List of (fi,ri) values for model, where fi is the ratio of total sphere surface area to the flat surface area, and ri the radius of the sphere.

Note

The power loss compared to smooth surface is described by:

AmatteAflat+32ifi/[1+δri+δ22ri2]

where δ is skin depth, ri the radius of sphere, AmatteAflat the relative area of the matte compared to flat surface, and fi=Ni4πri2/Aflat the ratio of total sphere surface area (number of spheres Ni times the individual sphere surface area) to the flat surface area.

Note

This model is based on:

  1. Eric Bracken, “A Causal Huray Model for Surface Roughness”, DesignCon, 2012.

Attributes

Methods

from_cannonball_huray(radius)

Construct a Cannonball-Huray model.

roughness_correction_factor(frequency, ...)

Complex-valued roughness correction factor applied to surface impedance.

Inherited Common Usage

relative_area#
coeffs#
classmethod from_cannonball_huray(radius)[source]#

Construct a Cannonball-Huray model.

Note

The power loss compared to smooth surface is described by:

1+7π311+δr+δ22r2
Parameters:

radius (float) – Radius of the sphere.

Returns:

The Huray surface roughness model.

Return type:

HuraySurfaceRoughness

roughness_correction_factor(frequency, skin_depths)[source]#

Complex-valued roughness correction factor applied to surface impedance.

Notes

The roughness correction factor should be causal. It is multiplied to the surface impedance of the lossy metal to account for the effects of surface roughness.

Parameters:
  • frequency (ArrayFloat1D) – Frequency to evaluate roughness correction factor at (Hz).

  • skin_depths (ArrayFloat1D) – Skin depths of the lossy metal that is frequency-dependent.

Returns:

The causal roughness correction factor evaluated at frequency.

Return type:

ArrayComplex1D

__hash__()#

Hash method.