tidy3d.HammerstadSurfaceRoughness#

class HammerstadSurfaceRoughness[source]#

Bases: AbstractSurfaceRoughness

Modified Hammerstad surface roughness model. It’s a popular model that works well under 5 GHz for surface roughness below 2 micrometer RMS.

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().

  • rq (PositiveFloat) – [units = um]. RMS peak-to-valley height (Rq) of the surface roughness.

  • roughness_factor (ConstrainedFloatValue = 2.0) – Expected maximal increase in conductor losses due to roughness effect. Value 2 gives the classic Hammerstad equation.

Note

The power loss compared to smooth surface is described by:

1+(RF1)2πarctan(1.4Rq2δ2)

where δ is skin depth, Rq the RMS peak-to-vally height, and RF roughness factor.

Note

This model is based on:

Y. Shlepnev, C. Nwachukwu, “Roughness characterization for interconnect analysis”, 2011 IEEE International Symposium on Electromagnetic Compatibility, (DOI: 10.1109/ISEMC.2011.6038367), 2011.

V. Dmitriev-Zdorov, B. Simonovich, I. Kochikov, “A Causal Conductor Roughness Model and its Effect on Transmission Line Characteristics”, Signal Integrity Journal, 2018.

Attributes

Methods

roughness_correction_factor(frequency, ...)

Complex-valued roughness correction factor applied to surface impedance.

Inherited Common Usage

rq#
roughness_factor#
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.