tidy3d.IsothermalSSACAnalysis

tidy3d.IsothermalSSACAnalysis#

class IsothermalSSACAnalysis[source]#

Bases: IsothermalSteadyChargeDCAnalysis, AbstractSSACAnalysis

Configures Isothermal 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.

  • temperature (PositiveFloat = 300) – [units = K]. Lattice temperature. Assumed constant throughout the device. Carriers are assumed to be at thermodynamic equilibrium with the lattice.

Notes

This analysis class provides an interface for SSAC analysis.

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.IsothermalSSACAnalysis(freqs=sweep_freqs)

Attributes

temperature

tolerance_settings

convergence_dv

fermi_dirac

freqs

at_voltages