arnaudon / netSALT

Simulation of lasing networks with quantum graphs and SALT theory.
https://arnaudon.github.io/netSALT/
GNU General Public License v3.0
5 stars 1 forks source link

Why do we have c in some dispersion relations but not in the others? #27

Closed razimantv closed 1 year ago

razimantv commented 1 year ago

dispersion_relation_linear divides by c

https://github.com/arnaudon/netSALT/blob/8d4eca604593155530495e7c50b8e391149e9380/netsalt/physics.py#L55

So does dispersion_relation_resistance

https://github.com/arnaudon/netSALT/blob/8d4eca604593155530495e7c50b8e391149e9380/netsalt/physics.py#L73-L75

But dispersion_relation_dielectric does not

https://github.com/arnaudon/netSALT/blob/8d4eca604593155530495e7c50b8e391149e9380/netsalt/physics.py#L87

And neither does dispersion_relation_pump

https://github.com/arnaudon/netSALT/blob/8d4eca604593155530495e7c50b8e391149e9380/netsalt/physics.py#L114-L119

arnaudon commented 1 year ago

Hello, because they are different parametrisations of the dispersion relation. The first 2 are generic ones, with wave speed c, whereas the last two are specific for dielectric medium, as we used in the paper. The second has some resistance, or damping term that depends on frequency, to model blood viscosity for example (capital C is called compliance). I hope this helps! (I should add more comments in the docstrings about that)

razimantv commented 1 year ago

But a dielectric medium should really have $k = n \omega/c$. So unless we are setting $c=1$ or somehow absorbing it in the dielectric constant, the line in dispersion_relation_dielectric should be

return freq / params["c"] * np.sqrt(params["dielectric_constant"]) 

If are deliberately using the term dielectric constant to mean something else, then it is fine. Otherwise I feel it is misleading.

arnaudon commented 1 year ago

Indeed, its a matter of definition I think, these equations follow for example: https://journals.aps.org/pra/pdf/10.1103/PhysRevA.82.063824 which has \epsilon k^2, or ( \sqrt(epsilon)k )^2 in the wave equation ( eq 9 for example).

razimantv commented 1 year ago

They explicitly set c=1:

We have taken the speed of light in a vacuum c to be unity; wave vector and frequency will be distinguished by the context.

I think it makes sense to do in theory but can be misleading comparing to experiment. But if you think it does not matter, feel free to close.

arnaudon commented 1 year ago

I guess depending on how one assigns units and interpret these, it may matter. I could add a params.get('c', 1) so users could use other conventions. Is this not 'standard' one?

arnaudon commented 1 year ago

I added c here: https://github.com/arnaudon/netSALT/pull/23/files