Skip to content

Commit

Permalink
Merge pull request #38 from qnngroup/hierarchy
Browse files Browse the repository at this point in the history
Hierarchy
  • Loading branch information
audrey01mit authored Apr 22, 2024
2 parents cdfc033 + 5f35ad6 commit ef1cb55
Show file tree
Hide file tree
Showing 63 changed files with 1,734 additions and 1,595 deletions.
21 changes: 8 additions & 13 deletions docs/dev/contribute.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,16 @@ Be careful, make sure the branch you are working on does **not** start with
0. What and where to add
------------------------

* New **test structures** (alignment marks, vdp...) and new **geometries**
(hyper taper...) go to ``geometries``.
* New **devices** (ntron, htron, snspd...) go to ``devices``.
* New **circuits** (logic gates, counter, any kinf of circuit made of
devices...) go to ``circuits``.
* New **design tools** (functions useful for building designs) go to
``utilities``.
* New **cells** (made of circuits integrated with utilities tools) go to
``design``.
Before contributing to the package, make sure its structure and organization are
clear to you. The contributions should go in the same direction as how the
package was though in terms of hierarchy. If you are already a user of the
package, the contribution should be quite straighforward; otherwise, please
first refer to `qnngds user's documentation
<https://qnngds.readthedocs.io/en/latest/>`_, you can also check the `tutorials
<https://qnngds.readthedocs.io/en/latest/tutorials.html>`_.

.. todo::
Reorganize design.

.. todo::
Once design is reorganized, send the contributors to the tuto ``creating
Send the contributors to the tuto ``creating
your cell``. This is what every contributor should ideally go through when
adding a new circuit to the package.

Expand Down
7 changes: 0 additions & 7 deletions docs/dev/develop.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,6 @@ qnngds documentation (for users), as described :ref:`above<rtd version in
qnngds>`. Every new branch will generate a new version of the documentation
(except a branch that starts with "dev").

.. warning::
Some files useful for automating the documentation are not fully modular. For
example, if the qnngds modules were to change names or some were to be
added/deleted, you would also need to manually update them in
``generate_api.py`` and ``api.rst``. Modifying the package structure
should be taken with great care.

As a **developer**, if you have precisions/modifications to bring to the
qnngds-dev documentation (for contributors and developpers), you will need to
create a branch which name starts with ``dev``.
Expand Down
211 changes: 135 additions & 76 deletions docs/user/api.rst
Original file line number Diff line number Diff line change
@@ -1,50 +1,52 @@
API
===

Devices
-------
.. _Cells:
Cells
-----

.. automodule:: qnngds.devices
.. automodule:: qnngds.cells
:members:
:exclude-members: nanowire, ntron, ntron_compassPorts, ntron_sharp, resistor_meander, resistor_sc_contacts, snspd_vert
:exclude-members: alignment, etch_test, nanowires, ntron, resolution_test, snspd_ntron, vdp
:undoc-members:
:show-inheritance:

.. autofunction:: nanowire
.. autofunction:: alignment

.. image:: images/devices/nanowire.png
:alt: nanowire.png
.. image:: images/cells/alignment.png
:alt: alignment.png

.. autofunction:: ntron
.. autofunction:: etch_test

.. image:: images/devices/ntron.png
:alt: ntron.png
.. image:: images/cells/etch_test.png
:alt: etch_test.png

.. autofunction:: ntron_compassPorts
.. autofunction:: nanowires

.. image:: images/devices/ntron_compassPorts.png
:alt: ntron_compassPorts.png
.. image:: images/cells/nanowires.png
:alt: nanowires.png

.. autofunction:: ntron_sharp
.. autofunction:: ntron

.. image:: images/devices/ntron_sharp.png
:alt: ntron_sharp.png
.. image:: images/cells/ntron.png
:alt: ntron.png

.. autofunction:: resistor_meander
.. autofunction:: resolution_test

.. image:: images/devices/resistor_meander.png
:alt: resistor_meander.png
.. image:: images/cells/resolution_test.png
:alt: resolution_test.png

.. autofunction:: resistor_sc_contacts
.. autofunction:: snspd_ntron

.. image:: images/devices/resistor_sc_contacts.png
:alt: resistor_sc_contacts.png
.. image:: images/cells/snspd_ntron.png
:alt: snspd_ntron.png

.. autofunction:: snspd_vert
.. autofunction:: vdp

.. image:: images/devices/snspd_vert.png
:alt: snspd_vert.png
.. image:: images/cells/vdp.png
:alt: vdp.png

.. _Circuits:
Circuits
--------

Expand All @@ -59,95 +61,152 @@ Circuits
.. image:: images/circuits/snspd_ntron.png
:alt: snspd_ntron.png

Geometries
----------
.. _Design:
Design
------

.. automodule:: qnngds.geometries
.. automodule:: qnngds.design
:members:
:exclude-members: alignment_mark, hyper_taper, resolution_test
:exclude-members: create_chip
:undoc-members:
:show-inheritance:

