Skip to content

Commit

Permalink
Progress bar in Device.mutual_inductance_matrix() (#111)
Browse files Browse the repository at this point in the history
* Disable progress bar in Device.mutual_inductance_matrix

* Run notebooks
  • Loading branch information
loganbvh authored Jan 18, 2024
1 parent f90a5a5 commit deee6ae
Show file tree
Hide file tree
Showing 7 changed files with 28 additions and 71 deletions.
8 changes: 4 additions & 4 deletions docs/notebooks/field-sources.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
"data": {
"text/html": [
"<table><tr><th>Software</th><th>Version</th></tr><tr><td>SuperScreen</td><td>0.10.5</td></tr><tr><td>Numpy</td><td>1.23.3</td></tr><tr><td>Numba</td><td>0.57.0</td></tr><tr><td>SciPy</td><td>1.9.1</td></tr><tr><td>matplotlib</td><td>3.6.0</td></tr><tr><td>IPython</td><td>8.5.0</td></tr><tr><td>Python</td><td>3.9.13 | packaged by conda-forge | (main, May 27 2022, 17:01:00) \n",
"[Clang 13.0.1 ]</td></tr><tr><td>OS</td><td>posix [darwin]</td></tr><tr><td>Number of CPUs</td><td>Physical: 10, Logical: 10</td></tr><tr><td>BLAS Info</td><td>OPENBLAS</td></tr><tr><td colspan='2'>Fri Nov 03 08:50:12 2023 PDT</td></tr></table>"
"[Clang 13.0.1 ]</td></tr><tr><td>OS</td><td>posix [darwin]</td></tr><tr><td>Number of CPUs</td><td>Physical: 10, Logical: 10</td></tr><tr><td>BLAS Info</td><td>OPENBLAS</td></tr><tr><td colspan='2'>Thu Jan 18 08:46:40 2024 PST</td></tr></table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
Expand Down Expand Up @@ -142,9 +142,9 @@
"name": "stdout",
"output_type": "stream",
"text": [
"x = 0.4017257109450827\n",
"y = 0.050869003224076836\n",
"z = 0.6940796507836845\n",
"x = 0.22998648184277426\n",
"y = 0.05529194576126173\n",
"z = 0.06594234254606635\n",
"field(x, y, z) = 5.0\n"
]
}
Expand Down
2 changes: 1 addition & 1 deletion docs/notebooks/logo.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
"data": {
"text/html": [
"<table><tr><th>Software</th><th>Version</th></tr><tr><td>SuperScreen</td><td>0.10.5</td></tr><tr><td>Numpy</td><td>1.23.3</td></tr><tr><td>Numba</td><td>0.57.0</td></tr><tr><td>SciPy</td><td>1.9.1</td></tr><tr><td>matplotlib</td><td>3.6.0</td></tr><tr><td>IPython</td><td>8.5.0</td></tr><tr><td>Python</td><td>3.9.13 | packaged by conda-forge | (main, May 27 2022, 17:01:00) \n",
"[Clang 13.0.1 ]</td></tr><tr><td>OS</td><td>posix [darwin]</td></tr><tr><td>Number of CPUs</td><td>Physical: 10, Logical: 10</td></tr><tr><td>BLAS Info</td><td>OPENBLAS</td></tr><tr><td colspan='2'>Fri Nov 03 08:49:37 2023 PDT</td></tr></table>"
"[Clang 13.0.1 ]</td></tr><tr><td>OS</td><td>posix [darwin]</td></tr><tr><td>Number of CPUs</td><td>Physical: 10, Logical: 10</td></tr><tr><td>BLAS Info</td><td>OPENBLAS</td></tr><tr><td colspan='2'>Thu Jan 18 08:46:09 2024 PST</td></tr></table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
Expand Down
18 changes: 9 additions & 9 deletions docs/notebooks/polygons.ipynb

Large diffs are not rendered by default.

37 changes: 4 additions & 33 deletions docs/notebooks/quickstart.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
"data": {
"text/html": [
"<table><tr><th>Software</th><th>Version</th></tr><tr><td>SuperScreen</td><td>0.10.5</td></tr><tr><td>Numpy</td><td>1.23.3</td></tr><tr><td>Numba</td><td>0.57.0</td></tr><tr><td>SciPy</td><td>1.9.1</td></tr><tr><td>matplotlib</td><td>3.6.0</td></tr><tr><td>IPython</td><td>8.5.0</td></tr><tr><td>Python</td><td>3.9.13 | packaged by conda-forge | (main, May 27 2022, 17:01:00) \n",
"[Clang 13.0.1 ]</td></tr><tr><td>OS</td><td>posix [darwin]</td></tr><tr><td>Number of CPUs</td><td>Physical: 10, Logical: 10</td></tr><tr><td>BLAS Info</td><td>OPENBLAS</td></tr><tr><td colspan='2'>Fri Nov 03 08:49:17 2023 PDT</td></tr></table>"
"[Clang 13.0.1 ]</td></tr><tr><td>OS</td><td>posix [darwin]</td></tr><tr><td>Number of CPUs</td><td>Physical: 10, Logical: 10</td></tr><tr><td>BLAS Info</td><td>OPENBLAS</td></tr><tr><td colspan='2'>Thu Jan 18 08:41:56 2024 PST</td></tr></table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
Expand Down Expand Up @@ -1101,27 +1101,13 @@
"id": "426cdccd",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Holes: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:01<00:00, 1.88it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mutual inductance matrix shape: (2, 2)\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
},
{
"data": {
"text/html": [
Expand Down Expand Up @@ -1188,15 +1174,7 @@
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Holes: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 2.41it/s]\n"
]
}
],
"outputs": [],
"source": [
"# n = 0 fluxoid state, apply a field of 1 mT\n",
"solution = sc.find_fluxoid_solution(\n",
Expand Down Expand Up @@ -1425,21 +1403,14 @@
"execution_count": 46,
"id": "4a363ca4",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Solver iterations: 100%|█████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:02<00:00, 4.30it/s]\n"
]
}
],
"outputs": [],
"source": [
"I_bias = \"1 mA\"\n",
"solutions = sc.solve(\n",
" device,\n",
" terminal_currents={\"bias_line\": {\"source\": I_bias, \"drain\": f\"-{I_bias}\"}},\n",
" iterations=10,\n",
" progress_bar=False,\n",
")"
]
},
Expand Down
16 changes: 3 additions & 13 deletions docs/notebooks/scanning-squid.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
"data": {
"text/html": [
"<table><tr><th>Software</th><th>Version</th></tr><tr><td>SuperScreen</td><td>0.10.5</td></tr><tr><td>Numpy</td><td>1.23.3</td></tr><tr><td>Numba</td><td>0.57.0</td></tr><tr><td>SciPy</td><td>1.9.1</td></tr><tr><td>matplotlib</td><td>3.6.0</td></tr><tr><td>IPython</td><td>8.5.0</td></tr><tr><td>Python</td><td>3.9.13 | packaged by conda-forge | (main, May 27 2022, 17:01:00) \n",
"[Clang 13.0.1 ]</td></tr><tr><td>OS</td><td>posix [darwin]</td></tr><tr><td>Number of CPUs</td><td>Physical: 10, Logical: 10</td></tr><tr><td>BLAS Info</td><td>OPENBLAS</td></tr><tr><td colspan='2'>Fri Nov 03 08:50:53 2023 PDT</td></tr></table>"
"[Clang 13.0.1 ]</td></tr><tr><td>OS</td><td>posix [darwin]</td></tr><tr><td>Number of CPUs</td><td>Physical: 10, Logical: 10</td></tr><tr><td>BLAS Info</td><td>OPENBLAS</td></tr><tr><td colspan='2'>Thu Jan 18 08:44:05 2024 PST</td></tr></table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
Expand Down Expand Up @@ -155,18 +155,7 @@
"execution_count": 6,
"id": "3a391d13",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Solver iterations: 100%|███████████████████████████████████████████████████████████████████████████████████████████████| 5/5 [00:01<00:00, 2.71it/s]\n",
"Solver iterations: 100%|███████████████████████████████████████████████████████████████████████████████████████████████| 5/5 [00:01<00:00, 3.15it/s]\n",
"Solver iterations: 100%|███████████████████████████████████████████████████████████████████████████████████████████████| 5/5 [00:03<00:00, 1.29it/s]\n",
"Solver iterations: 100%|███████████████████████████████████████████████████████████████████████████████████████████████| 5/5 [00:03<00:00, 1.46it/s]\n"
]
}
],
"outputs": [],
"source": [
"solutions = {}\n",
"I_fc = \"1 mA\"\n",
Expand All @@ -177,6 +166,7 @@
" squid,\n",
" terminal_currents={\"fc\": {\"source\": I_fc, \"drain\": f\"-{I_fc}\"}},\n",
" iterations=5,\n",
" progress_bar=False,\n",
" )[-1]"
]
},
Expand Down
12 changes: 2 additions & 10 deletions docs/notebooks/terminal-currents.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@
"data": {
"text/html": [
"<table><tr><th>Software</th><th>Version</th></tr><tr><td>SuperScreen</td><td>0.10.5</td></tr><tr><td>Numpy</td><td>1.23.3</td></tr><tr><td>Numba</td><td>0.57.0</td></tr><tr><td>SciPy</td><td>1.9.1</td></tr><tr><td>matplotlib</td><td>3.6.0</td></tr><tr><td>IPython</td><td>8.5.0</td></tr><tr><td>Python</td><td>3.9.13 | packaged by conda-forge | (main, May 27 2022, 17:01:00) \n",
"[Clang 13.0.1 ]</td></tr><tr><td>OS</td><td>posix [darwin]</td></tr><tr><td>Number of CPUs</td><td>Physical: 10, Logical: 10</td></tr><tr><td>BLAS Info</td><td>OPENBLAS</td></tr><tr><td colspan='2'>Fri Nov 03 08:50:39 2023 PDT</td></tr></table>"
"[Clang 13.0.1 ]</td></tr><tr><td>OS</td><td>posix [darwin]</td></tr><tr><td>Number of CPUs</td><td>Physical: 10, Logical: 10</td></tr><tr><td>BLAS Info</td><td>OPENBLAS</td></tr><tr><td colspan='2'>Thu Jan 18 08:43:17 2024 PST</td></tr></table>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
Expand Down Expand Up @@ -475,15 +475,7 @@
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Holes: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 2.77it/s]\n"
]
}
],
"outputs": [],
"source": [
"terminal_currents = {\"film\": {\"source\": \"100 uA\", \"drain\": \"-100 uA\"}}\n",
"\n",
Expand Down
6 changes: 5 additions & 1 deletion superscreen/device/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,7 @@ def mutual_inductance_matrix(
hole_polygon_mapping: Optional[Dict[str, np.ndarray]] = None,
units: str = "pH",
all_iterations: bool = False,
progress_bar: bool = False,
**solve_kwargs,
) -> Union[np.ndarray, List[np.ndarray]]:
"""Calculates the mutual inductance matrix :math:`\\mathbf{M}` for the Device.
Expand All @@ -558,6 +559,7 @@ def mutual_inductance_matrix(
units: The units in which to report the mutual inductance.
all_iterations: Whether to return mutual inductance matrices for all
``iterations + 1`` solutions, or just the final solution.
progress_bar: Display a progress bar.
solve_kwargs: Keyword arguments passed to :func:`superscreen.solve.solve`,
e.g. ``iterations``.
Expand Down Expand Up @@ -585,8 +587,10 @@ def mutual_inductance_matrix(
f"Hole '{hole_name}' is not completely contained "
f"within the given polygon."
)
solve_kwargs = solve_kwargs.copy()
iterations = solve_kwargs.get("iterations", 1)
solve_kwargs["current_units"] = None
solve_kwargs["progress_bar"] = False
# The magnitude of this current is not important
I_circ = self.ureg("1 mA")
if all_iterations:
Expand All @@ -602,7 +606,7 @@ def mutual_inductance_matrix(
films_by_hole[hole.name] = film
model = None
for j, hole_name in enumerate(
tqdm(hole_polygon_mapping, desc="Holes", disable=n_holes < 2)
tqdm(hole_polygon_mapping, desc="Holes", disable=(not progress_bar))
):
logger.info(
f"Evaluating {self.name!r} mutual inductance matrix "
Expand Down

0 comments on commit deee6ae

Please sign in to comment.