qiskit-community / qiskit-metal

Quantum Hardware Design. Open-source project for engineers and scientists to design superconducting quantum devices with ease.
https://qiskit-community.github.io/qiskit-metal/
Apache License 2.0
276 stars 205 forks source link

Requirement of 3D junctions in Gmsh renderer #842

Closed AbeerVaishnav13 closed 1 year ago

AbeerVaishnav13 commented 2 years ago

Please be as descriptive as possible, including: what is expected, why is this feature needed, what is the objective, etc.

What is the feature being requested?

Gmsh renderer does not render the junctions properly for now as there's an issue with having a 2D rectangle for representing the josephson junction within the 3D mesh. Meshing fails when the junction surfaces are fragmented from the vacuum_box. This requires us to extend the junction also to 3D.

This issue is mentioned in the code. Just search for #842 in the code in file renderers/renderer_gmsh/gmsh_renderer.py to go the location.

Enhancement to PR --> #815

What are use cases for this feature?

Think about how this can be done, and how the boundary conditions will have to assigned in Elmer to enable having the junction as a 3D box instead of a 3D sheet.

Some in-depth discussion of the problem

This issue needs to be fixed before we can go ahead with having eigenmode simulations in ElmerFEM, as it is necessary to have the junction fragmented in the vacuum_box for it to act as an inductance. The problem is that since the junction is 2D, when we fragment it with the 3D vacuum_box, it gets embedded into the volume. However, since it's a 2D sheet, the 2D mesh that is generated on the both the sides of the 2D sheet has duplicated nodes, which give a problem when extending the mesh to 3D. Therefore, we need to figure out how to get rid of this problem, or if possible make the junction 3D instead of 2D.

AbeerVaishnav13 commented 1 year ago

While working on issue #846 , I realised that by changing the fragment_interfaces method to accommodate for thickness=0, we can use 2D junctions as well. Now, once the PR #854 gets merged, the user should be able to use 2D junctions normally for example to do eigenmode simulation in a FEM solver.