Skip to content

Commit f311e85

Browse files
added analytic formulas (#46)
* added analytic formulas
1 parent 3633532 commit f311e85

26 files changed

+938
-2
lines changed

.ipynb_checkpoints/faq_categories-checkpoint.json

Lines changed: 341 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
_schema: default
3+
title: What does the FluxMonitor record?
4+
date: 2025-09-08 17:29:25
5+
enabled: true
6+
category: Monitors
7+
_inputs:
8+
title:
9+
type: text
10+
label: QUESTION TITLE
11+
enabled:
12+
type: switch
13+
hidden: true
14+
date:
15+
type: datetime
16+
label: DATE
17+
instance_value: NOW
18+
category:
19+
type: select
20+
options:
21+
values: data.faq_categories
22+
value_key: key
23+
preview:
24+
text:
25+
- key: category_name
26+
---
27+
The FluxMonitor records field data tangential $E$ and $H$ fields colocated to the cell boundaries in the monitor's 2D plane grid. It then computes and integrates the Poynting vector, returning the real part of this integral as the flux.
28+
<div> </div>
29+
<center>
30+
Real$(\sum\limits_{\text{cells in monitor}}\frac{1}{2}(E_1\cdot H_2^*-E_2\cdot H_1^*)dA_{\text{cell}})$
31+
</center><br>
32+
where $dA$ is the area of each cell in the monitor, and the field components 1 and 2 are given depending on the monitor geometry: for $x$-normal monitors, 1 is $y$ and 2 is $z$; for $y$-normal monitors, 1 is $x$ and 2 is $z$; for $z$-normal monitors, 1 is $x$ and 2 is $y$. See the code [here](https://docs.flexcompute.com/projects/tidy3d/en/latest/_modules/tidy3d/components/data/monitor_data.html#ElectromagneticFieldData).
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
_schema: default
3+
title: What is the formula for ContinuousWave?
4+
date: 2025-09-05 17:29:25
5+
enabled: true
6+
category: Sources
7+
_inputs:
8+
title:
9+
type: text
10+
label: QUESTION TITLE
11+
enabled:
12+
type: switch
13+
hidden: true
14+
date:
15+
type: datetime
16+
label: DATE
17+
instance_value: NOW
18+
category:
19+
type: select
20+
options:
21+
values: data.faq_categories
22+
value_key: key
23+
preview:
24+
text:
25+
- key: category_name
26+
---
27+
The ContinuousWave sourcetime, if the DC component is zeroed out, has the following formula:
28+
<div> </div>
29+
<center>
30+
$A(1+e^{-\frac{(t-t_o*t_w)}{t_w}})^{-1}e^{i\phi}e^{-i\omega_0 t}$
31+
</center><br>
32+
<div>where $A$ is the amplitude, $t_o$ is the time offset, $t_w=\frac{1}{2\pi f_{width}}$ is the width of the pulse in seconds, $\phi$ is the phase shift, and $\omega_0=2\pi f_0$.</div>
33+
<div>See the code [here](https://docs.flexcompute.com/projects/tidy3d/en/latest/_modules/tidy3d/components/source/time.html#ContinuousWave).</div>
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
_schema: default
3+
title: What is the formula for GaussianBeam?
4+
date: 2025-09-05 17:29:25
5+
enabled: true
6+
category: Sources
7+
_inputs:
8+
title:
9+
type: text
10+
label: QUESTION TITLE
11+
enabled:
12+
type: switch
13+
hidden: true
14+
date:
15+
type: datetime
16+
label: DATE
17+
instance_value: NOW
18+
category:
19+
type: select
20+
options:
21+
values: data.faq_categories
22+
value_key: key
23+
preview:
24+
text:
25+
- key: category_name
26+
---
27+
The GaussianBeam source has the following scalar field amplitude, in cylindrical coordinates:
28+
<div> </div>
29+
<center>
30+
$u(r,z)=\frac{w_0}{w(z)}e^{-\frac{r^2}{w(z)^2}}e^{i(zk_0 + \frac{r^2k_0}{2R(z)} - \psi_g)}$
31+
</center><br>
32+
where:
33+
<ul>
34+
<li>$z$ is the propagation direction</li>
35+
<li>$k_0=\frac{2\pi nf}{c}$ are the wavenumbers of the frequencies $f$ where the beam is sampled</li>
36+
<li>$w_0$ is the beam waist</li>
37+
<li>$w(z)=w_0\sqrt{1 + \frac{(z + z_0)^2}{z_r}}$, where $z_0$ is the waist distance and $z_r=\frac{1}{2}w_0^2k_0$ is the Rayleigh range</li>
38+
<li>$R(z)=z(1 + (\frac{z_r}{z})^2)$ is the radius of curvature of the wavefront at $z$</li>
39+
<li>$\psi_g=\arctan(\frac{z+z_0}{z_r})-\arctan(\frac{z_0}{z_r})$ is the Gouy phase</li>
40+
</ul>
41+
42+
<div>See the code [here](https://docs.flexcompute.com/projects/tidy3d/en/latest/_modules/tidy3d/components/beam.html#GaussianBeamProfile).</div>
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
_schema: default
3+
title: What is the formula for GaussianPulse?
4+
date: 2025-09-05 17:29:25
5+
enabled: true
6+
category: Sources
7+
_inputs:
8+
title:
9+
type: text
10+
label: QUESTION TITLE
11+
enabled:
12+
type: switch
13+
hidden: true
14+
date:
15+
type: datetime
16+
label: DATE
17+
instance_value: NOW
18+
category:
19+
type: select
20+
options:
21+
values: data.faq_categories
22+
value_key: key
23+
preview:
24+
text:
25+
- key: category_name
26+
---
27+
The GaussianPulse sourcetime, if the DC component is zeroed out, has the following formula:
28+
<div> </div>
29+
<center>
30+
$(i+\frac{t}{t_w^2\omega_0})Ae^{i\phi}e^{-i\omega_0 t}e^{-\frac{(t - t_o*t_w)^2}{2t_w^2}}$
31+
</center><br>
32+
<div> </div>
33+
<div>If the DC component is not zeroed out, the formula is</div><br>
34+
<center>
35+
$iAe^{i\phi}e^{-i\omega_0 t}e^{-\frac{(t - t_o*t_w)^2}{2t_w^2}}$
36+
</center><br>
37+
<div>where $A$ is the amplitude, $t_o$ is the time offset, $t_w=\frac{1}{2\pi f_{width}}$ is the width of the pulse in seconds, $\phi$ is the phase shift, and $\omega_0=2\pi f_0$.</div>
38+
<div>See the code [here](https://docs.flexcompute.com/projects/tidy3d/en/latest/_modules/tidy3d/components/source/time.html#GaussianPulse).</div>
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
_schema: default
3+
title: What is the formula for PlaneWave?
4+
date: 2025-09-05 17:29:25
5+
enabled: true
6+
category: Sources
7+
_inputs:
8+
title:
9+
type: text
10+
label: QUESTION TITLE
11+
enabled:
12+
type: switch
13+
hidden: true
14+
date:
15+
type: datetime
16+
label: DATE
17+
instance_value: NOW
18+
category:
19+
type: select
20+
options:
21+
values: data.faq_categories
22+
value_key: key
23+
preview:
24+
text:
25+
- key: category_name
26+
---
27+
The PlaneWave source has the following scalar field amplitude:
28+
<div> </div>
29+
<center>
30+
$u(z)=e^{ik_z z}$
31+
</center><br>
32+
where $z$ is the propagation direction and $k_0=\frac{2\pi nf}{c}$ are the wavenumbers of the frequencies $f$ where the beam is sampled. If the source is specified as a fixed angle source, $k_0$ is multiplied by $\cos\theta$.
33+
34+
<div>See the code [here](https://docs.flexcompute.com/projects/tidy3d/en/latest/_modules/tidy3d/components/beam.html#PlaneWaveBeamProfile).</div>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
_schema: default
3+
title: What does the FluxMonitor record?
4+
date: 2025-09-08 17:29:25
5+
enabled: true
6+
category: Monitors
7+
_inputs:
8+
title:
9+
type: text
10+
label: QUESTION TITLE
11+
enabled:
12+
type: switch
13+
hidden: true
14+
date:
15+
type: datetime
16+
label: DATE
17+
instance_value: NOW
18+
category:
19+
type: select
20+
options:
21+
values: data.faq_categories
22+
value_key: key
23+
preview:
24+
text:
25+
- key: category_name
26+
---
27+
The FluxMonitor records field data tangential $E$ and $H$ fields colocated to the cell boundaries in the monitor's 2D plane grid. It then computes and integrates the Poynting vector, returning the real part of this integral as the flux.
28+
<div> </div>
29+
<center>
30+
Real$(\sum\limits_{\text{cells in monitor}}\frac{1}{2}(E_1\cdot H_2^*-E_2\cdot H_1^*)dA_{\text{cell}})$
31+
</center><br>
32+
where $dA$ is the area of each cell in the monitor, and the field components 1 and 2 are given depending on the monitor geometry: for $x$-normal monitors, 1 is $y$ and 2 is $z$; for $y$-normal monitors, 1 is $x$ and 2 is $z$; for $z$-normal monitors, 1 is $x$ and 2 is $y$. See the code [here](https://docs.flexcompute.com/projects/tidy3d/en/latest/_modules/tidy3d/components/data/monitor_data.html#ElectromagneticFieldData).
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
_schema: default
3+
title: What is the formula for ContinuousWave?
4+
date: 2025-09-05 17:29:25
5+
enabled: true
6+
category: Sources
7+
_inputs:
8+
title:
9+
type: text
10+
label: QUESTION TITLE
11+
enabled:
12+
type: switch
13+
hidden: true
14+
date:
15+
type: datetime
16+
label: DATE
17+
instance_value: NOW
18+
category:
19+
type: select
20+
options:
21+
values: data.faq_categories
22+
value_key: key
23+
preview:
24+
text:
25+
- key: category_name
26+
---
27+
The ContinuousWave sourcetime, if the DC component is zeroed out, has the following formula:
28+
<div> </div>
29+
<center>
30+
$A(1+e^{-\frac{(t-t_o*t_w)}{t_w}})^{-1}e^{i\phi}e^{-i\omega_0 t}$
31+
</center><br>
32+
<div>where $A$ is the amplitude, $t_o$ is the time offset, $t_w=\frac{1}{2\pi f_{width}}$ is the width of the pulse in seconds, $\phi$ is the phase shift, and $\omega_0=2\pi f_0$.</div>
33+
<div>See the code [here](https://docs.flexcompute.com/projects/tidy3d/en/latest/_modules/tidy3d/components/source/time.html#ContinuousWave).</div>
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
_schema: default
3+
title: What is the formula for GaussianBeam?
4+
date: 2025-09-05 17:29:25
5+
enabled: true
6+
category: Sources
7+
_inputs:
8+
title:
9+
type: text
10+
label: QUESTION TITLE
11+
enabled:
12+
type: switch
13+
hidden: true
14+
date:
15+
type: datetime
16+
label: DATE
17+
instance_value: NOW
18+
category:
19+
type: select
20+
options:
21+
values: data.faq_categories
22+
value_key: key
23+
preview:
24+
text:
25+
- key: category_name
26+
---
27+
The GaussianBeam source has the following scalar field amplitude, in cylindrical coordinates:
28+
<div> </div>
29+
<center>
30+
$u(r,z)=\frac{w_0}{w(z)}e^{-\frac{r^2}{w(z)^2}}e^{i(zk_0 + \frac{r^2k_0}{2R(z)} - \psi_g)}$
31+
</center><br>
32+
where:
33+
<ul>
34+
<li>$z$ is the propagation direction</li>
35+
<li>$k_0=\frac{2\pi nf}{c}$ are the wavenumbers of the frequencies $f$ where the beam is sampled</li>
36+
<li>$w_0$ is the beam waist</li>
37+
<li>$w(z)=w_0\sqrt{1 + \frac{(z + z_0)^2}{z_r}}$, where $z_0$ is the waist distance and $z_r=\frac{1}{2}w_0^2k_0$ is the Rayleigh range</li>
38+
<li>$R(z)=z(1 + (\frac{z_r}{z})^2)$ is the radius of curvature of the wavefront at $z$</li>
39+
<li>$\psi_g=\arctan(\frac{z+z_0}{z_r})-\arctan(\frac{z_0}{z_r})$ is the Gouy phase</li>
40+
</ul>
41+
42+
<div>See the code [here](https://docs.flexcompute.com/projects/tidy3d/en/latest/_modules/tidy3d/components/beam.html#GaussianBeamProfile).</div>
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
_schema: default
3+
title: What is the formula for GaussianPulse?
4+
date: 2025-09-05 17:29:25
5+
enabled: true
6+
category: Sources
7+
_inputs:
8+
title:
9+
type: text
10+
label: QUESTION TITLE
11+
enabled:
12+
type: switch
13+
hidden: true
14+
date:
15+
type: datetime
16+
label: DATE
17+
instance_value: NOW
18+
category:
19+
type: select
20+
options:
21+
values: data.faq_categories
22+
value_key: key
23+
preview:
24+
text:
25+
- key: category_name
26+
---
27+
The GaussianPulse sourcetime, if the DC component is zeroed out, has the following formula:
28+
<div> </div>
29+
<center>
30+
$(i+\frac{t}{t_w^2\omega_0})Ae^{i\phi}e^{-i\omega_0 t}e^{-\frac{(t - t_o*t_w)^2}{2t_w^2}}$
31+
</center><br>
32+
<div> </div>
33+
<div>If the DC component is not zeroed out, the formula is</div><br>
34+
<center>
35+
$iAe^{i\phi}e^{-i\omega_0 t}e^{-\frac{(t - t_o*t_w)^2}{2t_w^2}}$
36+
</center><br>
37+
<div>where $A$ is the amplitude, $t_o$ is the time offset, $t_w=\frac{1}{2\pi f_{width}}$ is the width of the pulse in seconds, $\phi$ is the phase shift, and $\omega_0=2\pi f_0$.</div>
38+
<div>See the code [here](https://docs.flexcompute.com/projects/tidy3d/en/latest/_modules/tidy3d/components/source/time.html#GaussianPulse).</div>

0 commit comments

Comments
 (0)