tidy3d.SSACAnalysis

Contents

tidy3d.SSACAnalysis#

class SSACAnalysis[source]#

Bases: SteadyChargeDCAnalysis, AbstractSSACAnalysis

Configures Small-Signal AC (SSAC) analysis parameters for charge simulation.

Parameters:
  • freqs (ArrayLike[dtype=float, ndim=1]) – [units = Hz]. List of frequencies for small signal AC analysis. At least one SSACVoltageSource must be present in the boundary conditions.

  • at_voltages (Optional[ArrayLike[dtype=float, ndim=1]] = None) – [units = V]. DC operating point voltages at which SSAC is run. If None, SSAC runs only at the last configured DC voltage. Pass an explicit array (a subset of the DC sweep) to select specific bias points. This bias-point selection is only supported by the GPU accelerated charge solver; with the CPU charge solver, leave this as None.

  • tolerance_settings (ChargeToleranceSpec = ChargeToleranceSpec()) – Charge tolerance parameters relevant to multiple simulation analysis types.

  • convergence_dv (PositiveFloat = 1.0) – Maximum bias step used to aid convergence in DC computations. The accelerated solver applies it only to multi-voltage sweeps: where the gap between consecutive sweep voltages exceeds convergence_dv, intermediate warm-start bias points are inserted (and excluded from the output); a single-voltage simulation is solved directly. The legacy solver instead ramps every requested bias from 0 in convergence_dv increments.

  • fermi_dirac (bool = False) – Determines whether Fermi-Dirac statistics are used. When False, Boltzmann statistics will be used. This can provide more accurate results in situations where very high doping may lead the pseudo-Fermi energy level to approach either the conduction or valence energy bands.

Examples

>>> import tidy3d as td
>>> freq_range = td.FreqRange.from_freq_interval(1e3, 1e6)
>>> sweep_freqs = freq_range.sweep_decade(num_points_per_decade=10)
>>> ssac_spec = td.SSACAnalysis(freqs=sweep_freqs)

Attributes

tolerance_settings

convergence_dv

fermi_dirac

freqs

at_voltages