document the wave polarisation convention

This commit is contained in:
Michele Guerini Rocco 2024-11-09 12:02:14 +01:00
parent 16ec1a1d06
commit 0ab0fcbf60
Signed by: rnhmjoj
GPG Key ID: BFBAF4C975F76450
7 changed files with 499 additions and 84 deletions

View File

@ -42,7 +42,7 @@ in
makefile2graph graphviz
# documentation
help2man pandoc
help2man pandoc librsvg
haskellPackages.pandoc-crossref
(texlive.combine {
inherit (texlive) scheme-small xetex fontspec;

View File

@ -5,7 +5,7 @@ author:
- L. Figini[^1]
- A. Mariani[^1]
- M. Guerini Rocco[^2]
date: 'November 30, 2012. Updated: November 30, 2021'
date: 'November 30, 2012. Updated: November 9, 2024'
lang: en-GB
language: english
@ -124,8 +124,8 @@ header-includes: |
```{=latex}
% Set font only if available
\IfFontExistsTF{Libertinus Serif}{\setmainfont{Libertinus Serif}}{}
\IfFontExistsTF{Libertinus Math}{\setmonofont{Libertinus Math}}{}
\IfFontExistsTF{blabla}{\setsansfont{blablabla}}{}
\IfFontExistsTF{Libertinus Math}{\setmathfont{Libertinus Math}}{}
\IfFontExistsTF{Julia Mono}{\setmathfont{Julia Mono}}{}
```
...

View File

@ -3,22 +3,22 @@
## Coordinate Reference systems
A few sets of coordinate systems are used in the code. The reference system is
the right handed cartesian orthogonal system $(x, y, z)$ with $z$ axis being
the right handed Cartesian orthogonal system $(x, y, z)$ with $z$ axis being
the tokamak symmetry axis. For the purpose of the physics analysis this
coordinate system may be rotated around the $z-$axis so that the $x z$ plane
contains the launching point, i.e., $z$ vertical, $x$ radially outward through
the port center, and $y$ pointing in the counter clockwise direction when
viewed from above.
In addition to the right handed cartesian orthogonal system specified above, we
In addition to the right handed Cartesian orthogonal system specified above, we
introduce also a right-handed cylindrical system $(R,φ,Z)$ with transformation
from the cylindrical to the cartesian system given by $x= R\cosφ$, $y=R\sinφ$,
from the cylindrical to the Cartesian system given by $x= R\cosφ$, $y=R\sinφ$,
$z=Z$.
## Quasi-optical approximation
In the complex eikonal framework, the a solution of the wave equation for the
In the complex eikonal framework, a solution of the wave equation for the
electric field is looked for in the form
$$
@ -28,9 +28,9 @@ $$
$$ {#eq:eikonal-ansatz}
such that it allows for Gaussian beam descriptions.
In [@eq:eikonal-ansatz], $ω$ is the real frequency, $k_0 = ω/c$ the
wavevector amplitude in vacuum, ${\bf e}({\bf x})$ the polarisation versor and
$E_0({\bf x})$ the slowly varying wave amplitude.
In [@eq:eikonal-ansatz], $ω$ is the real frequency, $k_0 = ω/c$ the wavevector
amplitude in vacuum, ${\bf e}({\bf x})$ the normalised polarisation (Jones)
vector and $E_0({\bf x})$ the slowly varying wave amplitude.
The function $S({\bf x})$ is the complex eikonal, $S = S_R({\bf x}) + i S_I
({\bf x})$, in which the real part $S_R({\bf x})$ is related to the beam
@ -456,16 +456,53 @@ $$
$$ {#eq:pjgauss}
## Reflection at inner wall and polarisation
## Mode coupling and reflection at inner wall
The polarisation of the beam is used to compute the coupling to the Ordinary
(O) and Extraordinary (X) plasma modes when the beam crosses the
vacuum-plasma interface. The fraction of power converted into a mode is given
by the coupling coefficient
$$
c_\text{mode} = (\hat{\mathbf e}_\text{mode}⋅\hat{\mathbf e})²,
$$
where $\hat{\mathbf e}_\text{mode},\hat{\mathbf e}$ are the plasma mode and
beam Jones vectors, respectively. The mode vector is defined as the
eigenvector of the cold plasma dielectric tensor in the low density limit.
The beam vector at launch is computed from the polarisation ellipse parameters
using the formula:
$$
\begin{aligned}
\hat{e}₁ &= \cosχ\cosψ + i\sinχ\sinψ \\
\hat{e}₂ &= \cosχ\sinψ - i\sinχ\cosψ
\end{aligned}
$$ {#eq:ellipse2field}
The following convention is assumed (illustrated in [@fig:ellipse]):
- $ψ$ is the angle between the $x$ axis and the major axis.
- $χ = \tan(b/a)$ where $a,b$ are ellipse major and minor semi-axes, respectively.
- A positive $ψ$ corresponds to an ellipse rotated counterclockwise in the
$x∧y$ plane.
- A positive $χ$ corresponds to an ellipse traced clockwise in the $x∧y$ plane
with the $z$ axis in the direction of the wave propagation. In other words:
negative helicity (projection of spin angular momentum unto wavevector) or
left handed wave (IEEE convention).
If the initial polarisation is not specified, 100% coupling to a given mode
is assumed.
![Polarisation ellipse](res/ellipse.svg){#fig:ellipse}
A model for wave reflection on a smooth surface is included in GRAY. This is
used to describe beam reflection on the inner wall of the tokamak in the cases
where only partial absorption occurs at the first pass in the plasma. An ideal
conductor is assumed for the reflecting surface, so that the full power of the
incident beam is transferred to the reflected one. The vector refractive index
${\bf N}_{\rm{refl}}$ and the unit electric field $\hat {\bf e}_{\rm{refl}}$ of
the reflected wave are
used to describe the beam reflection on the inner wall of the tokamak in the
cases where only partial absorption occurs at the first pass in the plasma.
An ideal conductor is assumed for the reflecting surface, so that the full
power of the incident beam is transferred to the reflected one. The vector
refractive index ${\bf N}_{\rm{refl}}$ and the Jones vector $\hat {\bf
e}_{\rm{refl}}$ of the reflected beam are
$$
{\bf N}_{\rm{refl}} =
{\bf N}_{\rm{in}} - 2 ({\bf N}_{\rm{in}}
@ -474,50 +511,23 @@ $$
-\hat {\bf e}_{\rm{in}}
+ 2 (\hat {\bf e}_{\rm{in}} \cdot \hat {\bf n}) \hat {\bf n},
$$
being ${\bf N}_{\rm{in}}$ and $\hat {\bf e}_{\rm{in}}$ the vector refractive
index and the unit electric field of the incoming wave, and $\hat {\bf n}$ the
index and the Jones vector of the incoming wave, and $\hat {\bf n}$ the
normal unit vector to the wall at the beam incidence point.
The Stokes parameter for the unit electric vector $\hat {\bf e}$ in vacuum are
defined in the beam reference system $({\bar x},{\bar y},{\bar z})$ as
The reflected beam Jones vector is again used to compute the coupling
to the plasma modes at the second and successive pass, with potentially
$2^{n-1}$ independent modes being traced after n reflections.
Note that the Jones vectors of the ordinary and extraordinary modes are
orthogonal w.r.t. the standard Hermitian product: $\hat{\mathbf e}_{\rm
O}⋅\hat{\mathbf e}_{\rm X}^* = 0$.
From [@eq:ellipse2field] it then follows that these relations hold:
$$
\begin{aligned}
I &= \vert \hat e_{\bar x} \vert^2 + \vert \hat e_{\bar y} \vert^2 = 1 \\
Q &= \vert \hat e_{\bar x} \vert^2 - \vert \hat e_{\bar y} \vert^2 \\
U &= 2 \cdot {\rm Re} (\hat e_{\bar x} \hat e_{\bar y}^*) \\
V &= 2 \cdot {\rm Im} (\hat e_{\bar x} \hat e_{\bar y}^*).
\end{aligned}
$$ {#eq:stokes}
Alternatively, the two angles $\psi_p$ and $\chi_p$ can be used:
$$
\begin{aligned}
Q &= \cos {2 \psi_p} \cos {2 \chi_p} \\
U &= \sin {2 \psi_p} \cos {2 \chi_p} \\
V &= \sin {2 \chi_p}
ψ_{\rm O} &= ψ_{\rm X} + \frac{π}{2} \\
χ_{\rm O} &= -χ_{\rm X} \\
1 &= c_{\rm O} + c_{\rm X}
\end{aligned}
$$
which define respectively the major axis orientation and the ellipticity of the
polarisation ellipse. The polarisation parameters of the reflected wave are
used to compute the coupling with the Ordinary (OM) and Extraordinary (XM)
modes at the vacuum-plasma interface before the calculation of the second pass
in the plasma. At the second pass both modes are traced, taking into account
that the power fraction coupled to each mode is
$$
P_{\rm O,X} =
\frac{P_{\rm in}}{2}
(1 + Q_{\rm in} Q_{\rm O,X}
+ U_{\rm in} U_{\rm O,X}
+ V_{\rm in} V_{\rm O,X}).
$$
Note that the polarisation vectors of OM and XM form an orthogonal base:
$\psi_{p{\rm O}}=\psi_{p{\rm X}}+\pi/2$, $\chi_{p{\rm O}}=-\chi_{p{\rm X}}$ and
as a consequence $Q_{\rm O}=-Q_{\rm X}$, $U_{\rm O}=-U_{\rm X}$, and $V_{\rm
O}=-V_{\rm X}$, so that $P_{\rm O} + P_{\rm X} = P_{\rm in}$, i.e. all the
incoming power is coupled to the plasma.
with the latter meaning all the incoming power is coupled to the plasma.

View File

@ -113,14 +113,21 @@ Antenna/beam launcher parameters
- *MODE_X*, extraordinary (X)
**psi** (default: **0.0**)
: ψ (deg), angle between the principal axes of the polarisation
ellipse and the (x,y) axes
: ψ (deg), angle between the x and the major axis of the
polarisation ellipse. ψ∈[-90, 90] and is positive for
rotating counterclockwise.
Note: only used in alternative to *iox* if *ipol=.true.*.
**chi** (default: **0.0**)
: χ=atan(ε) (deg), where ε is the ellipticity of the polarisation
ellipse
: χ (deg), angle between the principal axes of the polarisation
ellipse. χ∈[-45, 45] and is defined by tan(χ) = b/a, where
a,b are the major,minor semi-axis, respective.
χ>0 means the ellipse is traced clockwise in the x∧y plane
with the z axis in the direction of the wave propagation.
In other words: negative helicity (projection of spin angular
momentum unto wavevector) or left handed wave (IEEE convention).
Note: only used in alternative to *iox* if *ipol=.true.*.

367
doc/res/ellipse.svg Normal file
View File

@ -0,0 +1,367 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="269.48"
height="238.78"
version="1.1"
viewBox="0 0 269.48 238.78"
id="svg21"
sodipodi:docname="ellipse-new.svg"
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview21"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="1.881902"
inkscape:cx="118.49713"
inkscape:cy="103.08719"
inkscape:window-width="1155"
inkscape:window-height="1042"
inkscape:window-x="16"
inkscape:window-y="16"
inkscape:window-maximized="1"
inkscape:current-layer="svg21" />
<defs
id="defs6">
<marker
id="marker2"
overflow="visible"
markerHeight="1"
markerWidth="1"
orient="auto-start-reverse"
preserveAspectRatio="xMidYMid"
viewBox="0 0 1 1">
<path
transform="scale(-.5)"
d="m0 0 5-5-17.5 5 17.5 5z"
fill="context-stroke"
fill-rule="evenodd"
id="path1" />
</marker>
<marker
id="marker43"
overflow="visible"
markerHeight="1"
markerWidth="1"
orient="auto-start-reverse"
preserveAspectRatio="xMidYMid"
viewBox="0 0 1 1">
<path
transform="scale(-.5)"
d="m0 0 5-5-17.5 5 17.5 5z"
fill="context-stroke"
fill-rule="evenodd"
id="path2" />
</marker>
<marker
id="marker42"
overflow="visible"
markerHeight="1"
markerWidth="1"
orient="auto-start-reverse"
preserveAspectRatio="xMidYMid"
viewBox="0 0 1 1">
<path
transform="scale(-.5)"
d="m0 0 5-5-17.5 5 17.5 5z"
fill="context-stroke"
fill-rule="evenodd"
id="path3" />
</marker>
<marker
id="marker35"
overflow="visible"
markerHeight="1"
markerWidth="1"
orient="auto-start-reverse"
preserveAspectRatio="xMidYMid"
viewBox="0 0 1 1">
<path
transform="scale(-.5)"
d="m0 0 5-5-17.5 5 17.5 5z"
fill="context-stroke"
fill-rule="evenodd"
id="path4" />
</marker>
<marker
id="DartArrow"
overflow="visible"
markerHeight="1"
markerWidth="1"
orient="auto-start-reverse"
preserveAspectRatio="xMidYMid"
viewBox="0 0 1 1">
<path
transform="scale(-.5)"
d="m0 0 5-5-17.5 5 17.5 5z"
fill="context-stroke"
fill-rule="evenodd"
id="path5" />
</marker>
<marker
id="marker2-7"
overflow="visible"
markerHeight="1"
markerWidth="1"
orient="auto-start-reverse"
preserveAspectRatio="xMidYMid"
viewBox="0 0 1 1">
<path
transform="scale(-.5)"
d="m0 0 5-5-17.5 5 17.5 5z"
fill="context-stroke"
fill-rule="evenodd"
id="path6" />
</marker>
</defs>
<g
font-family="'Libertinus Serif'"
font-size="16px"
font-style="italic"
stroke-width=".64013"
id="g9">
<text
transform="scale(.99979 1.0002)"
x="175.37907"
y="118.1233"
style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal"
xml:space="preserve"
id="text6"><tspan
x="175.37907"
y="118.1233"
fill="#02709c"
font-family="'Libertinus Serif'"
font-size="16px"
font-style="italic"
stroke-width=".64013"
style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal"
id="tspan6">ψ</tspan></text>
<text
transform="scale(.99979 1.0002)"
x="81.71257"
y="158.67409"
style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal"
xml:space="preserve"
id="text7"><tspan
x="81.71257"
y="158.67409"
fill="#f97306"
font-family="'Libertinus Serif'"
font-size="16px"
font-style="italic"
stroke-width=".64013"
style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal"
id="tspan7">χ</tspan></text>
<text
transform="scale(.99979 1.0002)"
x="150.09697"
y="167.58904"
style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal"
xml:space="preserve"
id="text8"><tspan
x="150.09697"
y="167.58904"
fill="#f97306"
font-family="'Libertinus Serif'"
font-size="16px"
font-style="italic"
stroke-width=".64013"
style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal"
id="tspan8">b</tspan></text>
<text
transform="scale(.99979 1.0002)"
x="55.318287"
y="146.13136"
style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal"
xml:space="preserve"
id="text9"><tspan
x="55.318287"
y="146.13136"
fill="#f97306"
font-family="'Libertinus Serif'"
font-size="16px"
font-style="italic"
stroke-width=".64013"
style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal"
id="tspan9">a</tspan></text>
</g>
<g
fill="none"
stroke-linejoin="bevel"
id="g11">
<path
d="m130.12 6v232.3"
marker-start="url(#DartArrow)"
stroke="#000"
stroke-linecap="round"
stroke-opacity=".88235"
stroke-width=".96"
id="path9" />
<path
d="m263.48 124.36h-263"
marker-start="url(#marker35)"
stroke="#000"
stroke-linecap="round"
stroke-opacity=".88235"
stroke-width=".96"
id="path10" />
<path
d="m104.03 60.298 25.663 63.519"
stroke="#bdbdbd"
stroke-linecap="square"
stroke-width="1.44"
style="paint-order:stroke fill markers"
id="path11" />
</g>
<g
stroke-linecap="square"
id="g14">
<path
d="m166.34 124.38a36.331 36.331 0 0 0-2.688-14.289l-33.639 13.725z"
fill="#02709c"
fill-opacity=".51765"
fill-rule="evenodd"
stroke-width=".90828"
id="path12" />
<path
d="m73.602 169.44a36.331 36.331 0 0 0-1.785-21.794l-33.639 13.725z"
fill="#f97306"
fill-opacity=".52"
fill-rule="evenodd"
stroke-width=".90828"
id="path13" />
<path
d="m73.335 169.2a36.331 36.331 0 0 0-0.0427-16.322"
fill="none"
marker-end="url(#marker42)"
stroke="#f97306"
stroke-width=".90816"
id="path14" />
</g>
<path
d="m38.178 161.37 117.28 26.504"
fill="#f97306"
fill-opacity=".52"
fill-rule="evenodd"
stroke="#bdbdbd"
stroke-linecap="round"
stroke-linejoin="bevel"
stroke-width="1.44"
style="paint-order:stroke fill markers"
id="path15" />
<g
fill="none"
id="g19">
<g
stroke-linejoin="bevel"
stroke-width="1.44"
id="g18">
<path
d="m221.41 87.341-91.616 37.015"
stroke="#bdbdbd"
stroke-linecap="square"
style="paint-order:stroke fill markers"
id="path16" />
<path
d="m129.79 124.36-91.616 37.015"
stroke="#f97306"
stroke-linecap="round"
style="paint-order:stroke fill markers"
id="path17" />
<path
d="m129.79 124.36 25.663 63.519"
stroke="#f97306"
stroke-linecap="square"
style="paint-order:stroke fill markers"
id="path18" />
</g>
<ellipse
transform="rotate(158)"
cx="-74.162"
cy="-163.5"
rx="98.811"
ry="68.508"
stroke="#01709c"
stroke-width="1.44"
id="ellipse18" />
<path
d="m166.34 123.82a36.331 36.331 0 0 0-0.92734-8.7385"
marker-end="url(#marker43)"
stroke="#01709c"
stroke-linecap="square"
stroke-width=".90816"
id="path19" />
</g>
<text
transform="scale(.99979 1.0002)"
x="251.976"
y="138.61607"
font-family="'Libertinus Serif'"
font-size="16px"
font-style="italic"
stroke-width=".64013"
style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal"
xml:space="preserve"
id="text19"><tspan
x="251.976"
y="138.61607"
fill="#000000"
font-family="'Libertinus Serif'"
font-size="16px"
font-style="italic"
stroke-width=".64013"
style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal"
id="tspan19">x</tspan></text>
<text
transform="scale(.99979 1.0002)"
x="113.74474"
y="19.958412"
font-family="'Libertinus Serif'"
font-size="16px"
font-style="italic"
stroke-width=".64013"
style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal"
xml:space="preserve"
id="text20"><tspan
x="113.74474"
y="19.958412"
fill="#000000"
font-family="'Libertinus Serif'"
font-size="16px"
font-style="italic"
stroke-width=".64013"
style="font-variant-caps:normal;font-variant-east-asian:normal;font-variant-ligatures:normal;font-variant-numeric:normal"
id="tspan20">y</tspan></text>
<path
d="m 182.12056,54.142472 2.3128,0.79999"
fill-opacity="0.51765"
fill-rule="evenodd"
marker-end="url(#marker2)"
stroke="#01709c"
stroke-linecap="round"
stroke-linejoin="bevel"
stroke-width="1.44"
style="paint-order:stroke fill markers"
id="path20" />
<path
d="m 75.368217,192.67564 -0.74963,-0.29058"
fill-opacity="0.51765"
fill-rule="evenodd"
marker-end="url(#marker2-7)"
stroke="#01709c"
stroke-linecap="round"
stroke-linejoin="bevel"
stroke-width="1.44"
style="paint-order:stroke fill markers"
id="path21" />
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -3,6 +3,12 @@
box-sizing: border-box;
}
/* Justify all text */
body {
text-align: justify;
hypens: auto;
}
/* Make headings smaller */
h1 { font-size: 1.8em }
@ -39,10 +45,15 @@ h3:hover > .header-section-number { opacity: 0; }
/* Fix spacing of numbered equations */
td .katex-display { margin: 0 }
/* Fix equations width */
div[id^="eq"] table { width: 100%; }
/* Center the title */
header { text-align: center }
/* Center figures */
figure { text-align: center }
/* Inline the authors */
header .author {
display: inline-block;
@ -95,7 +106,7 @@ nav {
color: #d0d6e2;
padding: 1.2em;
padding-left: 0;
overflow-y: scroll;
overflow-y: auto;
}
nav a:link { text-decoration: none }
nav a:link, a:visited { color: #d0d6e2 }

View File

@ -17,33 +17,41 @@ contains
! polarisation ellipse angles ψ, χ
!
! Notes:
! - ψ[-π/2, π/2] is the angle between the x and the major axis
! - ψ[-π/2, π/2] is the angle between the x and the major axis.
!
! - χ[-π/4, π/4] is defined by tan(χ) = b/a, where a,b are the
! major,minor semi-axis, respectively; χ>0 for positive helicity
! (left-handed wave), χ<0 for negative helicity (right-handed wave).
! major,minor semi-axis, respectively.
!
! - χ>0 means the ellipse is traced clockwise in the xy plane
! with the z axis in the direction of the wave propagation.
! In other words: negative helicity (projection of spin angular
! momentum unto wavevector) or left handed wave (IEEE convention).
!
! - ψ>0 rotates the ellipse counterclockwise
! subroutine arguments
real(wp_), intent(in) :: psi, chi
complex(wp_), intent(out) :: e_x(:), e_y(:)
! The Eikonal ansatz is:
! Consider a plane wave with the electric field given as
!
! (, t) = Re () exp(-ikS() + iωt)
! (, t) = Re () exp(ik̅ - iωt)
!
! where () = [|e|exp(), |e|exp(), 0], since the wave
! is transversal in vacuum. At a fixed position =0, ignoring
! the third component, we have:
! where = kz and () = [|e|exp(), |e|exp(), 0],
! since the wave is transversal in a vacuum. At a fixed position
! =0, ignoring the third component, we have:
!
! (0, t) = [|e|cos(φ + ωt), |e|cos(φ + ωt)]
! = [|e|cos(φ)cos(ωt) - |e|sin(φ)sin(ωt),
! |e|cos(φ)cos(ωt) - |e|sin(φ)sin(ωt)]
! (0, t) = [|e|cos(φ - ωt), |e|cos(φ - ωt)]
! = [|e|cos(φ)cos(ωt) + |e|sin(φ)sin(ωt),
! |e|cos(φ)cos(ωt) + |e|sin(φ)sin(ωt)]
!
! Then, we compare this to the parametric equation of
! an ellipse rotated by ψ through the origin,
! Then, we compare this to the parametric equation of an ellipse
! rotated by ψ through the origin (traced in the same direction
! as for the electric field),
!
! (t) = R(ψ) [acos(ωt), bsin(ωt)]
! = [cos(ψ)acos(ωt), -sin(ψ)bsin(ωt),
! sin(ψ)acos(ωt), cos(ψ)bsin(ωt)]
! (t) = R(ψ) [acos(ωt), -bsin(ωt)]
! = [cos(ψ)acos(ωt) +sin(ψ)bsin(ωt),
! sin(ψ)acos(ωt) -cos(ψ)bsin(ωt)]
!
! at ωt=0 and ωt=π/2, so:
!
@ -76,6 +84,7 @@ contains
!
e_x = cosd(chi)*cosd(psi) + im * sind(chi)*sind(psi)
e_y = cosd(chi)*sind(psi) - im * sind(chi)*cosd(psi)
end subroutine ellipse_to_field
@ -118,17 +127,27 @@ contains
!
chi = asind(imag(2 * e_x * conjg(e_y))) / 2
psi = atan2d(real(2 * e_x * conjg(e_y)), abs(e_x)**2 - abs(e_y)**2) / 2
end subroutine field_to_ellipse
pure subroutine pol_limit(N, B, Bres, sox, e_x, e_y)
! Computes the Jones vectors of the cold plasma dispersion
! relation in the limit of vanishing electron density
!
! Note: the Jones vectors are given in the local beam frame,
! that is, the z axis is aligned with the wave vector and x axis
! lies in the tokamak equatorial plane.
! This allows to directly compare the beam polarisation with
! the plasma modes Jones vectors to obtain the power couplings.
! Notes:
! - The Jones vectors are given in the local beam frame,
! that is, the z axis is aligned with the wave vector
! and the x axis lies in the tokamak equatorial plane.
! This allows to directly compare the beam polarisation with
! the plasma modes Jones vectors to obtain the power couplings.
!
! - The dielectric tensor is obtained using the convention
!
! (, t) = d³k /(2π) (, ω) exp(ik̅ - iωt)
!
! for the Fourier transform. This is commonplace, but it's
! the opposite of the eikonal ansatz, so the Jones vector
! subroutine arguments
real(wp_), intent(in) :: N(3) ! refractive index
@ -287,6 +306,7 @@ contains
e = matmul(R, e)
e_x = e(1)
e_y = e(2)
end subroutine pol_limit
end module polarization