Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TCAD improvements #713

Closed
3 of 10 tasks
simbilod opened this issue Sep 15, 2022 · 8 comments
Closed
3 of 10 tasks

TCAD improvements #713

simbilod opened this issue Sep 15, 2022 · 8 comments
Labels
enhancement New feature or request

Comments

@simbilod
Copy link
Collaborator

simbilod commented Sep 15, 2022

This issue tracks current limitations to TCAD simulations and possible improvements.

The PIN waveguide solver is a good start to combining gdsfactory with semiconductor solvers, and is OK to get order-of-magnitude estimates in a reverse-bias regime where there is little current flowing. However more needs to be done to increase usability:

  1. Improved physics

Currently DEVSIM is used by loading the "simple_physics" from the base package. This only considers constant mobility, and simple SRH recombination. We can make our own modeling:

  • Quasi Fermi levels with Boltzmann statistics
  • Arora mobility (charged impurity scattering)
  • Caughey Thomas mobility (velocity saturation)
  • Add avalanche breakdown
  • Add hydrodynamic models
  • Add local temperature effects
  • Add surface mobility models
  1. Generate simulation from components
  • Generate a basic 2D FEM mesh from a gdsfactory cross_section
  • Implement adaptive mesh refinements
  • Generate a 3D FEM mesh from a gdsfactory components
  1. Improved doping profiles

Until we have a process simulator that can model implantation and annealing, we could get slightly better doping models by assuming distributions (Gaussians, Pearsons) instead of sharp interfaces.

  • Add analytical expressions for implantation profiles as a function of depth in terms of implant energy, using tables for depth and straggle
@simbilod simbilod added the enhancement New feature or request label Sep 15, 2022
@simbilod
Copy link
Collaborator Author

2a addressed in #729

@smartalecH
Copy link
Contributor

I'm interested in helping with this. I'll reach out once I get more bandwidth.

@simbilod
Copy link
Collaborator Author

2c begun addressing in #745

@simbilod simbilod mentioned this issue Sep 30, 2022
6 tasks
@tcaduser
Copy link

tcaduser commented Oct 9, 2022

There are some @devsim implementations for the TCAD models listed. However, it would require additional work to get them packaged together.

This issue tracks current limitations to TCAD simulations and possible improvements.

The PIN waveguide solver is a good start to combining gdsfactory with semiconductor solvers, and is OK to get order-of-magnitude estimates in a reverse-bias regime where there is little current flowing. However more needs to be done to increase usability:

  1. Improved physics

For low current situations, extended precision 128-bit precision is available in devsim. Mesh refinement may be able to help this as well.

Currently DEVSIM is used by loading the "simple_physics" from the base package. This only considers constant mobility, and simple SRH recombination. We can make our own modeling:

A @devsim user has contributed a sample implementation here:
https://forum.devsim.org/t/avalanche-breakdown/26

  • Add hydrodynamic models
  • Add local temperature effects
  • Add surface mobility models

A MOSFET surface mobility model implementation is packaged here:
https://github.com/devsim/devsim_3dmos

  1. Generate simulation from components
  • Generate a basic 2D FEM mesh from a gdsfactory cross_section
  • Implement adaptive mesh refinements

A mesh refinement approach with respect to 2d simulation and Gmsh is packaged here:
https://github.com/devsim/devsim_misc/tree/main/refinement

Using a commercial mesher (commercial version of Cubit), a refinement strategy was implemented for the devsim_3dmos project above.

  • Generate a 3D FEM mesh from a gdsfactory components
  1. Improved doping profiles

Until we have a process simulator that can model implantation and annealing, we could get slightly better doping models by assuming distributions (Gaussians, Pearsons) instead of sharp interfaces.

1D numerical profiles where used for doping in the devsim_3dmos example above.

For analytical profiles, the erf and erfc functions are available. In addition, arbitrary functions can be added using this command.

https://devsim.net/CommandReference.html#devsim.register_function

  • Add analytical expressions for implantation profiles as a function of depth in terms of implant energy, using tables for depth and straggle

@simbilod
Copy link
Collaborator Author

Thank you @tcaduser , this is very helpful! I'm currently reworking the meshing because I was not happy with my initial implementation.

The goal is to programmatically be able to generate GMSH 3D volumetric meshes (or 2D cross-section) from gdsfactory components (so a GDS) and a gdsfactory layerstack. Then I want it to be easy to pass the various volumes and interfaces to a FEM solver like DEVSIM. Maybe it's something your users over at the DEVSIM forums might find useful when I get it working.

@simbilod
Copy link
Collaborator Author

simbilod commented Nov 8, 2022

I am now satisfied with automated 2D meshing, see #826

I have started porting the technique to 3D, and integrating DEVSIM more seamlessly

@simbilod
Copy link
Collaborator Author

simbilod commented Jan 4, 2023

Meshing has seen a lot of progress, see #1065 and #1074

@joamatab
Copy link
Contributor

closing this

feel free to reopen it in https://github.com/gdsfactory/gplugins

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants