Giter Club home page Giter Club logo

photonics-bootcamp's Introduction

Photonics Bootcamp

The CamachoLab Photonics Bootcamp, with support from Google.

This book can be viewed online.

Installation

If you wish to create a virtual Python environment for your book (recommended), you can do so:

conda:

conda create --name bootcamp python
conda activate bootcamp

virtualenv:

python3 -m venv bootcamp
source bootcamp/bin/activate

Then, install the required packages:

pip install --upgrade -r requirements.txt

Building the book

You can simply run from the toplevel directory

jb build book -all

The output will be located in book/_build/html. To serve it in your browser, navigate to that directory and start a simple Python server:

python -m http.server

Building and adding chattutor

Check out the README.md file in chattutor_setup folder, or simply run

./build.sh

Development

The majority of this book is written as Jupyter notebooks. Learn more about creating beautiful websites online at https://jupyterbook.org/en/stable/intro.html.

When writing notebooks, if including images, it is best to reference a web address instead of a relative file in the repository. This way, when the notebook is downloaded independently, the links and images will not be broken.

JupyterBook by default runs all the notebooks within the repository when generating the site. Because many of the notebooks contain lengthy simulations that we don't want to run on the deployment server, this behavior has been turned off. Therefore, when pushing new notebooks to the repository, you should have already run the notebooks from top to bottom in a fresh kernel to ensure all the outputs (plots and results) are present.

Deployment

By default, pushes or pull requests merged on "master" automatically trigger a build and deploy cycle.

Note that notebooks are only automatically executed remotely if there are any missing outputs for any cells. If you've run the notebooks locally when you've committed them, they will appear on the site as they are saved without rerunning.

Contributors

We welcome and recognize all contributions. You can see a list of current contributors in the contributors tab.

photonics-bootcamp's People

Contributors

11of12 avatar adrianariton avatar andeloth avatar bailey5407 avatar ebangerter4 avatar joelkartchner avatar kerfun avatar parkeraa avatar rmcamacho avatar sequoiap avatar skandanc avatar yancesun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

photonics-bootcamp's Issues

Bootcamp Errors

Some bootcamp issues I've found, whether grammatical or in the code. Each one is formatted as the page heading followed by the error...if you ctrl f it should be easy to find. Different page headings are bolded. Let me know if there are any that don't make sense.

Components -> References
the the

Components
GDS layers are tuples of ints, but if we use only one number it assumes
we've provided the layer number and that the other number, the datatype,
is 0
This is false. It throws an error if there is only one value. This occurs several times.

GDS to Meep
from gdsfactory.simulation.gmeep.get_simulation import get_simulation, get_meep_geometry_from_component
Should be gplugins.gmeep...

Also in second block
Plot the s-parameters
gf.simulation.plot.plot_sparameters(sp)
Should be
from gplugins import plot
Plot the s-parameters
plot.plot_sparameters(sp)

Polarization
red bield

Improving the ray-optic model
waveguide waveguide

Supported modes
anagle

Waveguide Modes
perpindicular (occurs a couple of times)

Directional couplers
overlap should be overlaps in the first paragraph

“odd”/antisymmetric, - this is just weird, remove the quotes and the comma

even/symmetric, - again, no comma

Process Design Kits
buit in

Mach-Zehnder Interferometers
A SAX circuit contains a netlist, which is a collection of component instances, their connections, and exposed ports; and a list of models, which...
Weird grammar, should be
A SAX circuit contains a netlist, which is a collection of component instances, their connections and exposed ports, and a list of models, which...

The second element of the returned tuple is a information object - should be an not a

gf.get_generic_pdk does not work

phasae

Next button doesn't work

Next button isn't working—is this due to the ChatTutor button "covering" everything in the lower right corner of the page?

Markdown rendering

ChatTutor sometimes spits out pure Markdown code. It would be nice if the window would render it quickly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.