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

Adding propagation conventions #40

Open
smartalecH opened this issue Sep 25, 2023 · 2 comments
Open

Adding propagation conventions #40

smartalecH opened this issue Sep 25, 2023 · 2 comments
Assignees
Labels
documentation Improvements or additions to documentation

Comments

@smartalecH
Copy link
Contributor

We discuss a bit what propagation means in the context of scattering parameters, but it might be good to describe what that means in other contexts.

For example, when building a structure, one typically specifies a list of permittivities and a corresponding list of layer thicknesses. With many of the examples in the codebase (if not all), this list is interpreted as a stack assembled from top to bottom. In which case, all quantities (e.g. sources) that describe forward propagation, actually imply downward propagation, and all quantities that describe backward propagation, actually imply upward propagation. Furthermore, the start of layer, in this case, is the top of the layer (and the end is the bottom)

Of course, we can rearrange how we order things, and the forward/backward convention flips (which is why it's good that the codebase arguments are labeled using fwd and bwd, to maximize generalizability). But it would be nice to mention that this is indeed the case somewhere upfront.

@smartalecH smartalecH self-assigned this Sep 25, 2023
@smartalecH smartalecH added the documentation Improvements or additions to documentation label Sep 25, 2023
@mfschubert
Copy link
Collaborator

mfschubert commented Sep 25, 2023

Yes, it would be good to have more documentation here. I do think everything is consistent and logical, but we can revisit this if we think this is not the case.

it may be sufficient to just say that the first layer begins at z=0, and layers are added in the +z direction. And, in the plane of the computer screen, the +z direction is downwards. This works nicely if we imagine a list of layer permittivities,

layer_permittiities = [
    layer_0_permittivity,
    layer_1_permittivity,
    layer_2_permittivity,
    layer_3_permittivity,
    layer_4_permittivity,
]

since the physical location of the layer in the stack matches the location and index in the list.

We refer to forward-going and backward-going fields, and these are just fields propagating in the +z and -z direction.

Finally, we refer to fields at the start and end of layers, and these are the fields inside the layer at the smallest and largest z values, respectively.

@mfschubert
Copy link
Collaborator

(I intentionally avoided the use of top/bottom in variable names because of the conflict this creates)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants