Skip to content

fix typos #185

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
- Improve plotting function

## v0.1.10
- Add backward compatability for "Fix Typo: Culomb -> Coulomb" until the end of the year
- Add backward compatibility for "Fix Typo: Culomb -> Coulomb" until the end of the year

## v0.1.9
- Improvements on the Docs
Expand Down
4 changes: 2 additions & 2 deletions docs/benchmarks/mode_solver_rectangle.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
# %% [markdown]
# Reproducing {cite}`Hadley2002`, where the modes of a analytically solvable geometry are calculated.
# The error for all modes is calculated to be smaller than $\pm 1 \cdot 10^{-8}$.
# We'll show that we get pretty close, but will stop at a resonable resolution to keep the runtime sensible.
# Getting even higher accurancy will be left open for adaptive refinement.
# We'll show that we get pretty close, but will stop at a reasonable resolution to keep the runtime sensible.
# Getting even higher accuracy will be left open for adaptive refinement.
# The results are presented here:

# %% tags=["remove-stderr", "hide-input"]
Expand Down
2 changes: 1 addition & 1 deletion docs/julia/heater_3d.jl
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ display(figure)
# end
# ```
#
# And then add to each of the calculate-calls the sovler parameter:
# And then add to each of the calculate-calls the solver parameter:
#
# ```julia
# solver = PETScLinearSolver()
Expand Down
2 changes: 1 addition & 1 deletion docs/julia/thermal_fill.jl
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
# Optically, these structures are supposed to be far enough away that their influence on the structures can be neglected.
# But for thermal considerations, those fill structures can have an impact on the temperature distribution on the chip and thus e.g. on the crosstalk between thermal phase shifters.
# As it's computationally challenging to include all the small cuboids in the model (which is especially for the meshing a major challenge),
# a preferable approach is to consider the filled area as a homogenous area of higher thermal conductivity.
# a preferable approach is to consider the filled area as a homogeneous area of higher thermal conductivity.
# For this, we calculate the effective thermal conductivity of the filled area by examining a single unit cell.

# To have an intuitively understandable problem, we consider half of the unit cell to be filled with a highly thermally conductive material (metal/silicon) surrounded by a material with low thermal conductance (e.g. silicon dioxide)
Expand Down
4 changes: 2 additions & 2 deletions docs/julia/thermal_simple.jl
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ using Femwell.Thermal
# %% [markdown]
# We start with setting up a square domain.
# For the boundary conditions, we tag the left and the right side of the model.
# Furthermore, we create a function which returns 1 indipendent of the tag which is the parameter to descrie the constants of the simplified model.
# Furthermore, we create a function which returns 1 independent of the tag which is the parameter to describe the constants of the simplified model.