.. autofunction:: alignment_mark
.. autofunction:: create_chip

.. image:: images/geometries/alignment_mark.png
:alt: alignment_mark.png
.. image:: images/design/create_chip.png
:alt: create_chip.png

.. autofunction:: hyper_taper
.. _Devices:
Devices
-------

.. image:: images/geometries/hyper_taper.png
:alt: hyper_taper.png
htron
~~~~~

.. autofunction:: resolution_test
.. automodule:: qnngds.devices.htron
:members:
:exclude-members:
:undoc-members:
:show-inheritance:

.. image:: images/geometries/resolution_test.png
:alt: resolution_test.png
nanowire
~~~~~~~~

Utilities
---------
.. automodule:: qnngds.devices.nanowire
:members:
:exclude-members: spot
:undoc-members:
:show-inheritance:

.. automodule:: qnngds.utilities
.. autofunction:: spot

.. image:: images/devices/nanowire/spot.png
:alt: spot.png

ntron
~~~~~

.. automodule:: qnngds.devices.ntron
:members:
:exclude-members: die_cell
:exclude-members: sharp, smooth, smooth_compassPorts
:undoc-members:
:show-inheritance:

.. autofunction:: die_cell
.. autofunction:: sharp

.. image:: images/utilities/die_cell.png
:alt: die_cell.png
.. image:: images/devices/ntron/sharp.png
:alt: sharp.png

Design
------
.. autofunction:: smooth

.. automodule:: qnngds.design
.. image:: images/devices/ntron/smooth.png
:alt: smooth.png

.. autofunction:: smooth_compassPorts

.. image:: images/devices/ntron/smooth_compassPorts.png
:alt: smooth_compassPorts.png

resistor
~~~~~~~~

.. automodule:: qnngds.devices.resistor
:members:
:exclude-members: create_alignement_cell, create_alignment_cell, create_chip, create_etch_test_cell, create_nanowires_cell, create_ntron_cell, create_resolution_test_cell, create_snspd_ntron_cell, create_vdp_cell
:exclude-members: meander, sc_contacts
:undoc-members:
:show-inheritance:

.. autofunction:: create_alignement_cell
.. autofunction:: meander

.. image:: images/design/create_alignement_cell.png
:alt: create_alignement_cell.png
.. image:: images/devices/resistor/meander.png
:alt: meander.png

.. autofunction:: create_alignment_cell
.. autofunction:: sc_contacts

.. image:: images/design/create_alignment_cell.png
:alt: create_alignment_cell.png
.. image:: images/devices/resistor/sc_contacts.png
:alt: sc_contacts.png

.. autofunction:: create_chip
snspd
~~~~~

.. image:: images/design/create_chip.png
:alt: create_chip.png
.. automodule:: qnngds.devices.snspd
:members:
:exclude-members: vertical
:undoc-members:
:show-inheritance:

.. autofunction:: create_etch_test_cell
.. autofunction:: vertical

.. image:: images/design/create_etch_test_cell.png
:alt: create_etch_test_cell.png
.. image:: images/devices/snspd/vertical.png
:alt: vertical.png

.. autofunction:: create_nanowires_cell
.. _Geometries:
Geometries
----------

.. image:: images/design/create_nanowires_cell.png
:alt: create_nanowires_cell.png
.. automodule:: qnngds.geometries
:members:
:exclude-members: hyper_taper
:undoc-members:
:show-inheritance:

.. autofunction:: create_ntron_cell
.. autofunction:: hyper_taper

.. image:: images/design/create_ntron_cell.png
:alt: create_ntron_cell.png
.. image:: images/geometries/hyper_taper.png
:alt: hyper_taper.png

.. autofunction:: create_resolution_test_cell
.. _Tests:
Tests
-----

.. image:: images/design/create_resolution_test_cell.png
:alt: create_resolution_test_cell.png
.. automodule:: qnngds.tests
:members:
:exclude-members: alignment_mark, resolution_test
:undoc-members:
:show-inheritance:

.. autofunction:: create_snspd_ntron_cell
.. autofunction:: alignment_mark

.. image:: images/design/create_snspd_ntron_cell.png
:alt: create_snspd_ntron_cell.png
.. image:: images/tests/alignment_mark.png
:alt: alignment_mark.png

.. autofunction:: create_vdp_cell
.. autofunction:: resolution_test

.. image:: images/tests/resolution_test.png
:alt: resolution_test.png

.. _Utilities:
Utilities
---------

.. image:: images/design/create_vdp_cell.png
:alt: create_vdp_cell.png
.. automodule:: qnngds.utilities
:members:
:exclude-members: die_cell
:undoc-members:
:show-inheritance:

.. autofunction:: die_cell

.. image:: images/utilities/die_cell.png
:alt: die_cell.png

Loading

0 comments on commit ef1cb55

Please sign in to comment.