Skip to content

Conversation

@damiano-flex
Copy link
Contributor

This notebook is a simple SSAC example. It is straight to the point, without excessive explanations, since it will be quite close to the PIN notebook in terms of new functionalities (other than SSAC).

@damiano-flex damiano-flex force-pushed the damiano/ssac_analysis branch from c6c21da to 2da5b1e Compare October 15, 2025 12:11
Copy link
Contributor

@alec-flexcompute alec-flexcompute left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice job @damiano-flex! This is a very informative example. A couple comments:

  1. In the library import cell, you have a "# TODO REMOVE" comment there. I'm guessing you should remove the run_heat import?

  2. Same thing in the cell after "Run the Simulation" - remove the "TOREMOVE" comment

  3. When discussing the physical interpretation of results, remind us what W is.

  4. In the conclusion, "Desigend -> Designed"

  5. Please reset the kernel and rerun all cells so the cell numbers are in order.

@damiano-flex
Copy link
Contributor Author

Thank you @alec-flexcompute for the prompt review.

1-2-5) Since these simulations are quite expensive to run, I wait till the last moment to run them in the servers. So I keep the version with the local runner until it is ready to merge.

3-4) Ops. I'll take care of that.

@alec-flexcompute
Copy link
Contributor

Also should ruff this notebook so it will pass the lint checks

@momchil-flex
Copy link
Collaborator

Thanks @damiano-flex ! Ran this by Gemini and it has an interesting suggestion: compare to DC theoretical capacitance

# Theoretical capacitance calculation
eps0 = 8.854e-18  # F/µm
eps_si = 11.7
area = device_width * device_depth  # µm^2
width = i_thickness  # µm

C_theoretical = (eps0 * eps_si * area) / width  # in Farads
C_theoretical_pF = C_theoretical * 1e12  # in pF

# Add this to your capacitance plot
ax2.axhline(y=C_theoretical_pF, color='k', linestyle='--', label=f'Theoretical C ({C_theoretical_pF:.2f} pF)')
ax2.legend()

Some other comments:

  • I would suggest using max width of 10 for the plots (e.g. figsize=(10, ...)). Maybe a bit of a personal preference but I find that they get too stretched and the tick labels get too small.
  • Maybe discuss this a bit more in the markdown and not just in the comment. Like what units ac_current is returned in.
# Note: For 2D simulations, multiply by device depth to get total current
device_depth = 50  # µm (assuming device extends 50 µm in z-direction)
I_ac = ac_current.sel(v=bias_voltage).values * device_depth

@daquinteroflex
Copy link
Collaborator

daquinteroflex commented Oct 16, 2025

Thanks @damiano-flex looks very good, just a few thoughts on a first pass

  • Normally we add a warning of the estimated about of flexcredits at the top of the notebook, can you add this? Do you have an estimated time for our own internal reference?
  • Is it worth reusing or slightly modifying a diagram from the charge notebook? Same setup?
  • How do you normally do the thumbnail illustration @tomflexcompute ?
  • Is it worth also illustrating how the frequency domain result changes at different bias voltages / depletion amounts ie something like [ 2V, 4V...]? So basically multiple bias voltage lines in your bode plot? Maybe you can warn on the amount of flexcredits for that specific analysis?
  • Is it worth demonstrating why/ to what extent the small perturbation can change the frequency response? So like say +-0.1V perturbation around 1V might be interesting maybe?

Out of curiosity can't remember if we can also support electroabsorption as well so say around +0.7V rather than just depletion?

@momchil-flex
Copy link
Collaborator

  • Normally we add a warning of the estimated about of flexcredits at the top of the notebook, can you add this? Do you have an estimated time for our own internal reference?

We haven't been very consistent about this - and the original idea was to add the warning only if it's more than 1FC. And the charge solver is currently always charged at the minimum cost of 0.025FC.

@tomflexcompute
Copy link
Contributor

@damiano-flex please edit the corresponding rst file (docs/case_studies/pic_active.rst I assume?) and notebook metadata (following instructions here).

Could you prepare a schematic thumbnail for the notebook? I can prepare one for you if you prefer.

Copy link
Contributor

@marc-flex marc-flex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @damiano-flex for preparing this. It looks great!

Some comments:

  • You're saying that you're running a reverse bias because this creates a strong field and reduces dark current (in the BC section). Note that dark current increases with high electric field so I'm not sure that point is necessarily true.
  • In physical interpretation you're saying that the intrinsic region is fully depleted. Maybe this is a bit ambiguous language (i.e., what do you mean completely depleted? No electrons/holes in this region?).
  • Also, in that same line, you're saying W is approximately equal to the intrinsic layer. What is W? Is it related an equation? If so, what equation? Also, if there's an equation maybe you could also compare what the result using that equation would be an compare
  • I'd remove the visualization of the DC solution? It doesn't seem to add much value
  • So far you have demonstrated the effect of frequency on conductance/capacitance.It'd also be interesting to compare capacitance/conductance at two different bias levels to check the effect of bias over those parameters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants