victorliu / S4

Stanford Stratified Structure Solver - Electromagnetic simulator for layered periodic structures
http://www.stanford.edu/group/fan/S4/
GNU General Public License v2.0
131 stars 149 forks source link

Calculating Absorption #93

Open michelgaglioni opened 4 years ago

michelgaglioni commented 4 years ago

Hello everyone,

I'm sorry in advance for such a naive question, but I just began using the software and I'm kinda lost with it. My question is: how do I obtain the absorption of a certain layer in a multi layered structure, from the given poyting vectors for each layer? Is there a way of obtaining this by another means than the poynting vectors? Let's say, for example, I have a structure like this:

    Layer 1 -----------------------------------

...... ----------------------------------- Layer 2

Layer 3

S4 provides me the backward and forward fluxes for each layer using GetPoyntingFlux. How do I calculate the absorption, say, in layer 2, using these fluxes? One more question: what exactly these fluxes represent? the forward flux describes what comes in at the beginning of the layer (let's say, for layer 2, at the interface between the bottom of layer 1 and top of layer 1) or at its end (bottom of layer 2 and top of layer 3)? Same question for the backward fluxes?

I don't seem to undestand the dynamics of these fluxes. If anyone could help, I would appreciate.

Thanks in advance.

jmllorens commented 4 years ago

Hello everyone,

I'm sorry in advance for such a naive question, but I just began using the software and I'm kinda lost with it. My question is: how do I obtain the absorption of a certain layer in a multi layered structure, from the given poyting vectors for each layer? Is there a way of obtaining this by another means than the poynting vectors? Let's say, for example, I have a structure like this:

 

Layer 1

Layer 2

Layer 3

S4 provides me the backward and forward fluxes for each layer using GetPoyntingFlux. How do I calculate the absorption, say, in layer 2, using these fluxes?

The propagation of light goes from top to bottom. Forward means the projection of the PoyntingFlux in the "forward" direction, i.e. downwards. Backwards is in the upward direction. In other words, forward refers to transmitted flux and backwards to reflected flux. The net flux is the sum of both. The difference between the net flux at two points is the absorption.

Hence to compute the absorption in Layer 2, you need to compute: (f_layer1, b_layer1) = S.GetPowerFlux(Layer='Layer1', zOffset=0) (f_layer2, b_layer2) = S.GetPowerFlux(Layer='Layer2', zOffset=0) (f_layer3, b_layer3) = S.GetPowerFlux(Layer='Layer3', zOffset=0) NetFlux_layer2 = (f_layer2 + b_layer2).real / f_layer1.real NetFlux_layer3 = (f_layer3 + b_layer3).real / f_layer1.real Abs_layer2 = NetFlux_layer2 - NetFlux_layer3

I suggest to have a look at Victor's paper on S4. http://web.stanford.edu/group/fan/publication/Liu_ComputerPhysicsCommunications_183_2233_2012.pdf

Hope you found this helpful.

José.

One more question: what exactly these fluxes represent? the forward flux describes what comes in at the beginning of the layer (let's say, for layer 2, at the interface between the bottom of layer 1 and top of layer 1) or at its end (bottom of layer 2 and top of layer 3)? Same question for the backward fluxes?

I don't seem to undestand the dynamics of these fluxes. If anyone could help, I would appreciate.

Thanks in advance.

92

michelgaglioni commented 4 years ago

Thanks, José, it helped a lot!