slightly wrong pv diagrams

This commit is contained in:
valentin.boettcher@mailbox.tu-dresden.de 2023-11-01 13:25:05 -04:00
parent ea5801c369
commit cc14be1377
No known key found for this signature in database
GPG key ID: E034E12B7AF56ACE
42 changed files with 11032 additions and 8617 deletions

View file

@ -1,6 +1,7 @@
import matplotlib.pyplot as plt
import plot_utils as pu
from hiro_models.otto_cycle import OttoEngine
from hiro_models.otto_cycle import OttoEngine, SmoothlyInterpolatdPeriodicMatrix
from hops.util.dynamic_matrix import *
import numpy as np
import figsaver as fs
import hiro_models.model_auxiliary as aux
@ -503,14 +504,16 @@ def plot_contour(
return cont, (x_labels, y_labels, values)
def val_relative_to_steady(model, val, steady_idx, shift=0):
def val_relative_to_steady(model, val, steady_idx, shift=0, absolute=False):
shift_idx = int(1 / model.dt * shift)
begin_idx = model.strobe[1][steady_idx] - shift_idx
end_idx = -shift_idx if shift != 0 else -2
return model.t[begin_idx : end_idx + 1], (
val.slice(slice(begin_idx - 1, end_idx, 1)) - val.slice(begin_idx - 1)
)
final_value = val.slice(slice(begin_idx - 1, end_idx, 1))
if not absolute:
final_value = final_value - val.slice(begin_idx - 1)
return (model.t[begin_idx : end_idx + 1], final_value)
def timings(τ_c, τ_i):
@ -598,121 +601,57 @@ def add_arrow(line, start_ind=None, direction="right", size=15, color=None):
)
from collections import deque
from itertools import islice
from matplotlib import collections as mc
from matplotlib.colors import colorConverter
import numpy as np
def sliding_window(iterable, n):
"""
sliding_window('ABCDEFG', 4) -> ABCD BCDE CDEF DEFG
recipe from python docs
"""
it = iter(iterable)
window = deque(islice(it, n), maxlen=n)
if len(window) == n:
yield tuple(window)
for x in it:
window.append(x)
yield tuple(window)
def color_gradient(x, y, c1, c2, **kwargs):
"""
Creates a line collection with a gradient from colors c1 to c2,
from data x and y.
"""
n = len(x)
if len(y) != n:
raise ValueError("x and y data lengths differ")
return mc.LineCollection(
sliding_window(zip(x, y), 2),
colors=np.linspace(colorConverter.to_rgb(c1), colorConverter.to_rgb(c2), n - 1),
**kwargs,
)
def plot_modulation_interaction_diagram(model, steady_idx, bath=0):
fig, ax = plt.subplots()
t, inter = val_relative_to_steady(
model,
(model.interaction_energy().for_bath(bath)),
steady_idx,
)
modulation = model.coupling_operators[bath].operator_norm(t)
@pu.wrap_plot
def plot_state_change_diagram(modulation, value, phase_indices, ax=None):
all_modulation = model.coupling_operators[bath].operator_norm(t)
phase_indices = (
np.array(model.coupling_operators[bath]._matrix._timings) * (len(t) - 1)
).astype(np.int64)
modulation_speed = modulation[1:] - modulation[:-1]
value_speed = inter.value[1:] - inter.value[:-1]
modulation_windowed = all_modulation[phase_indices[0] : phase_indices[-1]]
value_windowed = inter.value[phase_indices[0] : phase_indices[-1]]
norm = np.sqrt((modulation_speed ** 2 + value_speed ** 2))
modulation_speed = np.divide(modulation_speed, norm, where=norm > 0)
value_speed = np.divide(value_speed, norm, where=norm > 0)
ax.plot(modulation_windowed, value_windowed, linewidth=3, color="cornflowerblue")
ax.add_collection(
color_gradient(modulation, inter.value, "blue", "red", linewidth=3)
color_gradient(
modulation_windowed, value_windowed, "cornflowerblue", "red", linewidth=3
)
)
for begin, end in zip(phase_indices[:-1], phase_indices[1:]):
modulation_segment = modulation[begin:end]
value_segment = inter.value[begin:end]
interior_begin = int((end - begin) * 0.2 + begin)
interior_end = int((end - begin) * 0.9 + begin)
modulation_directions = modulation_speed[interior_begin:interior_end]
value_directions = value_speed[interior_begin:interior_end]
# (line,) = ax.plot(modulation_segment, value_segment)
# arrow_interval = int(len(modulation_directions) / 3)
# plt.quiver(
# modulation[interior_begin:interior_end:arrow_interval],
# inter.value[interior_begin:interior_end:arrow_interval],
# modulation_directions[::arrow_interval],
# value_directions[::arrow_interval],
# angles="xy",
# headaxislength=3,
# width=0.01 / 2,
# headwidth=4,
# headlength=4,
# zorder=100,
# scale=10,
# color=line.get_color(),
# )
# add_arrow(line, start_ind=(end - begin) // 2, size=20)
ax.scatter(modulation[begin], inter.value[begin], zorder=100)
ax.scatter(modulation[begin], value[begin], zorder=100, marker=".", s=200)
for i, index in enumerate(phase_indices[:-1]):
ax.text(
modulation[index] + np.max(modulation) * 0.02,
inter.value[index] + np.max(np.abs(inter.value)) * 0.01,
value[index] + np.max(np.abs(value)) * 0.01,
str(i + 1),
)
every = 50
# ax.quiver(
# modulation[::every],
# inter.value[::every],
# 1,
# 1,
# angles="xy",
# zorder=5,
# pivot="mid",
# )
bath_names = ["c", "h"]
ax.set_xlabel(rf"$||L_{bath_names[bath]}(t)||$")
ax.set_ylabel(r"$\langle{H_\mathrm{I}}\rangle$")
return fig, ax
def get_modulation_and_value(model, operator, value, steady_idx=2):
shift = 0
timing_operator = operator
while not isinstance(timing_operator, SmoothlyInterpolatdPeriodicMatrix):
if isinstance(operator, Shift):
shift = operator._delta
timing_operator = operator._matrix
if isinstance(operator, DynamicMatrixSum):
timing_operator = operator._left
t, value = val_relative_to_steady(model, value, steady_idx, absolute=True)
all_modulation = operator.operator_norm(t)
timings = np.array(timing_operator._timings)
phase_indices = (((timings + shift / model.Θ) % 1) * (len(t) - 1)).astype(np.int64)
return value.value, all_modulation, phase_indices
def plot_modulation_system_diagram(model, steady_idx):
fig, ax = plt.subplots()

View file