# %% tags=["hide-output", "remove-stderr"]
domain = (-1.0, 1.0, -1.0, 1.0)
Expand Down Expand Up @@ -84,7 +84,7 @@ println("The computed value for the average current density is $average_current_


# %% [markdown]
# Using this value, we can caluclate the average power density as
# Using this value, we can calculate the average power density as
#
# $$
# p = k i^2
Expand Down
2 changes: 1 addition & 1 deletion docs/julia/waveguide_overlap_integral.jl
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
# In order to see how good the estimation of the overlap integral is and to see at which distance the coupling is too weak to be estimated precisely using this methodology,
# we calculate the coupling as a function of the distance in the following.
#
# For this example we chose two silicon nitride waveguides with a width of 1μm and a thickness of 0.3μm. Those waveguides are ontop of a silicon dioxide layer and air-clad.
# For this example we chose two silicon nitride waveguides with a width of 1μm and a thickness of 0.3μm. Those waveguides are on top of a silicon dioxide layer and air-clad.

# %% tags=["hide-input","hide-output"]
using PyCall
Expand Down
4 changes: 2 additions & 2 deletions docs/math/coupled_mode_theory.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ $$
\vec{H}_\nu(\vec{x})\mathrm{e}^{i\beta x_3}
$$

We use as previously Maxwell's equations, but here we include a spatially dependen pertubation,
We use as previously Maxwell's equations, but here we include a spatially dependen perturbation,
which is represented by the additionally included polarization $\mathcal{P}$.
As we investigate a linear system, we assume that the pertubation at the same frequency $\omega$
As we investigate a linear system, we assume that the perturbation at the same frequency $\omega$

$$
&
Expand Down
6 changes: 3 additions & 3 deletions docs/math/dispersion.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ $$
kx_3 = \omega t + \mathrm{const}.
$$

From this we can calulate the velocity of points of constant phase as
From this we can calculate the velocity of points of constant phase as

$$
v_p = \frac{\mathrm{d}x_3}{\mathrm{d}t} = \frac{\omega}{k}.
Expand Down Expand Up @@ -77,7 +77,7 @@ $$
v_g = \frac{\mathrm{d}x_3}{\mathrm{d}t} = \frac{\mathrm{d}\omega}{\mathrm{d}k}.
$$

As the energy of a wave is porportional to its field amplitude squared,
As the energy of a wave is proportional to its field amplitude squared,
the energie is concentrated in areas where the envelope is large.
Thus, the energy (and therefore also information)
travels with the group velocity,
Expand All @@ -95,7 +95,7 @@ $$
\frac{\mathrm{d}}{\mathrm{d}\omega}v_g^{-1} \neq 0
$$

A dimensionless coefficient for the group velocity dispersion can be defiend as
A dimensionless coefficient for the group velocity dispersion can be defined as

$$
D
Expand Down
4 changes: 2 additions & 2 deletions docs/math/maxwell.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ $$\begin{aligned}


## Interface between piecewise constant materials
It is instructive to consider the well-known case of an interface $I$ between two dielectric materials, which appear in many devices. We assume an interface between two materials called $1$ with dielectric constant $\varepsilon_1$ and $2$ with dielectric constant $\varepsilon_2$. The surface is defined by the normal vector of the interface $\mathbf{n}_{I}$ and there are no external surface charges or currents. For simplicity, we surpress the dependencies $\left(\mathbf{r},t\right)$ here.
It is instructive to consider the well-known case of an interface $I$ between two dielectric materials, which appear in many devices. We assume an interface between two materials called $1$ with dielectric constant $\varepsilon_1$ and $2$ with dielectric constant $\varepsilon_2$. The surface is defined by the normal vector of the interface $\mathbf{n}_{I}$ and there are no external surface charges or currents. For simplicity, we suppress the dependencies $\left(\mathbf{r},t\right)$ here.

All fields can then be split into the component parallel to the interface (hence perpendicular to the normal vector) and perpendicular to the interface (hence parallel to the normal vector). For example we consider the electric field: Define the normalized field vector $\hat{\mathbf{E}}=\mathbf{E}/E$ we split it into

Expand Down Expand Up @@ -249,7 +249,7 @@ $$\begin{aligned}
+ \epsilon E_3(\mathbf{r})
= 0 \end{aligned}
$$
Now we have reduced the system to two dimensions by excuting the derivatives.
Now we have reduced the system to two dimensions by executing the derivatives.

### Variational eigenvalue problem
In FEM simulations, we solve these equations by a variational ansatz. That means, we take test functions, that are defined on the same space that the wave functions, and search for the optimum. To efficiently solve this, we rewrite the equations from above into an eigenvalue problem.
Expand Down
8 changes: 4 additions & 4 deletions docs/math/schroedinger.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ $$
\varphi_{1/3}(x)
$$

which can similary be solved using
which can similarly be solved using

$$
\varphi_{1/3} = C \sin(k^` x) + D \cos(k^` x)
Expand Down Expand Up @@ -154,7 +154,7 @@ A \sin(k x) + B \cos(k x), &-L/2<&x&<L/2
\end{cases}
$$

as the solutions need to be continous and differentiable, i.e.
as the solutions need to be continuous and differentiable, i.e.

$$
\varphi_1(-L/2) = \varphi_2(-L/2) \quad \varphi_2(L/2) = \varphi_3(L/2)
Expand All @@ -174,7 +174,7 @@ $$
\left.\frac{\mathrm{d}\varphi_3}{\mathrm{d}x}\right|_{x=L/2}
$$

which leads to $A=0$ and $G=H$ for the symmetric case and $B=0$ and $G=-H$ for the assymetric case.
which leads to $A=0$ and $G=H$ for the symmetric case and $B=0$ and $G=-H$ for the asymmetric case.

this leads for the symmetric case to the conditions

Expand All @@ -187,7 +187,7 @@ H \mathrm{e}^{-\alpha L/2} = B \cos(kL/2)
\alpha = k \tan(kL/2)
$$

and for the assymetric case to
and for the asymmetric case to

$$
H \mathrm{e}^{-\alpha L/2} = B \sin(kL/2)
Expand Down
2 changes: 1 addition & 1 deletion docs/photonics/examples/calculate_GVD.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ def n_SiO2(wavelength):
axs[2].set_xlabel("Wavelength / nm")
axs[2].set_ylim(-1000, 200)
axs[2].set_xlim(500, 2200)
axs[2].set_title("GVD paramter")
axs[2].set_title("GVD parameter")
axs[2].legend()

plt.tight_layout()
Expand Down
2 changes: 1 addition & 1 deletion docs/photonics/examples/coupled_mode_theory.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@
modes_both[0].show(modes_both[0].E.real, direction="x")
modes_both[1].show(modes_both[1].E.real, direction="x")
print(
"Refractive index of symmetric and assymetric mode:",
"Refractive index of symmetric and asymmetric mode:",
modes_both[0].n_eff,
", ",
modes_both[1].n_eff,
Expand Down
2 changes: 1 addition & 1 deletion docs/photonics/examples/metal_heater_phase_shifter.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
# We'll reproduce the TiN TOPS heater presented in {cite}`Jacques2019`.
# First we set up the mesh:

# It consists of a substrate, with a box layer ontop.
# It consists of a substrate, with a box layer on top.
# On the box layer, a waveguide is structured. In this example it's a silicon waveguide, which has a quite high thermal optical coefficient.

# Above the waveguide, within the deposited cladding layer, a TiN resistor is placed for heating up the thermal phase shifter.
Expand Down
4 changes: 2 additions & 2 deletions docs/photonics/examples/vary_width.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
# # Variation of the width
#
# To understand the propagation in a waveguide, it's often helpful to look at how the effective refractive indices of the modes change when adjusting the width of the waveguide.
# As the modes continously change their refractive index, we can track them through their evolution.
# We gray the area which would indicate a effective refractive index below the refractive index of the underlying layer (commonly refered to as box), as such modes would not be guided.
# As the modes continuously change their refractive index, we can track them through their evolution.
# We gray the area which would indicate a effective refractive index below the refractive index of the underlying layer (commonly referred to as box), as such modes would not be guided.
# The refractive index of the box called "cutoff", as it defines the effective refractive index level under which modes stop being guided.

# %% tags=["hide-input"]
Expand Down
2 changes: 1 addition & 1 deletion docs/photonics/reference_data/REFERENCES.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ This folder contains the data extracted from papers and used in the examples. Cu

* Rukhlenko: _Ivan D. Rukhlenko, Malin Premaratne, and Govind P. Agrawal, "Effective mode area and its optimization in silicon-nanocrystal waveguides," Opt. Lett. 37, 2295-2297 (2012)_ doi:[10.1364/OL.37.002295](https://doi.org/10.1364/OL.37.002295)

* Klenner: _Alexander Klenner, Aline S. Mayer, Adrea R. Johnson, Kevin Luke, Michael R. E. Lamont, Yoshitomo Okawachi, Michal Lipson, Alexander L. Gaeta, and Ursula Keller, "Gigahertz frequency comb offset stabilization based on supercontinuum generation in silicon nitride waveguides," Opt. Express 24, 11043-11053 (2016)_ doi:[10.1364/OE.24.011043](https://doi.org/10.1364/OE.24.011043)
* Klenner: _Alexander Klenner, Aline S. Mayer, Area R. Johnson, Kevin Luke, Michael R. E. Lamont, Yoshitomo Okawachi, Michal Lipson, Alexander L. Gaeta, and Ursula Keller, "Gigahertz frequency comb offset stabilization based on supercontinuum generation in silicon nitride waveguides," Opt. Express 24, 11043-11053 (2016)_ doi:[10.1364/OE.24.011043](https://doi.org/10.1364/OE.24.011043)
2 changes: 1 addition & 1 deletion docs/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ @article{Klenner2016
number = {10},
journal = {Optics Express},
publisher = {The Optical Society},
author = {Alexander Klenner and Aline S. Mayer and Adrea R. Johnson and Kevin Luke and Michael R. E. Lamont and Yoshitomo Okawachi and Michal Lipson and Alexander L. Gaeta and Ursula Keller},
author = {Alexander Klenner and Aline S. Mayer and Area R. Johnson and Kevin Luke and Michael R. E. Lamont and Yoshitomo Okawachi and Michal Lipson and Alexander L. Gaeta and Ursula Keller},
year = {2016},
month = may,
pages = {11043}
Expand Down
2 changes: 1 addition & 1 deletion femwell/eme.py.bak
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ if __name__ == "__main__":
2.0,
2.0,
2.0,
), # how much of backgorund tag to add to each side of the simulatoin
), # how much of background tag to add to each side of the simulatoin
filename=f"mesh_x_{x1}.msh",
)
)
Expand Down
2 changes: 1 addition & 1 deletion femwell/mesh.py
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ def mesh_from_polygons(
]
)

# The order in which objects are inserted into the OrderedDict determines overrrides
# The order in which objects are inserted into the OrderedDict determines overrides
shapes = OrderedDict()
shapes["left_edge"] = left_edge
shapes["right_edge"] = right_edge
Expand Down
2 changes: 1 addition & 1 deletion femwell/mesh/mesh.py
Original file line number Diff line number Diff line change
Expand Up @@ -585,7 +585,7 @@ def validate_lines(line1, line2):
# Point(wsim/2, -hcore/2),
# ])

# # The order in which objects are inserted into the OrderedDict determines overrrides
# # The order in which objects are inserted into the OrderedDict determines overrides
# # shapes = OrderedDict()
# shapes = {}
# # shapes["left_edge"] = left_edge
Expand Down
4 changes: 2 additions & 2 deletions femwell/mesh/slice.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ def slice_component_xbounds(component, layerstack, mesh_step=100 * nm):
2.0,
2.0,
2.0,
), # how much of backgorund tag to add to each side of the simulatoin
), # how much of background tag to add to each side of the simulatoin
filename="mesh_x1.msh",
)

Expand All @@ -275,6 +275,6 @@ def slice_component_xbounds(component, layerstack, mesh_step=100 * nm):
2.0,
2.0,
2.0,
), # how much of backgorund tag to add to each side of the simulatoin
), # how much of background tag to add to each side of the simulatoin
filename="mesh_x2.msh",
)
2 changes: 1 addition & 1 deletion femwell/tests/test_mesh.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ def test_lines():
top_edge = LineString([(-wsim / 2, -hcore / 2 + hclad), (wsim / 2, -hcore / 2 + hclad)])
bottom_edge = LineString([(-wsim / 2, -hcore / 2 - hbox), (wsim / 2, -hcore / 2 - hbox)])

# The order in which objects are inserted into the OrderedDict determines overrrides
# The order in which objects are inserted into the OrderedDict determines overrides
shapes = OrderedDict()
shapes["left_edge"] = left_edge
shapes["right_edge"] = right_edge
Expand Down
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,6 @@ Documentation = "https://HelgeGehring.github.io/femwell/"

[tool.black]
line-length = 100

[tool.codespell]
ignore-words-list = "te, te/tm, te, ba, fpr, fpr_spacing, ro, nd, donot, schem, hsi"
Loading