@ -1,682 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="424.55952pt" height="424.55952pt" viewBox="0 0 424.55952 424.55952" xmlns="http://www.w3.org/2000/svg" version="1.1">
<metadata>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<cc:Work>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:date>1980-01-01T00:00:00+00:00</dc:date>
<dc:format>image/svg+xml</dc:format>
<dc:creator>
<cc:Agent>
<dc:title>Matplotlib v3.6.2, https://matplotlib.org/</dc:title>
</cc:Agent>
</dc:creator>
</cc:Work>
</rdf:RDF>
</metadata>
<defs>
<style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
</defs>
<g id="figure_1">
<g id="patch_1">
<path d="M 0 424.55952
L 424.55952 424.55952
L 424.55952 0
L 0 0
z
" style="fill: #ffffff"/>
</g>
<g id="axes_1">
<g id="patch_2">
<path d="M 49.455544 379.795748
L 417.35952 379.795748
L 417.35952 7.2
L 49.455544 7.2
z
" style="fill: #ffffff"/>
</g>
<g id="matplotlib.axis_1">
<g id="xtick_1">
<g id="line2d_1">
<defs>
<path id="m3d38994d59" d="M 0 0
L 0 3.5
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m3d38994d59" x="66.178452" y="379.795748" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_1">
<!-- $\mathdefault{1.0}$ -->
<g transform="translate(58.076396 397.889776) scale(0.13 -0.13)">
<defs>
<path id="CMR17-31" d="M 1702 4058
C 1702 4192 1696 4192 1606 4192
C 1357 3916 979 3827 621 3827
C 602 3827 570 3827 563 3808
C 557 3795 557 3782 557 3648
C 755 3648 1088 3686 1344 3839
L 1344 461
C 1344 236 1331 160 781 160
L 589 160
L 589 0
C 896 0 1216 0 1523 0
C 1830 0 2150 0 2458 0
L 2458 160
L 2266 160
C 1715 160 1702 230 1702 458
L 1702 4058
z
" transform="scale(0.015625)"/>
<path id="CMMI12-3a" d="M 1178 307
C 1178 492 1024 619 870 619
C 685 619 557 466 557 313
C 557 128 710 0 864 0
C 1050 0 1178 153 1178 307
z
" transform="scale(0.015625)"/>
<path id="CMR17-30" d="M 2688 2025
C 2688 2416 2682 3080 2413 3591
C 2176 4039 1798 4198 1466 4198
C 1158 4198 768 4058 525 3597
C 269 3118 243 2524 243 2025
C 243 1661 250 1106 448 619
C 723 -39 1216 -128 1466 -128
C 1760 -128 2208 -7 2470 600
C 2662 1042 2688 1559 2688 2025
z
M 1466 -26
C 1056 -26 813 325 723 812
C 653 1188 653 1738 653 2096
C 653 2588 653 2997 736 3387
C 858 3929 1216 4096 1466 4096
C 1728 4096 2067 3923 2189 3400
C 2272 3036 2278 2607 2278 2096
C 2278 1680 2278 1169 2202 792
C 2067 95 1690 -26 1466 -26
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMR17-31" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-30" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="xtick_2">
<g id="line2d_2">
<g>
<use xlink:href="#m3d38994d59" x="133.070084" y="379.795748" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_2">
<!-- $\mathdefault{1.2}$ -->
<g transform="translate(124.968028 397.889776) scale(0.13 -0.13)">
<defs>
<path id="CMR17-32" d="M 2669 989
L 2554 989
C 2490 536 2438 459 2413 420
C 2381 369 1920 369 1830 369
L 602 369
C 832 619 1280 1072 1824 1597
C 2214 1967 2669 2402 2669 3035
C 2669 3790 2067 4224 1395 4224
C 691 4224 262 3604 262 3030
C 262 2780 448 2748 525 2748
C 589 2748 781 2787 781 3010
C 781 3207 614 3264 525 3264
C 486 3264 448 3258 422 3245
C 544 3790 915 4058 1306 4058
C 1862 4058 2227 3617 2227 3035
C 2227 2479 1901 2000 1536 1584
L 262 146
L 262 0
L 2515 0
L 2669 989
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMR17-31" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-32" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="xtick_3">
<g id="line2d_3">
<g>
<use xlink:href="#m3d38994d59" x="199.961716" y="379.795748" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_3">
<!-- $\mathdefault{1.4}$ -->
<g transform="translate(191.85966 397.889776) scale(0.13 -0.13)">
<defs>
<path id="CMR17-34" d="M 2150 4122
C 2150 4256 2144 4256 2029 4256
L 128 1254
L 128 1088
L 1779 1088
L 1779 457
C 1779 224 1766 160 1318 160
L 1197 160
L 1197 0
C 1402 0 1747 0 1965 0
C 2182 0 2528 0 2733 0
L 2733 160
L 2611 160
C 2163 160 2150 224 2150 457
L 2150 1088
L 2803 1088
L 2803 1254
L 2150 1254
L 2150 4122
z
M 1798 3703
L 1798 1254
L 256 1254
L 1798 3703
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMR17-31" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-34" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="xtick_4">
<g id="line2d_4">
<g>
<use xlink:href="#m3d38994d59" x="266.853348" y="379.795748" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_4">
<!-- $\mathdefault{1.6}$ -->
<g transform="translate(258.751292 397.889776) scale(0.13 -0.13)">
<defs>
<path id="CMR17-36" d="M 678 2176
C 678 3690 1395 4032 1811 4032
C 1946 4032 2272 4009 2400 3776
C 2298 3776 2106 3776 2106 3553
C 2106 3381 2246 3323 2336 3323
C 2394 3323 2566 3348 2566 3560
C 2566 3954 2246 4179 1805 4179
C 1043 4179 243 3390 243 1984
C 243 253 966 -128 1478 -128
C 2099 -128 2688 427 2688 1283
C 2688 2081 2170 2662 1517 2662
C 1126 2662 838 2407 678 1960
L 678 2176
z
M 1478 25
C 691 25 691 1200 691 1436
C 691 1896 909 2560 1504 2560
C 1613 2560 1926 2560 2138 2120
C 2253 1870 2253 1609 2253 1289
C 2253 944 2253 690 2118 434
C 1978 171 1773 25 1478 25
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMR17-31" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-36" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="xtick_5">
<g id="line2d_5">
<g>
<use xlink:href="#m3d38994d59" x="333.74498" y="379.795748" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_5">
<!-- $\mathdefault{1.8}$ -->
<g transform="translate(325.642924 397.889776) scale(0.13 -0.13)">
<defs>
<path id="CMR17-38" d="M 1741 2264
C 2144 2467 2554 2773 2554 3263
C 2554 3841 1990 4179 1472 4179
C 890 4179 378 3759 378 3180
C 378 3021 416 2747 666 2505
C 730 2442 998 2251 1171 2130
C 883 1983 211 1634 211 934
C 211 279 838 -128 1459 -128
C 2144 -128 2720 362 2720 1010
C 2720 1590 2330 1857 2074 2029
L 1741 2264
z
M 902 2822
C 851 2854 595 3051 595 3351
C 595 3739 998 4032 1459 4032
C 1965 4032 2336 3676 2336 3262
C 2336 2669 1670 2331 1638 2331
C 1632 2331 1626 2331 1574 2370
L 902 2822
z
M 2080 1519
C 2176 1449 2483 1240 2483 851
C 2483 381 2010 25 1472 25
C 890 25 448 438 448 940
C 448 1443 838 1862 1280 2060
L 2080 1519
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMR17-31" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-38" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="xtick_6">
<g id="line2d_6">
<g>
<use xlink:href="#m3d38994d59" x="400.636612" y="379.795748" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_6">
<!-- $\mathdefault{2.0}$ -->
<g transform="translate(392.534556 397.889776) scale(0.13 -0.13)">
<use xlink:href="#CMR17-32" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-30" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="text_7">
<!-- $||H_\mathrm{S}||$ -->
<g transform="translate(218.121349 414.121662) scale(0.13 -0.13)">
<defs>
<path id="CMSY10-6a" d="M 1018 4570
C 1018 4685 1018 4800 890 4800
C 762 4800 762 4685 762 4570
L 762 -1370
C 762 -1485 762 -1600 890 -1600
C 1018 -1600 1018 -1485 1018 -1370
L 1018 4570
z
" transform="scale(0.015625)"/>
<path id="CMMI12-48" d="M 4787 3887
C 4845 4103 4858 4167 5312 4167
C 5427 4167 5491 4167 5491 4282
C 5491 4352 5434 4352 5395 4352
C 5280 4352 5146 4352 5024 4352
L 4269 4352
C 4147 4352 4013 4352 3891 4352
C 3846 4352 3770 4352 3770 4231
C 3770 4167 3814 4167 3936 4167
C 4320 4167 4320 4116 4320 4046
C 4320 4034 4320 3995 4294 3900
L 3904 2361
L 1971 2361
L 2355 3887
C 2413 4103 2426 4167 2880 4167
C 2995 4167 3059 4167 3059 4282
C 3059 4352 3002 4352 2963 4352
C 2848 4352 2714 4352 2592 4352
L 1837 4352
C 1715 4352 1581 4352 1459 4352
C 1414 4352 1338 4352 1338 4231
C 1338 4167 1382 4167 1504 4167
C 1888 4167 1888 4116 1888 4046
C 1888 4034 1888 3995 1862 3899
L 998 472
C 941 249 928 185 486 185
C 339 185 294 185 294 64
C 294 0 365 0 384 0
C 499 0 634 0 755 0
L 1510 0
C 1632 0 1766 0 1888 0
C 1939 0 2010 0 2010 121
C 2010 185 1952 185 1856 185
C 1466 185 1466 236 1466 300
C 1466 307 1466 351 1478 402
L 1920 2176
L 3859 2176
C 3750 1753 3424 416 3411 376
C 3341 185 3238 185 2861 185
C 2784 185 2726 185 2726 64
C 2726 0 2797 0 2816 0
C 2931 0 3066 0 3187 0
L 3942 0
C 4064 0 4198 0 4320 0
C 4371 0 4442 0 4442 121
C 4442 185 4384 185 4288 185
C 3898 185 3898 236 3898 300
C 3898 307 3898 351 3910 402
L 4787 3887
z
" transform="scale(0.015625)"/>
<path id="CMR17-53" d="M 2803 4290
C 2803 4404 2797 4411 2758 4411
C 2720 4411 2707 4385 2682 4328
L 2490 3907
C 2246 4257 1875 4416 1472 4416
C 819 4416 294 3901 294 3253
C 294 3056 339 2776 557 2510
C 794 2218 1018 2167 1530 2033
C 1722 1982 2042 1899 2106 1874
C 2470 1722 2662 1341 2662 985
C 2662 527 2336 38 1779 38
C 1094 38 454 419 410 1311
C 403 1413 397 1419 352 1419
C 301 1419 294 1413 294 1285
L 294 -1
C 294 -115 301 -122 339 -122
C 384 -122 397 -90 486 108
C 493 127 493 140 614 381
C 934 -39 1472 -128 1779 -128
C 2477 -128 2970 451 2970 1124
C 2970 1454 2848 1708 2778 1823
C 2509 2230 2221 2306 1914 2382
C 1869 2402 1856 2402 1498 2490
C 1152 2579 1005 2624 845 2796
C 666 2992 602 3196 602 3399
C 602 3812 934 4263 1478 4263
C 2157 4263 2579 3786 2675 2993
C 2694 2878 2701 2872 2746 2872
C 2803 2872 2803 2891 2803 2999
L 2803 4290
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMSY10-6a" transform="scale(0.996264)"/>
<use xlink:href="#CMSY10-6a" transform="translate(27.674085 0) scale(0.996264)"/>
<use xlink:href="#CMMI12-48" transform="translate(55.348169 0) scale(0.996264)"/>
<use xlink:href="#CMR17-53" transform="translate(136.173006 -14.943915) scale(0.697382)"/>
<use xlink:href="#CMSY10-6a" transform="translate(172.297746 0) scale(0.996264)"/>
<use xlink:href="#CMSY10-6a" transform="translate(199.971831 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="matplotlib.axis_2">
<g id="ytick_1">
<g id="line2d_7">
<defs>
<path id="m63442c0c70" d="M 0 0
L -3.5 0
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m63442c0c70" x="49.455544" y="362.859558" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_8">
<!-- $\mathdefault{0.0}$ -->
<g transform="translate(24.151432 367.356572) scale(0.13 -0.13)">
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-30" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_2">
<g id="line2d_8">
<g>
<use xlink:href="#m63442c0c70" x="49.455544" y="309.142649" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_9">
<!-- $\mathdefault{0.1}$ -->
<g transform="translate(24.151432 313.639663) scale(0.13 -0.13)">
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-31" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_3">
<g id="line2d_9">
<g>
<use xlink:href="#m63442c0c70" x="49.455544" y="255.42574" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_10">
<!-- $\mathdefault{0.2}$ -->
<g transform="translate(24.151432 259.922754) scale(0.13 -0.13)">
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-32" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_4">
<g id="line2d_10">
<g>
<use xlink:href="#m63442c0c70" x="49.455544" y="201.708831" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_11">
<!-- $\mathdefault{0.3}$ -->
<g transform="translate(24.151432 206.205845) scale(0.13 -0.13)">
<defs>
<path id="CMR17-33" d="M 1414 2157
C 1984 2157 2234 1662 2234 1090
C 2234 320 1824 25 1453 25
C 1114 25 563 194 390 693
C 422 680 454 680 486 680
C 640 680 755 782 755 948
C 755 1133 614 1216 486 1216
C 378 1216 211 1165 211 926
C 211 335 787 -128 1466 -128
C 2176 -128 2720 430 2720 1085
C 2720 1707 2208 2157 1600 2227
C 2086 2328 2554 2756 2554 3329
C 2554 3820 2048 4179 1472 4179
C 890 4179 378 3829 378 3329
C 378 3110 544 3072 627 3072
C 762 3072 877 3155 877 3321
C 877 3486 762 3569 627 3569
C 602 3569 570 3569 544 3557
C 730 3959 1235 4032 1459 4032
C 1683 4032 2106 3925 2106 3320
C 2106 3143 2080 2828 1862 2550
C 1670 2304 1453 2304 1242 2284
C 1210 2284 1062 2269 1037 2269
C 992 2263 966 2257 966 2208
C 966 2163 973 2157 1101 2157
L 1414 2157
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-33" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_5">
<g id="line2d_11">
<g>
<use xlink:href="#m63442c0c70" x="49.455544" y="147.991922" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_12">
<!-- $\mathdefault{0.4}$ -->
<g transform="translate(24.151432 152.488936) scale(0.13 -0.13)">
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-34" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_6">
<g id="line2d_12">
<g>
<use xlink:href="#m63442c0c70" x="49.455544" y="94.275013" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_13">
<!-- $\mathdefault{0.5}$ -->
<g transform="translate(24.151432 98.772027) scale(0.13 -0.13)">
<defs>
<path id="CMR17-35" d="M 730 3692
C 794 3666 1056 3584 1325 3584
C 1920 3584 2246 3911 2432 4100
C 2432 4157 2432 4192 2394 4192
C 2387 4192 2374 4192 2323 4163
C 2099 4058 1837 3973 1517 3973
C 1325 3973 1037 3999 723 4139
C 653 4171 640 4171 634 4171
C 602 4171 595 4164 595 4037
L 595 2203
C 595 2089 595 2057 659 2057
C 691 2057 704 2070 736 2114
C 941 2401 1222 2522 1542 2522
C 1766 2522 2246 2382 2246 1289
C 2246 1085 2246 715 2054 421
C 1894 159 1645 25 1370 25
C 947 25 518 320 403 814
C 429 807 480 795 506 795
C 589 795 749 840 749 1038
C 749 1210 627 1280 506 1280
C 358 1280 262 1190 262 1011
C 262 454 704 -128 1382 -128
C 2042 -128 2669 440 2669 1264
C 2669 2030 2170 2624 1549 2624
C 1222 2624 947 2503 730 2274
L 730 3692
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-35" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_7">
<g id="line2d_13">
<g>
<use xlink:href="#m63442c0c70" x="49.455544" y="40.558104" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_14">
<!-- $\mathdefault{0.6}$ -->
<g transform="translate(24.151432 45.055119) scale(0.13 -0.13)">
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-36" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="text_15">
<!-- $\langle{H_\mathrm{S}}\rangle$ -->
<g transform="translate(16.913574 206.625495) rotate(-90) scale(0.13 -0.13)">
<defs>
<path id="CMSY10-68" d="M 2099 4557
C 2131 4627 2131 4640 2131 4672
C 2131 4742 2074 4800 2003 4800
C 1946 4800 1901 4768 1856 4653
L 736 1715
C 723 1677 704 1638 704 1600
C 704 1581 704 1568 736 1491
L 1856 -1446
C 1882 -1517 1914 -1600 2003 -1600
C 2074 -1600 2131 -1542 2131 -1472
C 2131 -1453 2131 -1440 2099 -1370
L 966 1600
L 2099 4557
z
" transform="scale(0.015625)"/>
<path id="CMSY10-69" d="M 1747 1491
C 1779 1568 1779 1581 1779 1600
C 1779 1619 1779 1632 1747 1709
L 627 4653
C 589 4762 550 4800 480 4800
C 410 4800 352 4742 352 4672
C 352 4653 352 4640 384 4570
L 1517 1600
L 384 -1357
C 352 -1427 352 -1440 352 -1472
C 352 -1542 410 -1600 480 -1600
C 563 -1600 589 -1536 614 -1472
L 1747 1491
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMSY10-68" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-48" transform="translate(38.743734 0) scale(0.996264)"/>
<use xlink:href="#CMR17-53" transform="translate(119.56857 -14.943915) scale(0.697382)"/>
<use xlink:href="#CMSY10-69" transform="translate(155.693311 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="line2d_14">
<path d="M 66.178452 362.859558
L 67.072983 362.778102
L 70.60346 362.257376
L 81.535917 360.362566
L 100.800097 356.758499
L 128.326634 351.386814
L 172.34885 342.524061
L 222.963454 332.068228
L 274.721951 321.132811
L 321.982296 310.912712
L 359.87665 302.480702
L 385.279148 296.583845
L 396.211604 293.861016
L 400.51885 292.590689
L 400.636612 292.404679
L 400.636612 24.13617
L 400.621512 47.98196
L 400.249268 48.049795
L 398.934966 48.497152
L 396.211604 49.630787
L 391.736053 51.683262
L 381.264795 56.8264
L 366.014967 64.68633
L 346.093175 75.283517
L 321.982296 88.407288
L 294.466214 103.659173
L 264.554575 120.496241
L 233.407532 138.274439
L 202.260489 156.29193
L 172.34885 173.83243
L 144.832768 190.20855
L 120.721889 204.805129
L 100.800097 217.122574
L 85.550269 226.820201
L 75.079011 233.759568
L 69.041414 238.04782
L 66.565796 240.081018
L 66.178452 240.596189
L 66.178452 240.375869
L 66.178452 239.517775
L 66.178452 362.368261
L 66.178452 362.368261
" clip-path="url(#p959051d635)" style="fill: none; stroke: #1f77b4; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="patch_3">
<path d="M 49.455544 379.795748
L 49.455544 7.2
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_4">
<path d="M 417.35952 379.795748
L 417.35952 7.2
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_5">
<path d="M 49.455544 379.795748
L 417.35952 379.795748
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_6">
<path d="M 49.455544 7.2
L 417.35952 7.2
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
</g>
</g>
<defs>
<clipPath id="p959051d635">
<rect x="49.455544" y="7.2" width="367.903976" height="372.595748"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 62 KiB

View file

@ -41,12 +41,12 @@ z
<g id="xtick_1">
<g id="line2d_1">
<defs>
<path id="mc546f7d55f" d="M 0 0
<path id="m6c49261b46" d="M 0 0
L 0 3.5
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#mc546f7d55f" x="54.357192" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6c49261b46" x="54.357192" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_1">
@ -82,7 +82,7 @@ z
<g id="xtick_2">
<g id="line2d_2">
<g>
<use xlink:href="#mc546f7d55f" x="113.80079" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6c49261b46" x="113.80079" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_2">
@ -116,7 +116,7 @@ z
<g id="xtick_3">
<g id="line2d_3">
<g>
<use xlink:href="#mc546f7d55f" x="173.244388" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6c49261b46" x="173.244388" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_3">
@ -154,7 +154,7 @@ z
<g id="xtick_4">
<g id="line2d_4">
<g>
<use xlink:href="#mc546f7d55f" x="232.687986" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6c49261b46" x="232.687986" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_4">
@ -198,7 +198,7 @@ z
<g id="xtick_5">
<g id="line2d_5">
<g>
<use xlink:href="#mc546f7d55f" x="292.131584" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6c49261b46" x="292.131584" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_5">
@ -240,7 +240,7 @@ z
<g id="xtick_6">
<g id="line2d_6">
<g>
<use xlink:href="#mc546f7d55f" x="351.575182" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6c49261b46" x="351.575182" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_6">
@ -284,7 +284,7 @@ z
<g id="xtick_7">
<g id="line2d_7">
<g>
<use xlink:href="#mc546f7d55f" x="411.018781" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6c49261b46" x="411.018781" y="256.38684" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_7">
@ -351,12 +351,12 @@ z
<g id="ytick_1">
<g id="line2d_8">
<defs>
<path id="m8dac285155" d="M 0 0
<path id="m6871341b0f" d="M 0 0
L -3.5 0
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m8dac285155" x="54.357192" y="245.060165" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6871341b0f" x="54.357192" y="245.060165" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_9">
@ -381,7 +381,7 @@ z
<g id="ytick_2">
<g id="line2d_9">
<g>
<use xlink:href="#m8dac285155" x="54.357192" y="216.743479" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6871341b0f" x="54.357192" y="216.743479" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_10">
@ -397,7 +397,7 @@ z
<g id="ytick_3">
<g id="line2d_10">
<g>
<use xlink:href="#m8dac285155" x="54.357192" y="188.426792" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6871341b0f" x="54.357192" y="188.426792" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_11">
@ -413,7 +413,7 @@ z
<g id="ytick_4">
<g id="line2d_11">
<g>
<use xlink:href="#m8dac285155" x="54.357192" y="160.110106" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6871341b0f" x="54.357192" y="160.110106" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_12">
@ -450,7 +450,7 @@ z
<g id="ytick_5">
<g id="line2d_12">
<g>
<use xlink:href="#m8dac285155" x="54.357192" y="131.79342" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6871341b0f" x="54.357192" y="131.79342" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_13">
@ -466,7 +466,7 @@ z
<g id="ytick_6">
<g id="line2d_13">
<g>
<use xlink:href="#m8dac285155" x="54.357192" y="103.476733" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6871341b0f" x="54.357192" y="103.476733" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_14">
@ -482,7 +482,7 @@ z
<g id="ytick_7">
<g id="line2d_14">
<g>
<use xlink:href="#m8dac285155" x="54.357192" y="75.160047" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6871341b0f" x="54.357192" y="75.160047" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_15">
@ -498,7 +498,7 @@ z
<g id="ytick_8">
<g id="line2d_15">
<g>
<use xlink:href="#m8dac285155" x="54.357192" y="46.843361" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6871341b0f" x="54.357192" y="46.843361" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_16">
@ -514,7 +514,7 @@ z
<g id="ytick_9">
<g id="line2d_16">
<g>
<use xlink:href="#m8dac285155" x="54.357192" y="18.526675" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m6871341b0f" x="54.357192" y="18.526675" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_17">
@ -816,7 +816,7 @@ L 409.948796 244.928988
L 410.662119 245.055051
L 411.375442 245.060165
L 411.375442 245.060165
" clip-path="url(#p224a04a687)" style="fill: none; stroke: #1f77b4; stroke-width: 0.5; stroke-linecap: square"/>
" clip-path="url(#pe524f5150f)" style="fill: none; stroke: #1f77b4; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_18">
<path d="M 54.357192 245.060165
@ -866,7 +866,7 @@ L 232.331324 245.055051
L 240.177879 245.060165
L 411.375442 245.060165
L 411.375442 245.060165
" clip-path="url(#p224a04a687)" style="fill: none; stroke: #ff7f0e; stroke-width: 0.5; stroke-linecap: square"/>
" clip-path="url(#pe524f5150f)" style="fill: none; stroke: #ff7f0e; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_19">
<path d="M 54.357192 131.79342
@ -916,7 +916,7 @@ L 253.73102 131.788306
L 261.577575 131.79342
L 411.375442 131.788306
L 411.375442 131.788306
" clip-path="url(#p224a04a687)" style="fill: none; stroke: #2ca02c; stroke-width: 0.5; stroke-linecap: square"/>
" clip-path="url(#pe524f5150f)" style="fill: none; stroke: #2ca02c; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="patch_3">
<path d="M 54.357192 256.38684
@ -1192,7 +1192,7 @@ z
</g>
</g>
<defs>
<clipPath id="p224a04a687">
<clipPath id="pe524f5150f">
<rect x="54.357192" y="7.2" width="356.661589" height="249.18684"/>
</clipPath>
</defs>

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="253.19952pt" height="238.79952pt" viewBox="0 0 253.19952 238.79952" xmlns="http://www.w3.org/2000/svg" version="1.1">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="424.55952pt" height="181.19952pt" viewBox="0 0 424.55952 181.19952" xmlns="http://www.w3.org/2000/svg" version="1.1">
<metadata>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<cc:Work>
@ -21,19 +21,19 @@
</defs>
<g id="figure_1">
<g id="patch_1">
<path d="M 0 238.79952
L 253.19952 238.79952
L 253.19952 0
<path d="M 0 181.19952
L 424.55952 181.19952
L 424.55952 0
L 0 0
z
" style="fill: #ffffff"/>
</g>
<g id="axes_1">
<g id="patch_2">
<path d="M 42.134959 202.559296
L 245.99952 202.559296
L 245.99952 7.2
L 42.134959 7.2
<path d="M 50.822595 137.87484
L 417.35952 137.87484
L 417.35952 7.2
L 50.822595 7.2
z
" style="fill: #ffffff"/>
</g>
@ -41,17 +41,17 @@ z
<g id="xtick_1">
<g id="line2d_1">
<defs>
<path id="m187b061592" d="M 0 0
<path id="m595af4d37c" d="M 0 0
L 0 3.5
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m187b061592" x="51.401529" y="202.559296" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m595af4d37c" x="67.483364" y="137.87484" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_1">
<!-- $\mathdefault{0}$ -->
<g transform="translate(49.284438 217.194098) scale(0.08 -0.08)">
<g transform="translate(64.312994 155.968868) scale(0.13 -0.13)">
<defs>
<path id="CMR17-30" d="M 2688 2025
C 2688 2416 2682 3080 2413 3591
@ -82,12 +82,12 @@ z
<g id="xtick_2">
<g id="line2d_2">
<g>
<use xlink:href="#m187b061592" x="82.290099" y="202.559296" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m595af4d37c" x="123.019262" y="137.87484" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_2">
<!-- $\mathdefault{10}$ -->
<g transform="translate(78.055917 217.194098) scale(0.08 -0.08)">
<g transform="translate(116.678522 155.968868) scale(0.13 -0.13)">
<defs>
<path id="CMR17-31" d="M 1702 4058
C 1702 4192 1696 4192 1606 4192
@ -116,12 +116,12 @@ z
<g id="xtick_3">
<g id="line2d_3">
<g>
<use xlink:href="#m187b061592" x="113.178669" y="202.559296" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m595af4d37c" x="178.55516" y="137.87484" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_3">
<!-- $\mathdefault{20}$ -->
<g transform="translate(108.944486 217.194098) scale(0.08 -0.08)">
<g transform="translate(172.21442 155.968868) scale(0.13 -0.13)">
<defs>
<path id="CMR17-32" d="M 2669 989
L 2554 989
@ -154,12 +154,12 @@ z
<g id="xtick_4">
<g id="line2d_4">
<g>
<use xlink:href="#m187b061592" x="144.067239" y="202.559296" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m595af4d37c" x="234.091057" y="137.87484" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_4">
<!-- $\mathdefault{30}$ -->
<g transform="translate(139.833056 217.194098) scale(0.08 -0.08)">
<g transform="translate(227.750318 155.968868) scale(0.13 -0.13)">
<defs>
<path id="CMR17-33" d="M 1414 2157
C 1984 2157 2234 1662 2234 1090
@ -198,12 +198,12 @@ z
<g id="xtick_5">
<g id="line2d_5">
<g>
<use xlink:href="#m187b061592" x="174.955809" y="202.559296" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m595af4d37c" x="289.626955" y="137.87484" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_5">
<!-- $\mathdefault{40}$ -->
<g transform="translate(170.721626 217.194098) scale(0.08 -0.08)">
<g transform="translate(283.286216 155.968868) scale(0.13 -0.13)">
<defs>
<path id="CMR17-34" d="M 2150 4122
C 2150 4256 2144 4256 2029 4256
@ -240,12 +240,12 @@ z
<g id="xtick_6">
<g id="line2d_6">
<g>
<use xlink:href="#m187b061592" x="205.844379" y="202.559296" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m595af4d37c" x="345.162853" y="137.87484" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_6">
<!-- $\mathdefault{50}$ -->
<g transform="translate(201.610196 217.194098) scale(0.08 -0.08)">
<g transform="translate(338.822113 155.968868) scale(0.13 -0.13)">
<defs>
<path id="CMR17-35" d="M 730 3692
C 794 3666 1056 3584 1325 3584
@ -284,12 +284,12 @@ z
<g id="xtick_7">
<g id="line2d_7">
<g>
<use xlink:href="#m187b061592" x="236.732949" y="202.559296" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m595af4d37c" x="400.698751" y="137.87484" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_7">
<!-- $\mathdefault{60}$ -->
<g transform="translate(232.498766 217.194098) scale(0.08 -0.08)">
<g transform="translate(394.358011 155.968868) scale(0.13 -0.13)">
<defs>
<path id="CMR17-36" d="M 678 2176
C 678 3690 1395 4032 1811 4032
@ -322,7 +322,7 @@ z
</g>
<g id="text_8">
<!-- $\tau$ -->
<g transform="translate(141.889637 229.662342) scale(0.1 -0.1)">
<g transform="translate(231.337414 171.481208) scale(0.13 -0.13)">
<defs>
<path id="CMMI12-1c" d="M 1837 2408
L 2899 2408
@ -351,17 +351,17 @@ z
<g id="ytick_1">
<g id="line2d_8">
<defs>
<path id="m361083db47" d="M 0 0
<path id="m811f537a8d" d="M 0 0
L -3.5 0
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m361083db47" x="42.134959" y="193.679328" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m811f537a8d" x="50.822595" y="131.935074" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_9">
<!-- $\mathdefault{0.0}$ -->
<g transform="translate(22.214269 196.446729) scale(0.08 -0.08)">
<g transform="translate(25.518483 136.432088) scale(0.13 -0.13)">
<defs>
<path id="CMMI12-3a" d="M 1178 307
C 1178 492 1024 619 870 619
@ -380,81 +380,36 @@ z
<g id="ytick_2">
<g id="line2d_9">
<g>
<use xlink:href="#m361083db47" x="42.134959" y="158.159456" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m811f537a8d" x="50.822595" y="84.416951" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_10">
<!-- $\mathdefault{0.1}$ -->
<g transform="translate(22.214269 160.926857) scale(0.08 -0.08)">
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-31" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_3">
<g id="line2d_10">
<g>
<use xlink:href="#m361083db47" x="42.134959" y="122.639584" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_11">
<!-- $\mathdefault{0.2}$ -->
<g transform="translate(22.214269 125.406985) scale(0.08 -0.08)">
<g transform="translate(25.518483 88.913965) scale(0.13 -0.13)">
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-32" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_4">
<g id="line2d_11">
<g id="ytick_3">
<g id="line2d_10">
<g>
<use xlink:href="#m361083db47" x="42.134959" y="87.119712" style="stroke: #000000; stroke-width: 0.8"/>
<use xlink:href="#m811f537a8d" x="50.822595" y="36.898827" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_12">
<!-- $\mathdefault{0.3}$ -->
<g transform="translate(22.214269 89.887113) scale(0.08 -0.08)">
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-33" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_5">
<g id="line2d_12">
<g>
<use xlink:href="#m361083db47" x="42.134959" y="51.59984" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_13">
<g id="text_11">
<!-- $\mathdefault{0.4}$ -->
<g transform="translate(22.214269 54.367241) scale(0.08 -0.08)">
<g transform="translate(25.518483 41.395841) scale(0.13 -0.13)">
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-34" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_6">
<g id="line2d_13">
<g>
<use xlink:href="#m361083db47" x="42.134959" y="16.079968" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_14">
<!-- $\mathdefault{0.5}$ -->
<g transform="translate(22.214269 18.847369) scale(0.08 -0.08)">
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-35" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="text_15">
<g id="text_12">
<!-- $||L_{h/c}||$ -->
<g transform="translate(14.67198 120.206891) rotate(-90) scale(0.1 -0.1)">
<g transform="translate(16.913574 91.326625) rotate(-90) scale(0.13 -0.13)">
<defs>
<path id="CMSY10-6a" d="M 1018 4570
C 1018 4685 1018 4800 890 4800
@ -569,231 +524,266 @@ z
</g>
</g>
</g>
<g id="line2d_11">
<path d="M 67.483364 131.935074
L 254.937866 131.848353
L 255.604964 131.469895
L 256.272062 130.622271
L 256.939159 129.173953
L 257.606257 127.034819
L 258.273355 124.152618
L 259.274002 118.40538
L 260.274649 111.018831
L 261.608845 98.971866
L 263.276589 81.454615
L 266.612079 45.51524
L 267.946274 33.569591
L 268.946921 26.277066
L 269.947568 20.631698
L 270.614666 17.817593
L 271.281764 15.743311
L 271.948862 14.353337
L 272.615959 13.553967
L 273.283057 13.209773
L 274.283704 13.139765
L 381.352912 13.178112
L 382.02001 13.444768
L 382.687108 14.130855
L 383.354206 15.381455
L 384.021304 17.299148
L 384.688402 19.947548
L 385.3555 23.35484
L 386.356146 29.872745
L 387.356793 37.954786
L 388.690989 50.72692
L 391.025832 76.139491
L 393.360674 100.787769
L 394.69487 112.514711
L 395.695517 119.606528
L 396.696163 125.036171
L 397.363261 127.707095
L 398.030359 129.64597
L 398.697457 130.915294
L 399.364555 131.616426
L 400.031653 131.893123
L 400.698751 131.935074
L 400.698751 131.935074
" clip-path="url(#p77c2ddbc9f)" style="fill: none; stroke: #ff7f0e; stroke-linecap: square"/>
</g>
<g id="line2d_12">
<path d="M 67.483364 131.935074
L 88.163398 131.889303
L 88.830496 131.602396
L 89.497594 130.886089
L 90.164692 129.59795
L 90.83179 127.637838
L 91.498887 124.944365
L 92.165985 121.491358
L 93.166632 114.907558
L 94.167279 106.767364
L 95.501475 93.93668
L 97.836317 68.490475
L 99.837611 47.156993
L 101.171807 34.933631
L 102.172453 27.381698
L 103.1731 21.453978
L 103.840198 18.45038
L 104.507296 16.194933
L 105.174394 14.641115
L 105.841492 13.7051
L 106.50859 13.262224
L 107.175687 13.143442
L 117.515704 13.139765
L 214.911994 13.215086
L 215.579091 13.570541
L 216.246189 14.385875
L 216.913287 15.795215
L 217.580385 17.891065
L 218.247483 20.727852
L 219.24813 26.407202
L 220.248777 33.731145
L 221.582972 45.710732
L 223.250717 63.180335
L 226.586206 99.168196
L 227.920402 111.181555
L 228.921049 118.536839
L 229.921696 124.250147
L 230.588794 127.109632
L 231.255891 129.2271
L 231.922989 130.655888
L 232.590087 131.487307
L 233.257185 131.854184
L 234.257832 131.935074
L 400.698751 131.935074
L 400.698751 131.935074
" clip-path="url(#p77c2ddbc9f)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #ff7f0e"/>
</g>
<g id="line2d_13">
<path d="M 67.483364 131.935074
L 275.6179 131.870948
L 276.618547 131.658336
L 277.619193 131.215025
L 278.61984 130.476313
L 279.620487 129.391302
L 280.621134 127.922052
L 281.621781 126.042747
L 282.622427 123.738854
L 283.956623 120.000853
L 285.290819 115.518334
L 286.958564 108.936421
L 288.626308 101.395262
L 290.627602 91.33677
L 293.629542 74.989233
L 297.965679 51.378677
L 299.966972 41.542989
L 301.634717 34.246586
L 303.302461 27.951084
L 304.636657 23.718114
L 305.970853 20.238449
L 306.9715 18.12815
L 307.972147 16.437196
L 308.972793 15.146041
L 309.97344 14.223479
L 310.974087 13.625798
L 311.974734 13.295947
L 313.30893 13.147502
L 319.31281 13.139765
L 362.340623 13.215086
L 363.34127 13.444768
L 364.341917 13.911323
L 365.342563 14.678225
L 366.34321 15.795215
L 367.343857 17.299148
L 368.344504 19.214831
L 369.345151 21.555858
L 370.679346 25.343061
L 372.013542 29.872745
L 373.681287 36.508303
L 375.349032 44.094748
L 377.350325 54.193637
L 380.685815 72.425938
L 384.688402 94.14247
L 386.689695 103.933403
L 388.35744 111.181555
L 390.025185 117.421248
L 391.35938 121.606019
L 392.693576 125.036171
L 393.694223 127.109632
L 394.69487 128.765002
L 395.695517 130.022803
L 396.696163 130.915294
L 397.69681 131.487307
L 398.697457 131.797092
L 400.031653 131.929695
L 400.698751 131.935074
L 400.698751 131.935074
" clip-path="url(#p77c2ddbc9f)" style="fill: none; stroke: #2ca02c; stroke-linecap: square"/>
</g>
<g id="line2d_14">
<path d="M 51.401529 193.679328
L 155.476531 193.649229
L 155.847565 193.339605
L 156.218599 192.451761
L 156.589632 190.756127
L 156.960666 188.087681
L 157.517217 182.044532
L 158.073768 173.452392
L 158.815836 158.229424
L 159.74342 134.288568
L 163.082725 42.728641
L 163.824793 29.810371
L 164.381344 23.073334
L 164.937895 18.812744
L 165.308928 17.197491
L 165.679962 16.37209
L 166.050996 16.1009
L 167.164098 16.079968
L 225.972967 16.137296
L 226.344001 16.535947
L 226.715034 17.561649
L 227.086068 19.431301
L 227.457102 22.298259
L 228.013653 28.662053
L 228.570204 37.574455
L 229.312272 53.178501
L 230.425373 82.759259
L 233.208127 160.599134
L 233.950195 175.248113
L 234.692263 185.502483
L 235.248814 190.25711
L 235.619847 192.154753
L 235.990881 193.202948
L 236.361915 193.616611
L 236.732949 193.679328
L 236.732949 193.679328
" clip-path="url(#p8def760f9e)" style="fill: none; stroke: #ff7f0e; stroke-linecap: square"/>
</g>
<g id="line2d_15">
<path d="M 51.401529 193.679328
L 62.90358 193.6109
L 63.274613 193.181972
L 63.645647 192.111091
L 64.016681 190.18532
L 64.573232 185.382236
L 65.129783 178.065939
L 65.871851 164.409908
L 66.799435 141.929605
L 68.283571 98.829452
L 69.767706 57.39144
L 70.695291 37.371702
L 71.437359 26.122424
L 71.993909 20.647454
L 72.55046 17.519521
L 72.921494 16.516117
L 73.292528 16.13222
L 73.849079 16.079968
L 133.214498 16.103714
L 133.585532 16.387443
L 133.956566 17.23345
L 134.3276 18.875345
L 134.698634 21.481875
L 135.255185 27.424181
L 135.811736 35.914827
L 136.553803 51.016005
L 137.481388 74.847741
L 140.820693 166.576682
L 141.562761 179.626177
L 142.119311 186.465277
L 142.675862 190.820477
L 143.046896 192.489167
L 143.41793 193.355988
L 143.788964 193.652529
L 144.716549 193.679328
L 236.732949 193.679328
L 236.732949 193.679328
" clip-path="url(#p8def760f9e)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #ff7f0e"/>
</g>
<g id="line2d_16">
<path d="M 51.401529 193.679328
L 167.164098 193.583459
L 167.720649 193.265603
L 168.277199 192.602851
L 168.83375 191.498475
L 169.390301 189.87638
L 170.132369 186.812848
L 170.874437 182.645276
L 171.802021 175.837629
L 172.729606 167.293768
L 173.842708 154.944971
L 175.326843 135.584308
L 177.553046 102.990928
L 180.150283 65.703282
L 181.634419 47.634731
L 182.747521 36.537439
L 183.675105 29.151147
L 184.60269 23.537619
L 185.344758 20.301732
L 186.086825 18.102275
L 186.643376 17.055307
L 187.199927 16.43947
L 187.756478 16.155475
L 188.498546 16.079986
L 215.212984 16.137296
L 215.769535 16.387443
L 216.326086 16.95531
L 216.882637 17.942906
L 217.439188 19.431301
L 217.995738 21.481875
L 218.737806 25.16221
L 219.479874 29.971233
L 220.407459 37.574455
L 221.52056 48.910589
L 222.819179 64.773665
L 224.488831 88.16073
L 228.755721 149.489474
L 230.054339 164.645824
L 231.167441 175.248113
L 232.095026 182.190337
L 233.02261 187.358486
L 233.764678 190.25711
L 234.321229 191.76694
L 234.87778 192.773147
L 235.43433 193.355988
L 235.990881 193.616611
L 236.732949 193.679328
L 236.732949 193.679328
" clip-path="url(#p8def760f9e)" style="fill: none; stroke: #2ca02c; stroke-linecap: square"/>
</g>
<g id="line2d_17">
<path d="M 51.401529 193.679328
L 74.40563 193.6109
L 74.96218 193.339605
L 75.518731 192.741628
L 76.075282 191.716682
L 76.631833 190.18532
L 77.373901 187.254947
L 78.115968 183.228195
L 79.043553 176.597952
L 79.971138 168.223137
L 81.084239 156.053522
L 82.568375 136.871608
L 84.794578 104.379653
L 87.391815 66.93583
L 88.875951 48.661866
L 89.989052 37.371702
L 90.916637 29.810371
L 91.844222 24.019354
L 92.586289 20.647454
L 93.328357 18.32449
L 93.884908 17.197491
L 94.441459 16.516117
L 94.99801 16.18463
L 95.740077 16.080416
L 122.454516 16.11811
L 123.011067 16.326761
L 123.567618 16.834006
L 124.124169 17.745468
L 124.680719 19.145618
L 125.23727 21.09903
L 125.979338 24.641076
L 126.721406 29.307737
L 127.64899 36.736107
L 128.762092 47.879882
L 130.060711 63.560105
L 131.730363 86.802475
L 136.182769 150.659278
L 137.481388 165.61913
L 138.59449 176.021701
L 139.522074 182.786802
L 140.264142 186.920527
L 141.00621 189.951976
L 141.748278 191.967698
L 142.304828 192.897222
L 142.861379 193.418753
L 143.41793 193.637043
L 144.345515 193.679328
L 236.732949 193.679328
L 236.732949 193.679328
" clip-path="url(#p8def760f9e)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #2ca02c"/>
<path d="M 67.483364 131.935074
L 109.176981 131.848353
L 110.177628 131.602396
L 111.178275 131.113961
L 112.178921 130.320707
L 113.179568 129.173953
L 114.180215 127.637838
L 115.180862 125.688486
L 116.181509 123.31316
L 117.515704 119.480609
L 118.8499 114.907558
L 120.517645 108.222814
L 122.185389 100.595006
L 124.520232 88.690266
L 128.18927 68.490475
L 131.52476 50.521815
L 133.526053 40.772799
L 135.193798 33.569591
L 136.861543 27.381698
L 138.195738 23.241541
L 139.529934 19.857113
L 140.530581 17.817593
L 141.531228 16.194933
L 142.531875 14.967705
L 143.532521 14.102675
L 144.533168 13.553967
L 145.533815 13.262224
L 146.868011 13.143442
L 157.875126 13.139765
L 195.899704 13.240043
L 196.900351 13.504188
L 197.900998 14.016774
L 198.901645 14.838928
L 199.902291 16.018185
L 200.902938 17.589334
L 201.903585 19.575253
L 202.904232 21.987753
L 204.238428 25.869347
L 205.572623 30.48919
L 207.240368 37.226854
L 208.908113 44.898988
L 211.242955 56.847567
L 215.245542 78.915038
L 218.247483 94.99622
L 220.248777 104.699178
L 221.916521 111.853267
L 223.584266 117.984742
L 224.918462 122.076437
L 226.252657 125.411319
L 227.253304 127.414146
L 228.253951 129.001523
L 229.254598 130.19587
L 230.255245 131.031483
L 231.255891 131.555371
L 232.256538 131.828102
L 233.590734 131.93279
L 250.60173 131.935074
L 400.698751 131.935074
L 400.698751 131.935074
" clip-path="url(#p77c2ddbc9f)" style="fill: none; stroke-dasharray: 3.7,1.6; stroke-dashoffset: 0; stroke: #2ca02c"/>
</g>
<g id="patch_3">
<path d="M 42.134959 202.559296
L 42.134959 7.2
<path d="M 50.822595 137.87484
L 50.822595 7.2
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_4">
<path d="M 245.99952 202.559296
L 245.99952 7.2
<path d="M 417.35952 137.87484
L 417.35952 7.2
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_5">
<path d="M 42.134959 202.559296
L 245.99952 202.559296
<path d="M 50.822595 137.87484
L 417.35952 137.87484
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_6">
<path d="M 42.134959 7.2
L 245.99952 7.2
<path d="M 50.822595 7.2
L 417.35952 7.2
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="legend_1">
<g id="patch_7">
<path d="M 149.97561 118.77311
L 239.69952 118.77311
Q 241.49952 118.77311 241.49952 116.97311
L 241.49952 92.786186
Q 241.49952 90.986186 239.69952 90.986186
L 149.97561 90.986186
Q 148.17561 90.986186 148.17561 92.786186
L 148.17561 116.97311
Q 148.17561 118.77311 149.97561 118.77311
<path d="M 59.922595 92.605732
L 185.361245 92.605732
Q 187.961245 92.605732 187.961245 90.005732
L 187.961245 55.069108
Q 187.961245 52.469108 185.361245 52.469108
L 59.922595 52.469108
Q 57.322595 52.469108 57.322595 55.069108
L 57.322595 90.005732
Q 57.322595 92.605732 59.922595 92.605732
z
" style="fill: #ffffff; opacity: 0.8; stroke: #cccccc; stroke-width: 0.24; stroke-linejoin: miter"/>
</g>
<g id="line2d_18">
<path d="M 151.77561 97.736186
L 160.77561 97.736186
L 169.77561 97.736186
<g id="line2d_15">
<path d="M 62.522595 62.219108
L 75.522595 62.219108
L 88.522595 62.219108
" style="fill: none; stroke: #ff7f0e; stroke-linecap: square"/>
</g>
<g id="text_16">
<g id="text_13">
<!-- Fast Switching -->
<g transform="translate(176.97561 100.886186) scale(0.09 -0.09)">
<g transform="translate(98.922595 66.769108) scale(0.13 -0.13)">
<defs>
<path id="CMR17-46" d="M 3482 4325
L 326 4325
@ -1118,15 +1108,15 @@ z
<use xlink:href="#CMR17-67" transform="translate(541.127221 0) scale(0.996264)"/>
</g>
</g>
<g id="line2d_19">
<path d="M 151.77561 110.279648
L 160.77561 110.279648
L 169.77561 110.279648
<g id="line2d_16">
<path d="M 62.522595 80.33742
L 75.522595 80.33742
L 88.522595 80.33742
" style="fill: none; stroke: #2ca02c; stroke-linecap: square"/>
</g>
<g id="text_17">
<g id="text_14">
<!-- Slow Switching -->
<g transform="translate(176.97561 113.429648) scale(0.09 -0.09)">
<g transform="translate(98.922595 84.88742) scale(0.13 -0.13)">
<defs>
<path id="CMR17-6c" d="M 979 4396
L 218 4326
@ -1179,8 +1169,8 @@ z
</g>
</g>
<defs>
<clipPath id="p8def760f9e">
<rect x="42.134959" y="7.2" width="203.864561" height="195.359296"/>
<clipPath id="p77c2ddbc9f">
<rect x="50.822595" y="7.2" width="366.536925" height="130.67484"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 33 KiB

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 162 KiB

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 168 KiB

View file

@ -0,0 +1,606 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="424.55952pt" height="181.19952pt" viewBox="0 0 424.55952 181.19952" xmlns="http://www.w3.org/2000/svg" version="1.1">
<metadata>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<cc:Work>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:date>1980-01-01T00:00:00+00:00</dc:date>
<dc:format>image/svg+xml</dc:format>
<dc:creator>
<cc:Agent>
<dc:title>Matplotlib v3.6.2, https://matplotlib.org/</dc:title>
</cc:Agent>
</dc:creator>
</cc:Work>
</rdf:RDF>
</metadata>
<defs>
<style type="text/css">*{stroke-linejoin: round; stroke-linecap: butt}</style>
</defs>
<g id="figure_1">
<g id="patch_1">
<path d="M 0 181.19952
L 424.55952 181.19952
L 424.55952 -0
L 0 -0
z
" style="fill: #ffffff"/>
</g>
<g id="axes_1">
<g id="patch_2">
<path d="M 32.504112 153.38718
L 417.35952 153.38718
L 417.35952 7.2
L 32.504112 7.2
z
" style="fill: #ffffff"/>
</g>
<g id="matplotlib.axis_1">
<g id="xtick_1">
<g id="line2d_1">
<defs>
<path id="m5657701ae9" d="M 0 0
L 0 3.5
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m5657701ae9" x="49.99754" y="153.38718" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_1">
<!-- $\mathdefault{0}$ -->
<g transform="translate(46.82717 171.481208) scale(0.13 -0.13)">
<defs>
<path id="CMR17-30" d="M 2688 2025
C 2688 2416 2682 3080 2413 3591
C 2176 4039 1798 4198 1466 4198
C 1158 4198 768 4058 525 3597
C 269 3118 243 2524 243 2025
C 243 1661 250 1106 448 619
C 723 -39 1216 -128 1466 -128
C 1760 -128 2208 -7 2470 600
C 2662 1042 2688 1559 2688 2025
z
M 1466 -26
C 1056 -26 813 325 723 812
C 653 1188 653 1738 653 2096
C 653 2588 653 2997 736 3387
C 858 3929 1216 4096 1466 4096
C 1728 4096 2067 3923 2189 3400
C 2272 3036 2278 2607 2278 2096
C 2278 1680 2278 1169 2202 792
C 2067 95 1690 -26 1466 -26
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
</g>
</g>
</g>
<g id="xtick_2">
<g id="line2d_2">
<g>
<use xlink:href="#m5657701ae9" x="98.590394" y="153.38718" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_2">
<!-- $\mathdefault{25}$ -->
<g transform="translate(92.249655 171.481208) scale(0.13 -0.13)">
<defs>
<path id="CMR17-32" d="M 2669 989
L 2554 989
C 2490 536 2438 459 2413 420
C 2381 369 1920 369 1830 369
L 602 369
C 832 619 1280 1072 1824 1597
C 2214 1967 2669 2402 2669 3035
C 2669 3790 2067 4224 1395 4224
C 691 4224 262 3604 262 3030
C 262 2780 448 2748 525 2748
C 589 2748 781 2787 781 3010
C 781 3207 614 3264 525 3264
C 486 3264 448 3258 422 3245
C 544 3790 915 4058 1306 4058
C 1862 4058 2227 3617 2227 3035
C 2227 2479 1901 2000 1536 1584
L 262 146
L 262 0
L 2515 0
L 2669 989
z
" transform="scale(0.015625)"/>
<path id="CMR17-35" d="M 730 3692
C 794 3666 1056 3584 1325 3584
C 1920 3584 2246 3911 2432 4100
C 2432 4157 2432 4192 2394 4192
C 2387 4192 2374 4192 2323 4163
C 2099 4058 1837 3973 1517 3973
C 1325 3973 1037 3999 723 4139
C 653 4171 640 4171 634 4171
C 602 4171 595 4164 595 4037
L 595 2203
C 595 2089 595 2057 659 2057
C 691 2057 704 2070 736 2114
C 941 2401 1222 2522 1542 2522
C 1766 2522 2246 2382 2246 1289
C 2246 1085 2246 715 2054 421
C 1894 159 1645 25 1370 25
C 947 25 518 320 403 814
C 429 807 480 795 506 795
C 589 795 749 840 749 1038
C 749 1210 627 1280 506 1280
C 358 1280 262 1190 262 1011
C 262 454 704 -128 1382 -128
C 2042 -128 2669 440 2669 1264
C 2669 2030 2170 2624 1549 2624
C 1222 2624 947 2503 730 2274
L 730 3692
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMR17-32" transform="scale(0.996264)"/>
<use xlink:href="#CMR17-35" transform="translate(45.690477 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="xtick_3">
<g id="line2d_3">
<g>
<use xlink:href="#m5657701ae9" x="147.183249" y="153.38718" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_3">
<!-- $\mathdefault{50}$ -->
<g transform="translate(140.842509 171.481208) scale(0.13 -0.13)">
<use xlink:href="#CMR17-35" transform="scale(0.996264)"/>
<use xlink:href="#CMR17-30" transform="translate(45.690477 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="xtick_4">
<g id="line2d_4">
<g>
<use xlink:href="#m5657701ae9" x="195.776103" y="153.38718" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_4">
<!-- $\mathdefault{75}$ -->
<g transform="translate(189.435364 171.481208) scale(0.13 -0.13)">
<defs>
<path id="CMR17-37" d="M 2886 3941
L 2886 4081
L 1382 4081
C 634 4081 621 4165 595 4288
L 480 4288
L 294 3094
L 410 3094
C 429 3215 474 3540 550 3661
C 589 3712 1062 3712 1171 3712
L 2579 3712
L 1869 2661
C 1395 1954 1069 999 1069 165
C 1069 89 1069 -128 1299 -128
C 1530 -128 1530 89 1530 171
L 1530 465
C 1530 1508 1709 2196 2003 2636
L 2886 3941
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMR17-37" transform="scale(0.996264)"/>
<use xlink:href="#CMR17-35" transform="translate(45.690477 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="xtick_5">
<g id="line2d_5">
<g>
<use xlink:href="#m5657701ae9" x="244.368958" y="153.38718" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_5">
<!-- $\mathdefault{100}$ -->
<g transform="translate(234.857849 171.481208) scale(0.13 -0.13)">
<defs>
<path id="CMR17-31" d="M 1702 4058
C 1702 4192 1696 4192 1606 4192
C 1357 3916 979 3827 621 3827
C 602 3827 570 3827 563 3808
C 557 3795 557 3782 557 3648
C 755 3648 1088 3686 1344 3839
L 1344 461
C 1344 236 1331 160 781 160
L 589 160
L 589 0
C 896 0 1216 0 1523 0
C 1830 0 2150 0 2458 0
L 2458 160
L 2266 160
C 1715 160 1702 230 1702 458
L 1702 4058
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMR17-31" transform="scale(0.996264)"/>
<use xlink:href="#CMR17-30" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-30" transform="translate(91.380954 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="xtick_6">
<g id="line2d_6">
<g>
<use xlink:href="#m5657701ae9" x="292.961812" y="153.38718" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_6">
<!-- $\mathdefault{125}$ -->
<g transform="translate(283.450703 171.481208) scale(0.13 -0.13)">
<use xlink:href="#CMR17-31" transform="scale(0.996264)"/>
<use xlink:href="#CMR17-32" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-35" transform="translate(91.380954 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="xtick_7">
<g id="line2d_7">
<g>
<use xlink:href="#m5657701ae9" x="341.554667" y="153.38718" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_7">
<!-- $\mathdefault{150}$ -->
<g transform="translate(332.043558 171.481208) scale(0.13 -0.13)">
<use xlink:href="#CMR17-31" transform="scale(0.996264)"/>
<use xlink:href="#CMR17-35" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-30" transform="translate(91.380954 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="xtick_8">
<g id="line2d_8">
<g>
<use xlink:href="#m5657701ae9" x="390.147521" y="153.38718" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_8">
<!-- $\mathdefault{175}$ -->
<g transform="translate(380.636412 171.481208) scale(0.13 -0.13)">
<use xlink:href="#CMR17-31" transform="scale(0.996264)"/>
<use xlink:href="#CMR17-37" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-35" transform="translate(91.380954 0) scale(0.996264)"/>
</g>
</g>
</g>
</g>
<g id="matplotlib.axis_2">
<g id="ytick_1">
<g id="line2d_9">
<defs>
<path id="m7c669d3f07" d="M 0 0
L -3.5 0
" style="stroke: #000000; stroke-width: 0.8"/>
</defs>
<g>
<use xlink:href="#m7c669d3f07" x="32.504112" y="146.742308" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_9">
<!-- $\mathdefault{0.0}$ -->
<g transform="translate(7.2 151.239322) scale(0.13 -0.13)">
<defs>
<path id="CMMI12-3a" d="M 1178 307
C 1178 492 1024 619 870 619
C 685 619 557 466 557 313
C 557 128 710 0 864 0
C 1050 0 1178 153 1178 307
z
" transform="scale(0.015625)"/>
</defs>
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-30" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_2">
<g id="line2d_10">
<g>
<use xlink:href="#m7c669d3f07" x="32.504112" y="113.517949" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_10">
<!-- $\mathdefault{0.5}$ -->
<g transform="translate(7.2 118.014963) scale(0.13 -0.13)">
<use xlink:href="#CMR17-30" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-35" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_3">
<g id="line2d_11">
<g>
<use xlink:href="#m7c669d3f07" x="32.504112" y="80.29359" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_11">
<!-- $\mathdefault{1.0}$ -->
<g transform="translate(7.2 84.790604) scale(0.13 -0.13)">
<use xlink:href="#CMR17-31" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-30" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_4">
<g id="line2d_12">
<g>
<use xlink:href="#m7c669d3f07" x="32.504112" y="47.069231" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_12">
<!-- $\mathdefault{1.5}$ -->
<g transform="translate(7.2 51.566245) scale(0.13 -0.13)">
<use xlink:href="#CMR17-31" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-35" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
<g id="ytick_5">
<g id="line2d_13">
<g>
<use xlink:href="#m7c669d3f07" x="32.504112" y="13.844872" style="stroke: #000000; stroke-width: 0.8"/>
</g>
</g>
<g id="text_13">
<!-- $\mathdefault{2.0}$ -->
<g transform="translate(7.2 18.341886) scale(0.13 -0.13)">
<use xlink:href="#CMR17-32" transform="scale(0.996264)"/>
<use xlink:href="#CMMI12-3a" transform="translate(45.690477 0) scale(0.996264)"/>
<use xlink:href="#CMR17-30" transform="translate(72.787654 0) scale(0.996264)"/>
</g>
</g>
</g>
</g>
<g id="line2d_14">
<path d="M 49.99754 113.517949
L 57.927893 113.60681
L 58.511008 113.874699
L 59.094122 114.402111
L 59.677236 115.236304
L 60.376973 116.67169
L 61.193333 118.936177
L 62.126316 122.209408
L 63.52579 128.05975
L 66.091493 138.928956
L 67.141099 142.369377
L 67.957459 144.366063
L 68.657196 145.563048
L 69.356933 146.302737
L 69.940047 146.617438
L 70.639784 146.737309
L 74.488338 146.742308
L 144.228803 146.653447
L 144.811917 146.385558
L 145.395032 145.858146
L 145.978146 145.023953
L 146.677883 143.588567
L 147.494243 141.32408
L 148.427226 138.050848
L 149.8267 132.200506
L 152.392403 121.331301
L 153.442008 117.89088
L 154.258368 115.894194
L 154.958105 114.697209
L 155.657842 113.95752
L 156.240957 113.642819
L 156.940694 113.522948
L 160.789248 113.517949
L 174.550744 113.60681
L 175.133859 113.874699
L 175.716973 114.402111
L 176.300087 115.236304
L 176.999824 116.67169
L 177.816184 118.936177
L 178.749167 122.209408
L 180.148641 128.05975
L 182.714344 138.928956
L 183.76395 142.369377
L 184.58031 144.366063
L 185.280047 145.563048
L 185.979784 146.302737
L 186.562898 146.617438
L 187.262635 146.737309
L 191.111189 146.742308
L 260.851654 146.653447
L 261.434768 146.385558
L 262.017883 145.858146
L 262.600997 145.023953
L 263.300734 143.588567
L 264.117094 141.32408
L 265.050077 138.050848
L 266.449551 132.200506
L 269.015254 121.331301
L 270.064859 117.89088
L 270.881219 115.894194
L 271.580956 114.697209
L 272.280693 113.95752
L 272.863808 113.642819
L 273.563545 113.522948
L 277.412099 113.517949
L 291.173595 113.60681
L 291.75671 113.874699
L 292.339824 114.402111
L 292.922938 115.236304
L 293.622675 116.67169
L 294.439035 118.936177
L 295.372018 122.209408
L 296.771492 128.05975
L 299.337195 138.928956
L 300.386801 142.369377
L 301.20316 144.366063
L 301.902898 145.563048
L 302.602635 146.302737
L 303.185749 146.617438
L 303.885486 146.737309
L 307.73404 146.742308
L 377.474505 146.653447
L 378.057619 146.385558
L 378.640733 145.858146
L 379.223848 145.023953
L 379.923585 143.588567
L 380.739945 141.32408
L 381.672928 138.050848
L 383.072402 132.200506
L 385.638105 121.331301
L 386.68771 117.89088
L 387.50407 115.894194
L 388.203807 114.697209
L 388.903544 113.95752
L 389.486659 113.642819
L 390.186396 113.522948
L 394.03495 113.517949
L 399.866092 113.517949
L 399.866092 113.517949
" clip-path="url(#p5027e07cac)" style="fill: none; stroke: #1f77b4; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="line2d_15">
<path d="M 49.99754 80.29359
L 50.697277 80.216634
L 51.163768 79.955514
L 51.630259 79.414448
L 52.096751 78.525265
L 52.679865 76.85688
L 53.379602 73.986107
L 54.195962 69.457133
L 55.128945 62.910671
L 56.528419 51.209987
L 59.094122 29.471575
L 60.143728 22.590734
L 60.960088 18.597362
L 61.659825 16.203391
L 62.242939 14.911523
L 62.826053 14.182948
L 63.292545 13.921828
L 63.992282 13.844872
L 109.008702 13.921828
L 109.475194 14.182948
L 109.941685 14.724013
L 110.408176 15.613197
L 110.991291 17.281581
L 111.691028 20.152354
L 112.507388 24.681329
L 113.44037 31.227791
L 114.839845 42.928475
L 117.405547 64.666886
L 118.455153 71.547728
L 119.271513 75.5411
L 119.97125 77.935071
L 120.554364 79.226939
L 121.137479 79.955514
L 121.60397 80.216634
L 122.303707 80.29359
L 167.320128 80.216634
L 167.786619 79.955514
L 168.25311 79.414448
L 168.719602 78.525265
L 169.302716 76.85688
L 170.002453 73.986107
L 170.818813 69.457133
L 171.751796 62.910671
L 173.15127 51.209987
L 175.716973 29.471575
L 176.766579 22.590734
L 177.582938 18.597362
L 178.282676 16.203391
L 178.86579 14.911523
L 179.448904 14.182948
L 179.915395 13.921828
L 180.615133 13.844872
L 225.631553 13.921828
L 226.098044 14.182948
L 226.564536 14.724013
L 227.031027 15.613197
L 227.614142 17.281581
L 228.313879 20.152354
L 229.130239 24.681329
L 230.063221 31.227791
L 231.462696 42.928475
L 234.028398 64.666886
L 235.078004 71.547728
L 235.894364 75.5411
L 236.594101 77.935071
L 237.177215 79.226939
L 237.76033 79.955514
L 238.226821 80.216634
L 238.926558 80.29359
L 283.942979 80.216634
L 284.40947 79.955514
L 284.875961 79.414448
L 285.342453 78.525265
L 285.925567 76.85688
L 286.625304 73.986107
L 287.441664 69.457133
L 288.374647 62.910671
L 289.774121 51.209987
L 292.339824 29.471575
L 293.389429 22.590734
L 294.205789 18.597362
L 294.905527 16.203391
L 295.488641 14.911523
L 296.071755 14.182948
L 296.538246 13.921828
L 297.237984 13.844872
L 342.254404 13.921828
L 342.720895 14.182948
L 343.187387 14.724013
L 343.653878 15.613197
L 344.236992 17.281581
L 344.93673 20.152354
L 345.75309 24.681329
L 346.686072 31.227791
L 348.085547 42.928475
L 350.651249 64.666886
L 351.700855 71.547728
L 352.517215 75.5411
L 353.216952 77.935071
L 353.800066 79.226939
L 354.38318 79.955514
L 354.849672 80.216634
L 355.549409 80.29359
L 399.866092 80.29359
L 399.866092 80.29359
" clip-path="url(#p5027e07cac)" style="fill: none; stroke: #ff7f0e; stroke-width: 0.5; stroke-linecap: square"/>
</g>
<g id="patch_3">
<path d="M 32.504112 153.38718
L 32.504112 7.2
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_4">
<path d="M 417.35952 153.38718
L 417.35952 7.2
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_5">
<path d="M 32.504112 153.38718
L 417.35952 153.38718
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
<g id="patch_6">
<path d="M 32.504112 7.2
L 417.35952 7.2
" style="fill: none; stroke: #000000; stroke-width: 0.8; stroke-linejoin: miter; stroke-linecap: square"/>
</g>
</g>
</g>
<defs>
<clipPath id="p5027e07cac">
<rect x="32.504112" y="7.2" width="384.855408" height="146.18718"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 167 KiB

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 83 KiB

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 83 KiB

View file

@ -69,7 +69,7 @@ We shift so that we just overlap with coupling/decoupling and one above.
#+end_src
#+RESULTS:
[[file:./.ob-jupyter/9d82da2b9de5536c2531d99dded751a02d14d12b.svg]]
[[file:./.ob-jupyter/2ec49a209af9eb6e1a91c6ba7d59e6ccffb59d86.svg]]
#+begin_src jupyter-python :tangle no
#ot.plot_cycles(models, bath=0, legend=True)
@ -93,7 +93,7 @@ We shift so that we just overlap with coupling/decoupling and one above.
#+end_src
#+RESULTS:
[[file:./.ob-jupyter/b2cc580a1f2d0e5d4ab7e54ea1a4430810c036f0.svg]]
[[file:./.ob-jupyter/296d5b609e4df5b188f4a36cdeb21217e7fffaf2.svg]]
** Integrate
Here we integrate/simulate the models. This should be run on the
@ -200,30 +200,178 @@ modulation over a cycle for the baseline model.
*** pV Diagrams
Let's attempt to draw the p_v diagrams :).
#+begin_src jupyter-python
ot.plot_modulation_interaction_diagram(baseline, 2, 0)
fs.export_fig("baseline_interaction_vs_modulation_cold", x_scaling=1, y_scaling=1)
#+begin_src jupyter-python :tangle scripts/plot_pv_diags.py
from matplotlib import collections as mc
from matplotlib.colors import colorConverter
from collections import deque
from itertools import islice
import pickle
import matplotlib.pyplot as plt
import numpy as np
def sliding_window(iterable, n):
"""
sliding_window('ABCDEFG', 4) -> ABCD BCDE CDEF DEFG
recipe from python docs
"""
it = iter(iterable)
window = deque(islice(it, n), maxlen=n)
if len(window) == n:
yield tuple(window)
for x in it:
window.append(x)
yield tuple(window)
def color_gradient(x, y, c1, c2, **kwargs):
"""
Creates a line collection with a gradient from colors c1 to c2,
from data x and y.
"""
n = len(x)
if len(y) != n:
raise ValueError("x and y data lengths differ")
return mc.LineCollection(
sliding_window(zip(x, y), 2),
colors=np.linspace(colorConverter.to_rgb(c1), colorConverter.to_rgb(c2), n - 1),
,**kwargs,
)
def assemble_segments(data, segments):
final = []
for begin, end in zip(segments, segments[1:]):
if begin > end:
final.append(np.concatenate([data[begin:-1], data[:end]]))
else:
final.append(data[begin:end])
return np.concatenate(final)
def plot_modulation_interaction_diagram(all_value, all_modulation, phase_indices):
fig, ax = plt.subplots()
closed = abs(all_value[phase_indices[0]]- all_value[phase_indices[-1]])< 1e-3
if not closed:
phase_indices = np.concatenate([phase_indices, [phase_indices[0]]])
ax.plot(all_modulation, all_value, linewidth=3, color="cornflowerblue")
modulation = assemble_segments(all_modulation, phase_indices)
value = assemble_segments(all_value, phase_indices)
ax.add_collection(
color_gradient(modulation, value, "cornflowerblue", "red", linewidth=3)
)
phase_indices = phase_indices[:-1]
last = np.array([np.nan, np.nan])
for i, index in enumerate(phase_indices):
ax.scatter(
all_modulation[index], all_value[index], zorder=100, marker=".", s=200, color="black"
)
next = np.array((all_modulation[index], all_value[index]))
ax.annotate(
str(i + 1),
xy=next,
xytext=(5, 5) if (np.linalg.norm(next- last)) > 1e-2 else (5, -10),
xycoords="data",
textcoords="offset points",
)
last = next
x0,x1 = ax.get_xlim()
y0,y1 = ax.get_ylim()
ax.set_aspect(abs(x1-x0)/abs(y1-y0))
return fig, ax
def plot_diagrams(name):
with open(f"data/pv_{name}.pickle", "rb") as file:
diagram_data = pickle.load(file)
for data in diagram_data:
fig, ax = plot_modulation_interaction_diagram(*data["args"])
ax.set_xlabel(data["xlabel"])
ax.set_ylabel(data["ylabel"])
plt.savefig(f"figures/{name}_{data['name']}")
#+end_src
#+RESULTS:
[[file:./.ob-jupyter/a85fb92dfb3cde613c524e8d3e97f7325a87275c.svg]]
#+begin_src jupyter-python
ot.plot_modulation_interaction_diagram(baseline, 2, 1)
fs.export_fig("baseline_interaction_vs_modulation_hot", x_scaling=1, y_scaling=1)
import pickle
def save_data(model, name):
data = [
{
"name": f"bath_modulation_interaction_{bath_name}",
"xlabel": rf"$||L_{bath_name}(t)||$",
"ylabel": r"$\langle{H_\mathrm{I}}\rangle$",
"args": ot.get_modulation_and_value(
model,
model.coupling_operators[bath],
model.interaction_energy().for_bath(bath),
),
}
for bath, bath_name in zip([0, 1], ["c", "h"])
] + [
{
"name": f"system_modulation_system_energy",
"xlabel": r"$||H_\mathrm{S}||$",
"ylabel": r"$\langle{H_\mathrm{S}}\rangle$",
"args": ot.get_modulation_and_value(
model,
model.H,
model.system_energy(),
steady_idx=2
),
}
]
with open(f"data/pv_{name}.pickle", "wb") as file:
pickle.dump(data, file)
# vals = ot.get_modulation_and_value(model, model.coupling_operators[0], model.interaction_energy().for_bath(0))
# plot_modulation_interaction_diagram(*vals)
#+end_src
#+RESULTS:
[[file:./.ob-jupyter/7ced09d05012d2f5f96fd1c5633577d232d0336b.svg]]
#+begin_src jupyter-python
ot.plot_modulation_system_diagram(baseline, 2)
fs.export_fig("baseline_system_vs_modulation", x_scaling=1, y_scaling=1)
save_data(baseline, "baseline")
#+end_src
#+begin_src jupyter-python :tangle scripts/plot_pv_diags.py
plot_diagrams("baseline")
#+end_src
#+RESULTS:
[[file:./.ob-jupyter/189be6530967f7dd9ae5131834606f53863c1ee5.svg]]
:RESULTS:
[[file:./.ob-jupyter/e20cfdce26aee3e6cc09aa2c71aab1d9c8fa0e6d.svg]]
[[file:./.ob-jupyter/f32476d9a3f65abb9e89a849288cca3d8dd4b8ab.svg]]
[[file:./.ob-jupyter/4dfab3022746c37d5d757f95907cda1233b06505.svg]]
:END:
*** Shifted Models
Let us print the power output (relative to the baseline = unshifted model) and efficiency.
@ -466,8 +614,8 @@ switch slower.
#+RESULTS:
:RESULTS:
: <matplotlib.legend.Legend at 0x7f2401d01d30>
[[file:./.ob-jupyter/ab754a91833374afaab5ef6e50c895e6d05f9f58.svg]]
: <matplotlib.legend.Legend at 0x7f24dc503550>
[[file:./.ob-jupyter/33dae463427019962039419fbf34de0e92f69a32.svg]]
:END:
@ -748,6 +896,33 @@ And do it again, but in a more convenient format.
**** pV Diagrams
Let's attempt to draw the p_v diagrams :).
#+begin_src jupyter-python
plt.plot(best_cold_model.t, best_cold_model.coupling_operators[0].operator_norm(best_cold_model.t))
plt.plot(best_cold_model.t, best_cold_model.H.operator_norm(best_cold_model.t))
#+end_src
#+RESULTS:
:RESULTS:
| <matplotlib.lines.Line2D | at | 0x7f24d9cb6370> |
[[file:./.ob-jupyter/85b4e10a2cbe7c5dd912e90d64e1fba3df180eb7.svg]]
:END:
#+begin_src jupyter-python
save_data(best_cold_model, "slow_shifted")
#+end_src
#+begin_src jupyter-python :tangle scripts/plot_pv_diags.py
plot_diagrams("slow_shifted")
#+end_src
#+RESULTS:
:RESULTS:
[[file:./.ob-jupyter/105a183ce89c8401f7e7d8f3066ef0f3ba6bcc8b.svg]]
[[file:./.ob-jupyter/7935e5fd5e40c078825f4fd488cb28c4f9a0564c.svg]]
[[file:./.ob-jupyter/87c5e40252e68db07bbebce0f5f30434f3646feb.svg]]
:END:
#+begin_src jupyter-python
ot.plot_modulation_interaction_diagram(best_cold_model, 2, 0)
fs.export_fig("best_model_interaction_vs_modulation_cold", x_scaling=1, y_scaling=1)

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View file

@ -0,0 +1,108 @@
from matplotlib import collections as mc
from matplotlib.colors import colorConverter
from collections import deque
from itertools import islice
import pickle
import matplotlib.pyplot as plt
import numpy as np
def sliding_window(iterable, n):
"""
sliding_window('ABCDEFG', 4) -> ABCD BCDE CDEF DEFG
recipe from python docs
"""
it = iter(iterable)
window = deque(islice(it, n), maxlen=n)
if len(window) == n:
yield tuple(window)
for x in it:
window.append(x)
yield tuple(window)
def color_gradient(x, y, c1, c2, **kwargs):
"""
Creates a line collection with a gradient from colors c1 to c2,
from data x and y.
"""
n = len(x)
if len(y) != n:
raise ValueError("x and y data lengths differ")
return mc.LineCollection(
sliding_window(zip(x, y), 2),
colors=np.linspace(colorConverter.to_rgb(c1), colorConverter.to_rgb(c2), n - 1),
**kwargs,
)
def assemble_segments(data, segments):
final = []
for begin, end in zip(segments, segments[1:]):
if begin > end:
final.append(np.concatenate([data[begin:-1], data[:end]]))
else:
final.append(data[begin:end])
return np.concatenate(final)
def plot_modulation_interaction_diagram(all_value, all_modulation, phase_indices):
fig, ax = plt.subplots()
closed = abs(all_value[phase_indices[0]]- all_value[phase_indices[-1]])< 1e-3
if not closed:
phase_indices = np.concatenate([phase_indices, [phase_indices[0]]])
ax.plot(all_modulation, all_value, linewidth=3, color="cornflowerblue")
modulation = assemble_segments(all_modulation, phase_indices)
value = assemble_segments(all_value, phase_indices)
ax.add_collection(
color_gradient(modulation, value, "cornflowerblue", "red", linewidth=3)
)
phase_indices = phase_indices[:-1]
last = np.array([np.nan, np.nan])
for i, index in enumerate(phase_indices):
ax.scatter(
all_modulation[index], all_value[index], zorder=100, marker=".", s=200, color="black"
)
next = np.array((all_modulation[index], all_value[index]))
ax.annotate(
str(i + 1),
xy=next,
xytext=(5, 5) if (np.linalg.norm(next- last)) > 1e-2 else (5, -10),
xycoords="data",
textcoords="offset points",
)
last = next
x0,x1 = ax.get_xlim()
y0,y1 = ax.get_ylim()
ax.set_aspect(abs(x1-x0)/abs(y1-y0))
return fig, ax
def plot_diagrams(name):
with open(f"data/pv_{name}.pickle", "rb") as file:
diagram_data = pickle.load(file)
for data in diagram_data:
fig, ax = plot_modulation_interaction_diagram(*data["args"])
ax.set_xlabel(data["xlabel"])
ax.set_ylabel(data["ylabel"])
plt.savefig(f"figures/{name}_{data['name']}")
plot_diagrams("baseline")
plot_diagrams("slow_shifted")

View file

@ -67,14 +67,46 @@ fs.export_fig("state_evolution", y_scaling=.7)
ot.plot_steady_energy_changes([baseline], 2, label_fn=lambda _: "")
fs.export_fig("prototype_energy_change", y_scaling=.7)
ot.plot_modulation_interaction_diagram(baseline, 2, 0)
fs.export_fig("baseline_interaction_vs_modulation_cold", x_scaling=1, y_scaling=1)
import pickle
ot.plot_modulation_interaction_diagram(baseline, 2, 1)
fs.export_fig("baseline_interaction_vs_modulation_hot", x_scaling=1, y_scaling=1)
def save_data(model, name):
data = [
{
"name": f"bath_modulation_interaction_{bath_name}",
"xlabel": rf"$||L_{bath_name}(t)||$",
"ylabel": r"$\langle{H_\mathrm{I}}\rangle$",
"args": ot.get_modulation_and_value(
model,
model.coupling_operators[bath],
model.interaction_energy().for_bath(bath),
),
}
for bath, bath_name in zip([0, 1], ["c", "h"])
] + [
{
"name": f"system_modulation_system_energy",
"xlabel": r"$||H_\mathrm{S}||$",
"ylabel": r"$\langle{H_\mathrm{S}}\rangle$",
"args": ot.get_modulation_and_value(
model,
model.H,
model.system_energy(),
steady_idx=2
),
}
]
ot.plot_modulation_system_diagram(baseline, 2)
fs.export_fig("baseline_system_vs_modulation", x_scaling=1, y_scaling=1)
with open(f"data/pv_{name}.pickle", "wb") as file:
pickle.dump(data, file)
# vals = ot.get_modulation_and_value(model, model.coupling_operators[0], model.interaction_energy().for_bath(0))
# plot_modulation_interaction_diagram(*vals)
save_data(baseline, "baseline")
for model in models:
print(model.power(steady_idx=2).value / baseline.power(steady_idx=2).value, model.efficiency(steady_idx=2).value)
@ -341,6 +373,11 @@ best_cold_shift = shifts[np.argmax([-model.power(steady_idx=2).value for model i
best_cold_model = sc.make_model(best_cold_shift, best_cold_shift, switch_t=6., only_cold=True)
best_cold_shift
plt.plot(best_cold_model.t, best_cold_model.coupling_operators[0].operator_norm(best_cold_model.t))
plt.plot(best_cold_model.t, best_cold_model.H.operator_norm(best_cold_model.t))
save_data(best_cold_model, "slow_shifted")
ot.plot_modulation_interaction_diagram(best_cold_model, 2, 0)
fs.export_fig("best_model_interaction_vs_modulation_cold", x_scaling=1, y_scaling=1)