Page MenuHomec4science

No OneTemporary

File Metadata

Created
Sat, May 4, 11:33
diff --git a/complexity.svg b/complexity.svg
new file mode 100644
index 0000000..5467a1f
--- /dev/null
+++ b/complexity.svg
@@ -0,0 +1,1226 @@
+<?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">
+<!-- Created with matplotlib (https://matplotlib.org/) -->
+<svg height="216pt" version="1.1" viewBox="0 0 288 216" width="288pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <style type="text/css">
+*{stroke-linecap:butt;stroke-linejoin:round;}
+ </style>
+ </defs>
+ <g id="figure_1">
+ <g id="patch_1">
+ <path d="M 0 216
+L 288 216
+L 288 0
+L 0 0
+z
+" style="fill:none;"/>
+ </g>
+ <g id="axes_1">
+ <g id="patch_2">
+ <path d="M 58.441838 170.44
+L 272.52 170.44
+L 272.52 15.48
+L 58.441838 15.48
+z
+" style="fill:none;"/>
+ </g>
+ <g id="matplotlib.axis_1">
+ <g id="xtick_1">
+ <g id="line2d_1">
+ <defs>
+ <path d="M 0 0
+L 0 3.5
+" id="mb2b25eb0d6" style="stroke:#000000;stroke-width:0.8;"/>
+ </defs>
+ <g>
+ <use style="stroke:#000000;stroke-width:0.8;" x="76.208885" xlink:href="#mb2b25eb0d6" y="170.44"/>
+ </g>
+ </g>
+ <g id="text_1">
+ <!-- $10^{2}$ -->
+ <defs>
+ <path d="M 26.59375 63.796875
+C 26.59375 65.890625 26.5 66 25.09375 66
+C 21.203125 61.359375 15.296875 59.890625 9.703125 59.6875
+C 9.40625 59.6875 8.90625 59.6875 8.796875 59.5
+C 8.703125 59.296875 8.703125 59.09375 8.703125 57
+C 11.796875 57 17 57.59375 21 59.984375
+L 21 7.296875
+C 21 3.796875 20.796875 2.59375 12.203125 2.59375
+L 9.203125 2.59375
+L 9.203125 0
+C 14 0.09375 19 0.1875 23.796875 0.1875
+C 28.59375 0.1875 33.59375 0.09375 38.40625 0
+L 38.40625 2.59375
+L 35.40625 2.59375
+C 26.796875 2.59375 26.59375 3.6875 26.59375 7.296875
+z
+" id="CMR17-49"/>
+ <path d="M 42 31.84375
+C 42 37.96875 41.90625 48.421875 37.703125 56.453125
+C 34 63.484375 28.09375 66 22.90625 66
+C 18.09375 66 12 63.78125 8.203125 56.5625
+C 4.203125 49.015625 3.796875 39.671875 3.796875 31.84375
+C 3.796875 26.109375 3.90625 17.375 7 9.734375
+C 11.296875 -0.609375 19 -2 22.90625 -2
+C 27.5 -2 34.5 -0.109375 38.59375 9.4375
+C 41.59375 16.375 42 24.5 42 31.84375
+z
+M 22.90625 -0.40625
+C 16.5 -0.40625 12.703125 5.125 11.296875 12.75
+C 10.203125 18.6875 10.203125 27.328125 10.203125 32.953125
+C 10.203125 40.6875 10.203125 47.109375 11.5 53.234375
+C 13.40625 61.78125 19 64.390625 22.90625 64.390625
+C 27 64.390625 32.296875 61.671875 34.203125 53.4375
+C 35.5 47.71875 35.59375 40.984375 35.59375 32.953125
+C 35.59375 26.421875 35.59375 18.375 34.40625 12.453125
+C 32.296875 1.5 26.40625 -0.40625 22.90625 -0.40625
+z
+" id="CMR17-48"/>
+ <path d="M 41.703125 15.46875
+L 39.90625 15.46875
+C 38.90625 8.390625 38.09375 7.1875 37.703125 6.59375
+C 37.203125 5.796875 30 5.796875 28.59375 5.796875
+L 9.40625 5.796875
+C 13 9.6875 20 16.765625 28.5 24.9375
+C 34.59375 30.71875 41.703125 37.5 41.703125 47.390625
+C 41.703125 59.1875 32.296875 66 21.796875 66
+C 10.796875 66 4.09375 56.296875 4.09375 47.296875
+C 4.09375 43.390625 7 42.890625 8.203125 42.890625
+C 9.203125 42.890625 12.203125 43.484375 12.203125 46.984375
+C 12.203125 50.09375 9.59375 51 8.203125 51
+C 7.59375 51 7 50.890625 6.59375 50.6875
+C 8.5 59.1875 14.296875 63.390625 20.40625 63.390625
+C 29.09375 63.390625 34.796875 56.5 34.796875 47.390625
+C 34.796875 38.703125 29.703125 31.21875 24 24.734375
+L 4.09375 2.296875
+L 4.09375 0
+L 39.296875 0
+z
+" id="CMR17-50"/>
+ </defs>
+ <g transform="translate(68.238803 185.74218)scale(0.12 -0.12)">
+ <use transform="scale(0.996264)" xlink:href="#CMR17-49"/>
+ <use transform="translate(45.690477 0)scale(0.996264)" xlink:href="#CMR17-48"/>
+ <use transform="translate(91.380954 36.153639)scale(0.697382)" xlink:href="#CMR17-50"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_2">
+ <g id="line2d_2">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.8;" x="117.671172" xlink:href="#mb2b25eb0d6" y="170.44"/>
+ </g>
+ </g>
+ <g id="text_2">
+ <!-- $10^{3}$ -->
+ <defs>
+ <path d="M 22.09375 34
+C 31 34 34.90625 26.140625 34.90625 17.09375
+C 34.90625 5.03125 28.5 0.390625 22.703125 0.390625
+C 17.40625 0.390625 8.796875 3.015625 6.09375 10.796875
+C 6.59375 10.59375 7.09375 10.59375 7.59375 10.59375
+C 10 10.59375 11.796875 12.1875 11.796875 14.796875
+C 11.796875 17.6875 9.59375 19 7.59375 19
+C 5.90625 19 3.296875 18.1875 3.296875 14.484375
+C 3.296875 5.234375 12.296875 -2 22.90625 -2
+C 34 -2 42.5 6.75 42.5 16.984375
+C 42.5 26.84375 34.5 34 25 35.09375
+C 32.59375 36.671875 39.90625 43.375 39.90625 52.390625
+C 39.90625 60.25 32 66 23 66
+C 13.90625 66 5.90625 60.34375 5.90625 52.296875
+C 5.90625 48.796875 8.5 48.1875 9.796875 48.1875
+C 11.90625 48.1875 13.703125 49.484375 13.703125 52.09375
+C 13.703125 54.6875 11.90625 56 9.796875 56
+C 9.40625 56 8.90625 56 8.5 55.796875
+C 11.40625 62.484375 19.296875 63.6875 22.796875 63.6875
+C 26.296875 63.6875 32.90625 61.96875 32.90625 52.296875
+C 32.90625 49.484375 32.5 44.546875 29.09375 40.21875
+C 26.09375 36.390625 22.703125 36.1875 19.40625 35.890625
+C 18.90625 35.890625 16.59375 35.6875 16.203125 35.6875
+C 15.5 35.59375 15.09375 35.5 15.09375 34.796875
+C 15.09375 34.09375 15.203125 34 17.203125 34
+z
+" id="CMR17-51"/>
+ </defs>
+ <g transform="translate(109.70109 185.74218)scale(0.12 -0.12)">
+ <use transform="scale(0.996264)" xlink:href="#CMR17-49"/>
+ <use transform="translate(45.690477 0)scale(0.996264)" xlink:href="#CMR17-48"/>
+ <use transform="translate(91.380954 36.153639)scale(0.697382)" xlink:href="#CMR17-51"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_3">
+ <g id="line2d_3">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.8;" x="159.133458" xlink:href="#mb2b25eb0d6" y="170.44"/>
+ </g>
+ </g>
+ <g id="text_3">
+ <!-- $10^{4}$ -->
+ <defs>
+ <path d="M 33.59375 64.796875
+C 33.59375 66.890625 33.5 67 31.703125 67
+L 2 19.59375
+L 2 17
+L 27.796875 17
+L 27.796875 7.1875
+C 27.796875 3.59375 27.59375 2.59375 20.59375 2.59375
+L 18.703125 2.59375
+L 18.703125 0
+C 21.90625 0.1875 27.296875 0.1875 30.703125 0.1875
+C 34.09375 0.1875 39.5 0.1875 42.703125 0
+L 42.703125 2.59375
+L 40.796875 2.59375
+C 33.796875 2.59375 33.59375 3.59375 33.59375 7.1875
+L 33.59375 17
+L 43.796875 17
+L 43.796875 19.59375
+L 33.59375 19.59375
+z
+M 28.09375 58.171875
+L 28.09375 19.59375
+L 4 19.59375
+z
+" id="CMR17-52"/>
+ </defs>
+ <g transform="translate(151.163376 185.74218)scale(0.12 -0.12)">
+ <use transform="scale(0.996264)" xlink:href="#CMR17-49"/>
+ <use transform="translate(45.690477 0)scale(0.996264)" xlink:href="#CMR17-48"/>
+ <use transform="translate(91.380954 36.153639)scale(0.697382)" xlink:href="#CMR17-52"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_4">
+ <g id="line2d_4">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.8;" x="200.595745" xlink:href="#mb2b25eb0d6" y="170.44"/>
+ </g>
+ </g>
+ <g id="text_4">
+ <!-- $10^{5}$ -->
+ <defs>
+ <path d="M 11.40625 58.59375
+C 12.40625 58.1875 16.5 56.890625 20.703125 56.890625
+C 30 56.890625 35.09375 61.890625 38 64.6875
+C 38 65.484375 38 66 37.40625 66
+C 37.296875 66 37.09375 66 36.296875 65.59375
+C 32.796875 64.09375 28.703125 63 23.703125 63
+C 20.703125 63 16.203125 63.359375 11.296875 65.484375
+C 10.203125 66 10 66 9.90625 66
+C 9.40625 66 9.296875 65.890625 9.296875 63.90625
+L 9.296875 34.859375
+C 9.296875 33.015625 9.296875 32.5 10.296875 32.5
+C 10.796875 32.5 11 32.703125 11.5 33.421875
+C 14.703125 38.046875 19.09375 40 24.09375 40
+C 27.59375 40 35.09375 37.734375 35.09375 20.203125
+C 35.09375 16.984375 35.09375 11.1875 32.09375 6.59375
+C 29.59375 2.484375 25.703125 0.390625 21.40625 0.390625
+C 14.796875 0.390625 8.09375 4.984375 6.296875 12.6875
+C 6.703125 12.59375 7.5 12.390625 7.90625 12.390625
+C 9.203125 12.390625 11.703125 13.09375 11.703125 16.1875
+C 11.703125 18.890625 9.796875 20 7.90625 20
+C 5.59375 20 4.09375 18.59375 4.09375 15.796875
+C 4.09375 7.09375 11 -2 21.59375 -2
+C 31.90625 -2 41.703125 6.890625 41.703125 19.796875
+C 41.703125 32.09375 33.90625 41.59375 24.203125 41.59375
+C 19.09375 41.59375 14.796875 39.6875 11.40625 36
+z
+" id="CMR17-53"/>
+ </defs>
+ <g transform="translate(192.625663 185.74218)scale(0.12 -0.12)">
+ <use transform="scale(0.996264)" xlink:href="#CMR17-49"/>
+ <use transform="translate(45.690477 0)scale(0.996264)" xlink:href="#CMR17-48"/>
+ <use transform="translate(91.380954 36.153639)scale(0.697382)" xlink:href="#CMR17-53"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_5">
+ <g id="line2d_5">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.8;" x="242.058031" xlink:href="#mb2b25eb0d6" y="170.44"/>
+ </g>
+ </g>
+ <g id="text_5">
+ <!-- $10^{6}$ -->
+ <defs>
+ <path d="M 10.59375 34.34375
+C 10.59375 58 21.796875 63.6875 28.296875 63.6875
+C 30.40625 63.6875 35.5 63.265625 37.5 59.09375
+C 35.90625 59.09375 32.90625 59.09375 32.90625 55.59375
+C 32.90625 52.890625 35.09375 52 36.5 52
+C 37.40625 52 40.09375 52.390625 40.09375 55.796875
+C 40.09375 62.296875 35.09375 66 28.203125 66
+C 16.296875 66 3.796875 53.296875 3.796875 31.421875
+C 3.796875 4.015625 15.09375 -2 23.09375 -2
+C 32.796875 -2 42 6.734375 42 20.234375
+C 42 32.828125 33.90625 42 23.703125 42
+C 17.59375 42 13.09375 37.96875 10.59375 30.921875
+z
+M 23.09375 0.390625
+C 10.796875 0.390625 10.796875 18.9375 10.796875 22.65625
+C 10.796875 29.90625 14.203125 40.390625 23.5 40.390625
+C 25.203125 40.390625 30.09375 40.390625 33.40625 33.4375
+C 35.203125 29.515625 35.203125 25.375 35.203125 20.34375
+C 35.203125 14.90625 35.203125 10.875 33.09375 6.84375
+C 30.90625 2.703125 27.703125 0.390625 23.09375 0.390625
+z
+" id="CMR17-54"/>
+ </defs>
+ <g transform="translate(234.08795 185.74218)scale(0.12 -0.12)">
+ <use transform="scale(0.996264)" xlink:href="#CMR17-49"/>
+ <use transform="translate(45.690477 0)scale(0.996264)" xlink:href="#CMR17-48"/>
+ <use transform="translate(91.380954 36.153639)scale(0.697382)" xlink:href="#CMR17-54"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_6">
+ <g id="line2d_6">
+ <defs>
+ <path d="M 0 0
+L 0 2
+" id="mb222e6e450" style="stroke:#000000;stroke-width:0.6;"/>
+ </defs>
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="59.709382" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_7">
+ <g id="line2d_7">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="63.727493" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_8">
+ <g id="line2d_8">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="67.010529" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_9">
+ <g id="line2d_9">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="69.786296" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_10">
+ <g id="line2d_10">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="72.190774" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_11">
+ <g id="line2d_11">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="74.311675" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_12">
+ <g id="line2d_12">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="88.690277" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_13">
+ <g id="line2d_13">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="95.991423" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_14">
+ <g id="line2d_14">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="101.171669" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_15">
+ <g id="line2d_15">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="105.18978" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_16">
+ <g id="line2d_16">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="108.472815" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_17">
+ <g id="line2d_17">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="111.248582" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_18">
+ <g id="line2d_18">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="113.653061" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_19">
+ <g id="line2d_19">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="115.773961" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_20">
+ <g id="line2d_20">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="130.152564" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_21">
+ <g id="line2d_21">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="137.45371" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_22">
+ <g id="line2d_22">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="142.633956" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_23">
+ <g id="line2d_23">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="146.652066" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_24">
+ <g id="line2d_24">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="149.935102" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_25">
+ <g id="line2d_25">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="152.710869" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_26">
+ <g id="line2d_26">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="155.115347" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_27">
+ <g id="line2d_27">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="157.236248" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_28">
+ <g id="line2d_28">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="171.61485" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_29">
+ <g id="line2d_29">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="178.915996" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_30">
+ <g id="line2d_30">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="184.096242" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_31">
+ <g id="line2d_31">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="188.114353" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_32">
+ <g id="line2d_32">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="191.397388" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_33">
+ <g id="line2d_33">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="194.173155" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_34">
+ <g id="line2d_34">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="196.577634" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_35">
+ <g id="line2d_35">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="198.698534" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_36">
+ <g id="line2d_36">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="213.077137" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_37">
+ <g id="line2d_37">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="220.378283" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_38">
+ <g id="line2d_38">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="225.558529" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_39">
+ <g id="line2d_39">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="229.576639" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_40">
+ <g id="line2d_40">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="232.859675" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_41">
+ <g id="line2d_41">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="235.635442" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_42">
+ <g id="line2d_42">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="238.03992" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_43">
+ <g id="line2d_43">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="240.160821" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_44">
+ <g id="line2d_44">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="254.539423" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_45">
+ <g id="line2d_45">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="261.840569" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_46">
+ <g id="line2d_46">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="267.020815" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="xtick_47">
+ <g id="line2d_47">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.6;" x="271.038926" xlink:href="#mb222e6e450" y="170.44"/>
+ </g>
+ </g>
+ </g>
+ <g id="text_6">
+ <!-- $N$ -->
+ <defs>
+ <path d="M 74 57.53125
+C 75.09375 61.8125 76.703125 64.796875 84.296875 65.09375
+C 84.59375 65.09375 85.796875 65.1875 85.796875 66.890625
+C 85.796875 68 84.90625 68 84.5 68
+C 82.5 68 77.40625 67.796875 75.40625 67.796875
+L 70.59375 67.796875
+C 69.203125 67.796875 67.40625 68 66 68
+C 65.40625 68 64.203125 68 64.203125 66.09375
+C 64.203125 65.09375 65 65.09375 65.703125 65.09375
+C 71.703125 64.890625 72.09375 62.609375 72.09375 60.8125
+C 72.09375 59.921875 72 59.625 71.703125 58.21875
+L 60.40625 13.34375
+L 39 66.296875
+C 38.296875 67.890625 38.203125 68 36 68
+L 23.796875 68
+C 21.796875 68 20.90625 68 20.90625 66.09375
+C 20.90625 65.09375 21.59375 65.09375 23.5 65.09375
+C 24 65.09375 29.90625 65.09375 29.90625 64.203125
+C 29.90625 64 29.703125 63.203125 29.59375 62.90625
+L 16.296875 10.15625
+C 15.09375 5.28125 12.703125 3.1875 6.09375 2.890625
+C 5.59375 2.890625 4.59375 2.796875 4.59375 1
+C 4.59375 0 5.59375 0 5.90625 0
+C 7.90625 0 13 0.1875 15 0.1875
+L 19.796875 0.1875
+C 21.203125 0.1875 22.90625 0 24.296875 0
+C 25 0 26.09375 0 26.09375 1.890625
+C 26.09375 2.796875 25.09375 2.890625 24.703125 2.890625
+C 21.40625 2.984375 18.203125 3.59375 18.203125 7.171875
+C 18.203125 7.96875 18.40625 8.859375 18.59375 9.65625
+L 32.09375 62.90625
+C 32.703125 61.90625 32.703125 61.703125 33.09375 60.8125
+L 56.90625 1.796875
+C 57.40625 0.59375 57.59375 0 58.5 0
+C 59.5 0 59.59375 0.296875 60 2
+z
+" id="CMMI12-78"/>
+ </defs>
+ <g transform="translate(160.794012 200.368955)scale(0.12 -0.12)">
+ <use transform="scale(0.996264)" xlink:href="#CMMI12-78"/>
+ </g>
+ </g>
+ </g>
+ <g id="matplotlib.axis_2">
+ <g id="ytick_1">
+ <g id="line2d_48">
+ <defs>
+ <path d="M 0 0
+L -3.5 0
+" id="mbe8674c73b" style="stroke:#000000;stroke-width:0.8;"/>
+ </defs>
+ <g>
+ <use style="stroke:#000000;stroke-width:0.8;" x="58.441838" xlink:href="#mbe8674c73b" y="148.241174"/>
+ </g>
+ </g>
+ <g id="text_7">
+ <!-- $10^{-2}$ -->
+ <defs>
+ <path d="M 65.90625 23
+C 67.59375 23 69.40625 23 69.40625 25
+C 69.40625 27 67.59375 27 65.90625 27
+L 11.796875 27
+C 10.09375 27 8.296875 27 8.296875 25
+C 8.296875 23 10.09375 23 11.796875 23
+z
+" id="CMSY10-0"/>
+ </defs>
+ <g transform="translate(28.915168 152.392264)scale(0.12 -0.12)">
+ <use transform="scale(0.996264)" xlink:href="#CMR17-49"/>
+ <use transform="translate(45.690477 0)scale(0.996264)" xlink:href="#CMR17-48"/>
+ <use transform="translate(91.380954 36.153639)scale(0.697382)" xlink:href="#CMSY10-0"/>
+ <use transform="translate(145.621947 36.153639)scale(0.697382)" xlink:href="#CMR17-50"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_2">
+ <g id="line2d_49">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.8;" x="58.441838" xlink:href="#mbe8674c73b" y="112.581834"/>
+ </g>
+ </g>
+ <g id="text_8">
+ <!-- $10^{0}$ -->
+ <g transform="translate(35.501675 116.732924)scale(0.12 -0.12)">
+ <use transform="scale(0.996264)" xlink:href="#CMR17-49"/>
+ <use transform="translate(45.690477 0)scale(0.996264)" xlink:href="#CMR17-48"/>
+ <use transform="translate(91.380954 36.153639)scale(0.697382)" xlink:href="#CMR17-48"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_3">
+ <g id="line2d_50">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.8;" x="58.441838" xlink:href="#mbe8674c73b" y="76.922494"/>
+ </g>
+ </g>
+ <g id="text_9">
+ <!-- $10^{2}$ -->
+ <g transform="translate(35.501675 81.073584)scale(0.12 -0.12)">
+ <use transform="scale(0.996264)" xlink:href="#CMR17-49"/>
+ <use transform="translate(45.690477 0)scale(0.996264)" xlink:href="#CMR17-48"/>
+ <use transform="translate(91.380954 36.153639)scale(0.697382)" xlink:href="#CMR17-50"/>
+ </g>
+ </g>
+ </g>
+ <g id="ytick_4">
+ <g id="line2d_51">
+ <g>
+ <use style="stroke:#000000;stroke-width:0.8;" x="58.441838" xlink:href="#mbe8674c73b" y="41.263154"/>
+ </g>
+ </g>
+ <g id="text_10">
+ <!-- $10^{4}$ -->
+ <g transform="translate(35.501675 45.414244)scale(0.12 -0.12)">
+ <use transform="scale(0.996264)" xlink:href="#CMR17-49"/>
+ <use transform="translate(45.690477 0)scale(0.996264)" xlink:href="#CMR17-48"/>
+ <use transform="translate(91.380954 36.153639)scale(0.697382)" xlink:href="#CMR17-52"/>
+ </g>
+ </g>
+ </g>
+ <g id="text_11">
+ <!-- $T$ [s] -->
+ <defs>
+ <path d="M 41.703125 60.71875
+C 42.296875 63.09375 42.5 64 44 64.390625
+C 44.796875 64.59375 48.09375 64.59375 50.203125 64.59375
+C 60.203125 64.59375 64.90625 64.203125 64.90625 56.4375
+C 64.90625 54.9375 64.5 51.15625 63.90625 47.46875
+L 63.796875 46.28125
+C 63.796875 45.890625 64.203125 45.28125 64.796875 45.28125
+C 65.796875 45.28125 65.796875 45.78125 66.09375 47.375
+L 69 64.984375
+C 69.203125 65.890625 69.203125 66.09375 69.203125 66.390625
+C 69.203125 67.484375 68.59375 67.484375 66.59375 67.484375
+L 11.90625 67.484375
+C 9.59375 67.484375 9.5 67.390625 8.90625 65.59375
+L 2.796875 47.671875
+C 2.703125 47.46875 2.40625 46.375 2.40625 46.28125
+C 2.40625 45.78125 2.796875 45.28125 3.40625 45.28125
+C 4.203125 45.28125 4.40625 45.6875 4.796875 46.984375
+C 9 59.015625 11.09375 64.59375 24.40625 64.59375
+L 31.09375 64.59375
+C 33.5 64.59375 34.5 64.59375 34.5 63.5
+C 34.5 63.203125 34.5 63 34 61.203125
+L 20.59375 7.765625
+C 19.59375 3.890625 19.40625 2.890625 8.796875 2.890625
+C 6.296875 2.890625 5.59375 2.890625 5.59375 1
+C 5.59375 0 6.703125 0 7.203125 0
+C 9.703125 0 12.296875 0.1875 14.796875 0.1875
+L 30.40625 0.1875
+C 32.90625 0.1875 35.59375 0 38.09375 0
+C 39.203125 0 40.203125 0 40.203125 1.890625
+C 40.203125 2.890625 39.5 2.890625 36.90625 2.890625
+C 27.90625 2.890625 27.90625 3.78125 27.90625 5.28125
+C 27.90625 5.375 27.90625 6.078125 28.296875 7.671875
+z
+" id="CMMI12-84"/>
+ <path d="M 25.203125 -25
+L 25.203125 -18.90625
+L 16.59375 -18.90625
+L 16.59375 68.890625
+L 25.203125 68.890625
+L 25.203125 75
+L 9.296875 75
+L 9.296875 -25
+z
+" id="CMSS17-91"/>
+ <path d="M 32.203125 40.984375
+C 26.296875 43.796875 21.703125 44 18.703125 44
+C 11.59375 44 3.09375 41.484375 3.09375 31.390625
+C 3.09375 21.296875 14.09375 19.09375 17.09375 18.484375
+C 21.703125 17.59375 26.796875 16.59375 26.796875 11.59375
+C 26.796875 5.296875 19.59375 5.296875 18.296875 5.296875
+C 14.296875 5.296875 8.796875 6.390625 3.796875 9.984375
+L 2.59375 3.296875
+C 8.296875 0 13.796875 -1 18.40625 -1
+C 30.703125 -1 33.796875 6.5 33.796875 12.1875
+C 33.796875 17.09375 31 20.390625 29.09375 21.890625
+C 25.796875 24.484375 24.59375 24.796875 16.40625 26.484375
+C 15 26.6875 10.09375 27.796875 10.09375 32.296875
+C 10.09375 37.984375 16.40625 37.984375 17.796875 37.984375
+C 24.296875 37.984375 28.296875 35.984375 31 34.484375
+z
+" id="CMSS17-115"/>
+ <path d="M 17.90625 75
+L 2 75
+L 2 68.890625
+L 10.59375 68.890625
+L 10.59375 -18.90625
+L 2 -18.90625
+L 2 -25
+L 17.90625 -25
+z
+" id="CMSS17-93"/>
+ </defs>
+ <g transform="translate(21.926376 104.781187)rotate(-90)scale(0.12 -0.12)">
+ <use transform="scale(0.996264)" xlink:href="#CMMI12-84"/>
+ <use transform="translate(101.952745 0)scale(0.996264)" xlink:href="#CMSS17-91"/>
+ <use transform="translate(129.138184 0)scale(0.996264)" xlink:href="#CMSS17-115"/>
+ <use transform="translate(165.051726 0)scale(0.996264)" xlink:href="#CMSS17-93"/>
+ </g>
+ </g>
+ </g>
+ <g id="line2d_52">
+ <path clip-path="url(#p872e16c07f)" d="M 68.172664 163.396364
+L 105.616839 153.527939
+L 143.061015 139.427159
+L 180.505191 122.790312
+L 217.949367 104.703115
+L 255.393543 86.077514
+" style="fill:none;stroke:#ff0000;stroke-linecap:square;stroke-width:0.8;"/>
+ <defs>
+ <path d="M 0 2
+C 0.530406 2 1.03916 1.789267 1.414214 1.414214
+C 1.789267 1.03916 2 0.530406 2 0
+C 2 -0.530406 1.789267 -1.03916 1.414214 -1.414214
+C 1.03916 -1.789267 0.530406 -2 0 -2
+C -0.530406 -2 -1.03916 -1.789267 -1.414214 -1.414214
+C -1.789267 -1.03916 -2 -0.530406 -2 0
+C -2 0.530406 -1.789267 1.03916 -1.414214 1.414214
+C -1.03916 1.789267 -0.530406 2 0 2
+z
+" id="m9bcb61bf65" style="stroke:#ff0000;"/>
+ </defs>
+ <g clip-path="url(#p872e16c07f)">
+ <use style="fill:#ff0000;stroke:#ff0000;" x="68.172664" xlink:href="#m9bcb61bf65" y="163.396364"/>
+ <use style="fill:#ff0000;stroke:#ff0000;" x="105.616839" xlink:href="#m9bcb61bf65" y="153.527939"/>
+ <use style="fill:#ff0000;stroke:#ff0000;" x="143.061015" xlink:href="#m9bcb61bf65" y="139.427159"/>
+ <use style="fill:#ff0000;stroke:#ff0000;" x="180.505191" xlink:href="#m9bcb61bf65" y="122.790312"/>
+ <use style="fill:#ff0000;stroke:#ff0000;" x="217.949367" xlink:href="#m9bcb61bf65" y="104.703115"/>
+ <use style="fill:#ff0000;stroke:#ff0000;" x="255.393543" xlink:href="#m9bcb61bf65" y="86.077514"/>
+ </g>
+ </g>
+ <g id="line2d_53">
+ <path clip-path="url(#p872e16c07f)" d="M 159.133458 148.241174
+L 162.707793 146.539024
+L 166.282128 144.840322
+L 169.856463 143.144926
+L 173.430798 141.452703
+L 177.005133 139.763529
+L 180.579468 138.077287
+L 184.153803 136.393866
+L 187.728139 134.71316
+L 191.302474 133.035071
+L 194.876809 131.359506
+L 198.451144 129.686375
+L 202.025479 128.015595
+L 205.599814 126.347086
+L 209.174149 124.680772
+L 212.748484 123.01658
+L 216.322819 121.354443
+L 219.897154 119.694294
+L 223.471489 118.036072
+L 227.045824 116.379718
+L 230.620159 114.725174
+L 234.194494 113.072386
+L 237.768829 111.421304
+L 241.343164 109.771876
+L 244.917499 108.124057
+L 248.491834 106.477799
+L 252.066169 104.833061
+L 255.640504 103.189801
+L 259.214839 101.547978
+L 262.789174 99.907553
+" style="fill:none;stroke:#ff0000;stroke-dasharray:2.96,1.28;stroke-dashoffset:0;stroke-width:0.8;"/>
+ </g>
+ <g id="line2d_54">
+ <path clip-path="url(#p872e16c07f)" d="M 68.172664 143.809553
+L 105.616839 126.284682
+L 143.061015 107.916631
+L 180.505191 88.672473
+L 217.949367 65.720274
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/>
+ <defs>
+ <path d="M 0 2
+C 0.530406 2 1.03916 1.789267 1.414214 1.414214
+C 1.789267 1.03916 2 0.530406 2 0
+C 2 -0.530406 1.789267 -1.03916 1.414214 -1.414214
+C 1.03916 -1.789267 0.530406 -2 0 -2
+C -0.530406 -2 -1.03916 -1.789267 -1.414214 -1.414214
+C -1.789267 -1.03916 -2 -0.530406 -2 0
+C -2 0.530406 -1.789267 1.03916 -1.414214 1.414214
+C -1.03916 1.789267 -0.530406 2 0 2
+z
+" id="m70825a5ceb" style="stroke:#000000;"/>
+ </defs>
+ <g clip-path="url(#p872e16c07f)">
+ <use style="stroke:#000000;" x="68.172664" xlink:href="#m70825a5ceb" y="143.809553"/>
+ <use style="stroke:#000000;" x="105.616839" xlink:href="#m70825a5ceb" y="126.284682"/>
+ <use style="stroke:#000000;" x="143.061015" xlink:href="#m70825a5ceb" y="107.916631"/>
+ <use style="stroke:#000000;" x="180.505191" xlink:href="#m70825a5ceb" y="88.672473"/>
+ <use style="stroke:#000000;" x="217.949367" xlink:href="#m70825a5ceb" y="65.720274"/>
+ </g>
+ </g>
+ <g id="line2d_55">
+ <path clip-path="url(#p872e16c07f)" d="M 159.133458 89.384899
+L 162.707793 87.079338
+L 166.282128 84.773777
+L 169.856463 82.468216
+L 173.430798 80.162656
+L 177.005133 77.857095
+L 180.579468 75.551534
+L 184.153803 73.245973
+L 187.728139 70.940413
+L 191.302474 68.634852
+L 194.876809 66.329291
+L 198.451144 64.02373
+L 202.025479 61.718169
+L 205.599814 59.412609
+L 209.174149 57.107048
+L 212.748484 54.801487
+L 216.322819 52.495926
+L 219.897154 50.190366
+L 223.471489 47.884805
+L 227.045824 45.579244
+L 230.620159 43.273683
+L 234.194494 40.968123
+L 237.768829 38.662562
+L 241.343164 36.357001
+L 244.917499 34.05144
+L 248.491834 31.745879
+L 252.066169 29.440319
+L 255.640504 27.134758
+L 259.214839 24.829197
+L 262.789174 22.523636
+" style="fill:none;stroke:#000000;stroke-dasharray:2.96,1.28;stroke-dashoffset:0;stroke-width:0.8;"/>
+ </g>
+ <g id="patch_3">
+ <path d="M 58.441838 170.44
+L 58.441838 15.48
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.5;"/>
+ </g>
+ <g id="patch_4">
+ <path d="M 272.52 170.44
+L 272.52 15.48
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.5;"/>
+ </g>
+ <g id="patch_5">
+ <path d="M 58.441838 170.44
+L 272.52 170.44
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.5;"/>
+ </g>
+ <g id="patch_6">
+ <path d="M 58.441838 15.48
+L 272.52 15.48
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.5;"/>
+ </g>
+ <g id="legend_1">
+ <g id="patch_7">
+ <path d="M 64.041838 74.495951
+L 138.659499 74.495951
+Q 140.259499 74.495951 140.259499 72.895951
+L 140.259499 21.08
+Q 140.259499 19.48 138.659499 19.48
+L 64.041838 19.48
+Q 62.441838 19.48 62.441838 21.08
+L 62.441838 72.895951
+Q 62.441838 74.495951 64.041838 74.495951
+z
+" style="fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;"/>
+ </g>
+ <g id="line2d_56">
+ <path d="M 65.641838 25.48
+L 81.641838 25.48
+" style="fill:none;stroke:#ff0000;stroke-linecap:square;stroke-width:0.8;"/>
+ </g>
+ <g id="line2d_57">
+ <g>
+ <use style="fill:#ff0000;stroke:#ff0000;" x="73.641838" xlink:href="#m9bcb61bf65" y="25.48"/>
+ </g>
+ </g>
+ <g id="text_12">
+ <!-- VIM -->
+ <defs>
+ <path d="M 61.09375 69
+L 53.296875 69
+L 36 21.265625
+C 35.5 19.875 32.40625 10.734375 31.796875 7.5625
+L 31.703125 7.5625
+C 30.90625 11.328125 27.703125 20.171875 26 25.046875
+L 14.40625 57.34375
+L 10.09375 69
+L 1.296875 69
+L 26.796875 0
+L 35.59375 0
+z
+" id="CMSS17-86"/>
+ <path d="M 17.09375 69
+L 8.703125 69
+L 8.703125 0
+L 17.09375 0
+z
+" id="CMSS17-73"/>
+ <path d="M 49.90625 37.078125
+L 45.09375 23.0625
+C 44.296875 20.484375 41.59375 12.421875 41 9.25
+L 40.90625 9.25
+C 40.59375 11.234375 40 13.328125 38.40625 18.390625
+C 37.5 21.375 36.5 24.453125 35.5 27.234375
+L 20.703125 69
+L 9 69
+L 9 0
+L 16.796875 0
+L 16.796875 60.921875
+L 16.90625 60.921875
+C 16.90625 60.828125 17.796875 56.453125 23.90625 39.0625
+L 37.09375 1.59375
+L 44.5 1.59375
+L 56.40625 34.890625
+C 57.203125 37.171875 59.703125 44.421875 60.796875 47.90625
+C 61.796875 50.890625 64.296875 58.25 64.90625 61.125
+L 65 61.125
+L 65 0
+L 72.90625 0
+L 72.90625 69
+L 61.296875 69
+z
+" id="CMSS17-77"/>
+ </defs>
+ <g transform="translate(88.041838 28.28)scale(0.08 -0.08)">
+ <use transform="scale(0.996264)" xlink:href="#CMSS17-86"/>
+ <use transform="translate(62.217855 0)scale(0.996264)" xlink:href="#CMSS17-73"/>
+ <use transform="translate(88.00178 0)scale(0.996264)" xlink:href="#CMSS17-77"/>
+ </g>
+ </g>
+ <g id="line2d_58">
+ <path d="M 65.641838 37.00733
+L 81.641838 37.00733
+" style="fill:none;stroke:#ff0000;stroke-dasharray:2.96,1.28;stroke-dashoffset:0;stroke-width:0.8;"/>
+ </g>
+ <g id="line2d_59"/>
+ <g id="text_13">
+ <!-- $\mathcal{O}\left(N\log(N)\right)$ -->
+ <defs>
+ <path d="M 77.703125 48.609375
+C 77.703125 61.375 72.09375 71 59.90625 71
+C 49.5 71 40.703125 62.578125 40 61.96875
+C 32 54.03125 29 44.984375 29 44.796875
+C 29 44.1875 29.5 44.09375 30 44.09375
+C 31.90625 44.09375 33.5 45.09375 35 46.203125
+C 36.796875 47.5 36.90625 47.796875 38 50.109375
+C 38.90625 52.125 41.203125 57.046875 44.90625 61.265625
+C 47.296875 63.984375 49.296875 65.484375 53.296875 65.484375
+C 63 65.484375 69.203125 57.453125 69.203125 44.28125
+C 69.203125 23.796875 54.703125 3.5 36.203125 3.5
+C 22 3.5 14.203125 14.84375 14.203125 29.21875
+C 14.203125 42.875 21.203125 57.953125 35.796875 66.59375
+C 36.796875 67.1875 39.796875 68.984375 39.796875 70.296875
+C 39.796875 71 39 71 38.796875 71
+C 35.296875 71 5.703125 55.03125 5.703125 24.890625
+C 5.703125 10.828125 13 -2 29.59375 -2
+C 49.09375 -2 77.703125 17.65625 77.703125 48.609375
+z
+" id="CMSY10-79"/>
+ <path d="M 30.59375 -24.40625
+C 30.59375 -24.3125 30.59375 -24.109375 30.296875 -23.8125
+C 25.703125 -19.109375 13.40625 -6.296875 13.40625 24.9375
+C 13.40625 56.171875 25.5 68.875 30.40625 73.890625
+C 30.40625 73.984375 30.59375 74.1875 30.59375 74.484375
+C 30.59375 74.796875 30.296875 75 29.90625 75
+C 28.796875 75 20.296875 67.578125 15.40625 56.5625
+C 10.40625 45.453125 9 34.65625 9 25.046875
+C 9 17.828125 9.703125 5.625 15.703125 -7.296875
+C 20.5 -17.703125 28.703125 -25 29.90625 -25
+C 30.40625 -25 30.59375 -24.8125 30.59375 -24.40625
+z
+" id="CMR17-40"/>
+ <path d="M 15.296875 69
+L 3.40625 67.890625
+L 3.40625 65.296875
+C 9.296875 65.296875 10.203125 64.703125 10.203125 59.921875
+L 10.203125 6.859375
+C 10.203125 3.09375 9.796875 2.59375 3.40625 2.59375
+L 3.40625 0
+C 5.796875 0.1875 10.203125 0.1875 12.703125 0.1875
+C 15.296875 0.1875 19.703125 0.1875 22.09375 0
+L 22.09375 2.59375
+C 15.703125 2.59375 15.296875 2.984375 15.296875 6.859375
+z
+" id="CMR17-108"/>
+ <path d="M 43.09375 21.1875
+C 43.09375 34 33.796875 44 22.90625 44
+C 12 44 2.703125 34 2.703125 21.1875
+C 2.703125 8.59375 12 -1 22.90625 -1
+C 33.796875 -1 43.09375 8.59375 43.09375 21.1875
+z
+M 22.90625 0.796875
+C 18.203125 0.796875 14.203125 3.59375 11.90625 7.5
+C 9.40625 12 9.09375 17.59375 9.09375 22
+C 9.09375 26.1875 9.296875 31.390625 11.90625 35.890625
+C 13.90625 39.1875 17.796875 42.390625 22.90625 42.390625
+C 27.40625 42.390625 31.203125 39.890625 33.59375 36.390625
+C 36.703125 31.6875 36.703125 25.09375 36.703125 22
+C 36.703125 18.09375 36.5 12.09375 33.796875 7.296875
+C 31 2.6875 26.703125 0.796875 22.90625 0.796875
+z
+" id="CMR17-111"/>
+ <path d="M 11.09375 18.203125
+C 13 16.6875 16.296875 15 20.296875 15
+C 28.203125 15 35 21.234375 35 29.609375
+C 35 32.234375 34.203125 36.265625 31.203125 39.390625
+C 34 42.390625 38.09375 43.390625 40.40625 43.390625
+C 40.796875 43.390625 41.40625 43.390625 41.90625 43.09375
+C 41.5 42.984375 40.59375 42.59375 40.59375 40.984375
+C 40.59375 39.6875 41.5 38.796875 42.796875 38.796875
+C 44.296875 38.796875 45.09375 39.796875 45.09375 41.09375
+C 45.09375 42.984375 43.59375 45 40.40625 45
+C 36.40625 45 32.90625 43.09375 30.09375 40.484375
+C 27.09375 43.1875 23.5 44.1875 20.296875 44.1875
+C 12.40625 44.1875 5.59375 37.984375 5.59375 29.609375
+C 5.59375 23.859375 8.90625 20.21875 9.90625 19.21875
+C 6.90625 15.6875 6.90625 11.59375 6.90625 11.09375
+C 6.90625 8.5 7.90625 4.6875 11.296875 2.59375
+C 6.09375 1.28125 2 -2.875 2 -8.078125
+C 2 -15.5625 11.5 -21 22.90625 -21
+C 33.90625 -21 43.796875 -15.765625 43.796875 -7.96875
+C 43.796875 6 29 6 21.296875 6
+C 19 6 14.90625 6 14.40625 6.09375
+C 11.296875 6.59375 9.203125 9.390625 9.203125 12.890625
+C 9.203125 13.796875 9.203125 16 11.09375 18.203125
+z
+M 20.296875 16.6875
+C 11.5 16.6875 11.5 27.59375 11.5 29.609375
+C 11.5 31.625 11.5 42.484375 20.296875 42.484375
+C 29.09375 42.484375 29.09375 31.625 29.09375 29.609375
+C 29.09375 27.59375 29.09375 16.6875 20.296875 16.6875
+z
+M 22.90625 -19.3125
+C 12.90625 -19.3125 6 -13.796875 6 -8.078125
+C 6 -4.859375 7.703125 -1.84375 9.90625 -0.171875
+C 12.40625 1.59375 13.40625 1.59375 20.203125 1.59375
+C 28.40625 1.59375 39.796875 1.59375 39.796875 -8.078125
+C 39.796875 -13.796875 32.90625 -19.3125 22.90625 -19.3125
+z
+" id="CMR17-103"/>
+ <path d="M 26.296875 24.9375
+C 26.296875 32.140625 25.59375 44.359375 19.59375 57.265625
+C 14.796875 67.6875 6.59375 75 5.40625 75
+C 5.09375 75 4.703125 74.890625 4.703125 74.390625
+C 4.703125 74.1875 4.796875 74.09375 4.90625 73.890625
+C 9.703125 68.875 21.90625 56.171875 21.90625 25.046875
+C 21.90625 -6.1875 9.796875 -18.90625 4.90625 -23.90625
+C 4.796875 -24.109375 4.703125 -24.203125 4.703125 -24.40625
+C 4.703125 -24.90625 5.09375 -25 5.40625 -25
+C 6.5 -25 15 -17.609375 19.90625 -6.59375
+C 24.90625 4.515625 26.296875 15.328125 26.296875 24.9375
+z
+" id="CMR17-41"/>
+ </defs>
+ <g transform="translate(88.041838 39.80733)scale(0.08 -0.08)">
+ <use transform="scale(0.996264)" xlink:href="#CMSY10-79"/>
+ <use transform="translate(98.685852 0.003177)scale(0.996264)" xlink:href="#CMR17-40"/>
+ <use transform="translate(133.966619 0)scale(0.996264)" xlink:href="#CMMI12-78"/>
+ <use transform="translate(239.092797 0)scale(0.996264)" xlink:href="#CMR17-108"/>
+ <use transform="translate(263.963856 0)scale(0.996264)" xlink:href="#CMR17-111"/>
+ <use transform="translate(309.654333 0)scale(0.996264)" xlink:href="#CMR17-103"/>
+ <use transform="translate(356.645976 0)scale(0.996264)" xlink:href="#CMR17-40"/>
+ <use transform="translate(391.926744 0)scale(0.996264)" xlink:href="#CMMI12-78"/>
+ <use transform="translate(480.448516 0)scale(0.996264)" xlink:href="#CMR17-41"/>
+ <use transform="translate(515.729284 0.003177)scale(0.996264)" xlink:href="#CMR17-41"/>
+ </g>
+ </g>
+ <g id="line2d_60">
+ <path d="M 65.641838 48.599858
+L 81.641838 48.599858
+" style="fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;"/>
+ </g>
+ <g id="line2d_61">
+ <g>
+ <use style="stroke:#000000;" x="73.641838" xlink:href="#m70825a5ceb" y="48.599858"/>
+ </g>
+ </g>
+ <g id="text_14">
+ <!-- FEM -->
+ <defs>
+ <path d="M 45.59375 31
+L 45.59375 37.09375
+L 17.203125 37.09375
+L 17.203125 62.390625
+L 29.40625 62.390625
+C 30.59375 62.390625 31.796875 62.296875 33 62.296875
+L 49.5 62.296875
+L 49.5 68.796875
+L 8.796875 68.796875
+L 8.796875 0
+L 17.203125 0
+L 17.203125 31
+z
+" id="CMSS17-70"/>
+ <path d="M 30.59375 6.796875
+C 22.59375 6.796875 19 6.796875 17.203125 6.6875
+L 17.203125 32.890625
+L 48.203125 32.890625
+L 48.203125 39
+L 17.203125 39
+L 17.203125 62.390625
+L 30.09375 62.390625
+C 31.296875 62.390625 32.5 62.296875 33.703125 62.296875
+L 50.796875 62.296875
+L 50.796875 68.796875
+L 8.796875 68.796875
+L 8.796875 0
+L 52.09375 0
+L 52.09375 6.890625
+z
+" id="CMSS17-69"/>
+ </defs>
+ <g transform="translate(88.041838 51.399858)scale(0.08 -0.08)">
+ <use transform="scale(0.996264)" xlink:href="#CMSS17-70"/>
+ <use transform="translate(53.289559 0)scale(0.996264)" xlink:href="#CMSS17-69"/>
+ <use transform="translate(109.181573 0)scale(0.996264)" xlink:href="#CMSS17-77"/>
+ </g>
+ </g>
+ <g id="line2d_62">
+ <path d="M 65.641838 63.315305
+L 81.641838 63.315305
+" style="fill:none;stroke:#000000;stroke-dasharray:2.96,1.28;stroke-dashoffset:0;stroke-width:0.8;"/>
+ </g>
+ <g id="line2d_63"/>
+ <g id="text_15">
+ <!-- $\mathcal{O}\big(N^\frac{3}{2}\big)$ -->
+ <g transform="translate(88.041838 66.115305)scale(0.08 -0.08)">
+ <use transform="scale(0.996264)" xlink:href="#CMSY10-79"/>
+ <use transform="translate(82.081446 0.003177)scale(0.996264)" xlink:href="#CMR17-40"/>
+ <use transform="translate(117.362214 0)scale(0.996264)" xlink:href="#CMMI12-78"/>
+ <use transform="translate(207.0795 63.611782)scale(0.498132)" xlink:href="#CMR17-51"/>
+ <use transform="translate(207.0795 12.105073)scale(0.498132)" xlink:href="#CMR17-50"/>
+ <use transform="translate(231.618385 0.003177)scale(0.996264)" xlink:href="#CMR17-41"/>
+ <path d="M 207.0795 52.193465
+L 229.924739 52.193465
+L 229.924739 54.982916
+L 207.0795 54.982916
+L 207.0795 52.193465
+z
+"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <defs>
+ <clipPath id="p872e16c07f">
+ <rect height="154.96" width="214.078162" x="58.441838" y="15.48"/>
+ </clipPath>
+ </defs>
+</svg>
diff --git a/paper.bib b/paper.bib
new file mode 100644
index 0000000..4e0e8f9
--- /dev/null
+++ b/paper.bib
@@ -0,0 +1,269 @@
+
+@article{yastrebov_infinitesimal_2015,
+ title = {From Infinitesimal to Full Contact between Rough Surfaces: {{Evolution}} of the Contact Area},
+ volume = {52},
+ issn = {00207683},
+ shorttitle = {From Infinitesimal to Full Contact between Rough Surfaces},
+ language = {en},
+ journal = {International Journal of Solids and Structures},
+ doi = {10.1016/j.ijsolstr.2014.09.019},
+ author = {Yastrebov, Vladislav A. and Anciaux, Guillaume and Molinari, Jean-Fran{\c c}ois},
+ month = jan,
+ year = {2015},
+ pages = {83-102},
+ file = {/home/frerot/Zotero/storage/357R6RDT/Yastrebov et al. - 2015 - From infinitesimal to full contact between rough s.pdf}
+}
+
+@article{polonsky_numerical_1999,
+ title = {A Numerical Method for Solving Rough Contact Problems Based on the Multi-Level Multi-Summation and Conjugate Gradient Techniques},
+ volume = {231},
+ issn = {0043-1648},
+ abstract = {An alternative numerical method for solving contact problems for real rough surfaces is proposed. The real area of contact and the contact pressure distribution are determined using a single-loop iteration scheme based on the conjugate gradient method, which converges for arbitrary rough surfaces. The surface deflections and subsurface stresses are computed using an alternative two-dimensional multi-level multi-summation algorithm, which allows the summation error to be kept under the discretization error for any number of contact points. The proposed method is fast: rough contact problems for surface samples with 105\textendash{}106 data points are solved on a personal computer in a few hours. The numerical algorithms are described in full detail so that an interested reader can implement the new contact solver in a computer code. Numerical examples demonstrating the method advantages are presented. The method is compared with other fast contact solvers that have emerged in the last few years.},
+ number = {2},
+ journal = {Wear},
+ doi = {10.1016/S0043-1648(99)00113-1},
+ author = {Polonsky, I. A. and Keer, L. M.},
+ month = jul,
+ year = {1999},
+ keywords = {Conjugate gradient techniques,Multi-level multi-summation,Rough contact problems},
+ pages = {206-219},
+ file = {/home/frerot/Zotero/storage/2WISR927/Polonsky and Keer - 1999 - A numerical method for solving rough contact probl.pdf;/home/frerot/Zotero/storage/SFRG8WXN/S0043164899001131.html}
+}
+
+@article{rey_normal_2017,
+ title = {Normal Adhesive Contact on Rough Surfaces: Efficient Algorithm for {{FFT}}-Based {{BEM}} Resolution},
+ issn = {0178-7675, 1432-0924},
+ shorttitle = {Normal Adhesive Contact on Rough Surfaces},
+ abstract = {We introduce a numerical methodology to compute the solution of an adhesive normal contact problem on rough surfaces with the Boundary Element Method. Based on the Fast Fourier Transform and the Westergaard's fundamental solution, the proposed algorithm enables to solve efficiently the constrained minimization problem: the numerical solution strictly verifies contact orthogonality and the algorithm takes advantage of the constraints to speed up the minimization. Comparisons with the analytical solution of the Hertz case prove the quality of the numerical computation. The method is also used to compute normal adhesive contact between rough surfaces made of multiple asperities.},
+ language = {en},
+ journal = {Computational Mechanics},
+ doi = {10.1007/s00466-017-1392-5},
+ author = {Rey, Valentine and Anciaux, Guillaume and Molinari, Jean-Fran{\c c}ois},
+ month = mar,
+ year = {2017},
+ pages = {1-13},
+ file = {/home/frerot/Zotero/storage/ZTN6MGX4/Rey et al. - 2017 - Normal adhesive contact on rough surfaces efficie.pdf;/home/frerot/Zotero/storage/JT29FNJP/s00466-017-1392-5.html}
+}
+
+@article{yastrebov_accurate_2017,
+ title = {On the Accurate Computation of the True Contact-Area in Mechanical Contact of Random Rough Surfaces},
+ issn = {0301-679X},
+ abstract = {We introduce a corrective function to compensate errors in contact area computations coming from mesh discretization. The correction is based on geometrical arguments, and apart from the contact area itself requires only one additional quantity to be computed: the length of contact/non-contact interfaces. The new technique enables to evaluate accurately the true contact area using a very coarse mesh, for which the shortest wavelength in the surface spectrum reaches the grid size. The validity of the approach is demonstrated for surfaces with different fractal dimensions and different spectral content using a properly designed mesh convergence test. In addition, we use a topology preserving smoothing technique to adjust the morphology of contact clusters obtained with a coarse grid.},
+ journal = {Tribology International},
+ doi = {10.1016/j.triboint.2017.04.023},
+ author = {Yastrebov, Vladislav A. and Anciaux, Guillaume and Molinari, Jean-Fran{\c c}ois},
+ year = {2017},
+ keywords = {Boundary element Method,surface roughness,Contact area,Contact area correction,Simulations},
+ file = {/home/frerot/Zotero/storage/NWSZSNM7/1-s2.0-S0301679X17301871-main.pdf;/home/frerot/Zotero/storage/T6HKN6VJ/S0301679X17301871.html}
+}
+
+@article{hu_simulation_1992,
+ title = {Simulation of 3-{{D}} Random Rough Surface by 2-{{D}} Digital Filter and Fourier Analysis},
+ volume = {32},
+ issn = {08906955},
+ language = {en},
+ number = {1-2},
+ journal = {International Journal of Machine Tools and Manufacture},
+ doi = {10.1016/0890-6955(92)90064-N},
+ author = {Hu, Y.Z. and Tonder, K.},
+ month = feb,
+ year = {1992},
+ pages = {83-90},
+ file = {/home/frerot/Zotero/storage/N6ZR48JM/Hu and Tonder - 1992 - Simulation of 3-D random rough surface by 2-D digi.pdf;/home/frerot/Zotero/storage/2AEHG7S5/089069559290064N.html;/home/frerot/Zotero/storage/WGV7JATV/display.html}
+}
+
+@article{persson_nature_2005,
+ title = {On the Nature of Surface Roughness with Application to Contact Mechanics, Sealing, Rubber Friction and Adhesion},
+ volume = {17},
+ issn = {0953-8984},
+ abstract = {Surface roughness has a huge impact on many important phenomena. The most important property of rough surfaces is the surface roughness power spectrum C ( q ). We present surface roughness power spectra of many surfaces of practical importance, obtained from the surface height profile measured using optical methods and the atomic force microscope. We show how the power spectrum determines the contact area between two solids. We also present applications to sealing, rubber friction and adhesion for rough surfaces, where the power spectrum enters as an important input.},
+ language = {en},
+ number = {1},
+ journal = {Journal of Physics: Condensed Matter},
+ doi = {10.1088/0953-8984/17/1/R01},
+ author = {Persson, B. N. J. and Albohr, O. and Tartaglino, U. and Volokitin, A. I. and Tosatti, E.},
+ year = {2005},
+ pages = {R1},
+ file = {/home/frerot/Zotero/storage/4P6KRD9X/Persson et al. - 2005 - On the nature of surface roughness with applicatio.pdf;/home/frerot/Zotero/storage/RTGEC8R6/Persson et al. - 2005 - On the nature of surface roughness with applicatio.pdf}
+}
+
+@article{yastrebov_contact_2012,
+ title = {Contact between Representative Rough Surfaces},
+ volume = {86},
+ issn = {1539-3755, 1550-2376},
+ language = {en},
+ number = {3},
+ journal = {Physical Review E},
+ author = {Yastrebov, Vladislav A. and Anciaux, Guillaume and Molinari, Jean-Fran{\c c}ois},
+ month = sep,
+ year = {2012},
+ file = {/home/frerot/Zotero/storage/SUXRZKBC/Yastrebov et al. - 2012 - Contact between representative rough surfaces.pdf}
+}
+
+@book{bonnet_boundary_1995,
+ address = {{Chichester ; New York}},
+ title = {Boundary Integral Equation Methods for Solids and Fluids},
+ isbn = {978-0-471-97184-9},
+ lccn = {TA347.B69 B6848 1995},
+ publisher = {{J. Wiley}},
+ author = {Bonnet, Marc},
+ year = {1995},
+ keywords = {Boundary element methods,Fluid mechanics,Mathematics,Mechanics; Applied},
+ note = {OCLC: ocm41368652}
+}
+
+@article{yastrebov_role_2017,
+ title = {The Role of the Roughness Spectral Breadth in Elastic Contact of Rough Surfaces},
+ volume = {107},
+ issn = {0022-5096},
+ abstract = {We study frictionless and non-adhesive contact between elastic half-spaces with self-affine surfaces. Using a recently suggested corrective technique, we ensure an unprecedented accuracy in computation of the true contact area evolution under increasing pressure. This accuracy enables us to draw conclusions on the role of the surface's spectrum breadth (Nayak parameter) in the contact area evolution. We show that for a given normalized pressure, the contact area decreases logarithmically with the Nayak parameter. By linking the Nayak parameter with the Hurst exponent (or fractal dimension), we show the effect of the latter on the true contact area. This effect, undetectable for surfaces with poor spectral content, is quite strong for surfaces with rich spectra. Numerical results are compared with analytical models and other available numerical results. A phenomenological equation for the contact area growth is suggested with coefficients depending on the Nayak parameter. Using this equation, the pressure-dependent friction coefficient is deduced based on the adhesive theory of friction. Some observations on Persson's model of rough contact, whose prediction does not depend on Nayak parameter, are reported. Overall, the paper provides a unifying picture of rough elastic contact and clarifies discrepancies between preceding results.},
+ journal = {Journal of the Mechanics and Physics of Solids},
+ doi = {10.1016/j.jmps.2017.07.016},
+ author = {Yastrebov, Vladislav A. and Anciaux, Guillaume and Molinari, Jean-Fran{\c c}ois},
+ month = oct,
+ year = {2017},
+ keywords = {Roughness,Contact area,Hurst exponent,Nayak parameter,Pressure-dependent friction,Spectrum breadth},
+ pages = {469-493},
+ file = {/home/frerot/Zotero/storage/4KCCD97D/Yastrebov et al. - 2017 - The role of the roughness spectral breadth in elas.pdf;/home/frerot/Zotero/storage/JK8KY9EL/S0022509617303010.html}
+}
+
+@article{frerot_mechanistic_2018,
+ title = {A Mechanistic Understanding of the Wear Coefficient: {{From}} Single to Multiple Asperities Contact},
+ volume = {114},
+ copyright = {All rights reserved},
+ issn = {0022-5096},
+ shorttitle = {A Mechanistic Understanding of the Wear Coefficient},
+ abstract = {Sliding contact between solids leads to material detaching from their surfaces in the form of debris particles, a process known as wear. According to the well-known Archard wear model, the wear volume (i.e. the volume of detached particles) is proportional to the load and the sliding distance, while being inversely proportional to the hardness. The influence of other parameters are empirically merged into a factor, referred to as wear coefficient, which does not stem from any theoretical development, thus limiting the predictive capacity of the model. Based on a recent understanding of a critical length-scale controlling wear particle formation, we present two novel derivations of the wear coefficient: one based on Archard's interpretation of the wear coefficient as the probability of wear particle detachment and one that follows naturally from the up-scaling of asperity-level physics into a generic multi-asperity wear model. As a result, the variation of wear rate and wear coefficient are discussed in terms of the properties of the interface, surface roughness parameters and applied load for various rough contact situations. Both new wear interpretations are evaluated analytically and numerically, and recover some key features of wear observed in experiments. This work shines new light on the understanding of wear, potentially opening a pathway for calculating the wear coefficient from first principles.},
+ journal = {Journal of the Mechanics and Physics of Solids},
+ doi = {10.1016/j.jmps.2018.02.015},
+ author = {Fr{\'e}rot, Lucas and Aghababaei, Ramin and Molinari, Jean-Fran{\c c}ois},
+ month = may,
+ year = {2018},
+ keywords = {Contact,Wear coefficient,Cluster statistics,Self-affine surface},
+ pages = {172-184},
+ file = {/home/frerot/Zotero/storage/ACP7HZFI/Frérot et al. - 2018 - A mechanistic understanding of the wear coefficien.pdf;/home/frerot/Zotero/storage/MGHJ22KU/S0022509617309742.html;/home/frerot/Zotero/storage/XVNY5PMA/S0022509617309742.html}
+}
+
+@article{yastrebov_contact_2014,
+ title = {The {{Contact}} of {{Elastic Regular Wavy Surfaces Revisited}}},
+ volume = {56},
+ issn = {1023-8883, 1573-2711},
+ abstract = {We revisit the classic problem of an elastic solid with a two-dimensional wavy surface squeezed against an elastic flat half-space from infinitesimal to full contact. Through extensive numerical calculations and analytic derivations, we discover previously overlooked transition regimes. These are seen in particular in the evolution with applied load of the contact area and perimeter, the mean pressure and the probability density of contact pressure. These transitions are correlated with the contact area shape, which is affected by long range elastic interactions. Our analysis has implications for general random rough surfaces, as similar local transitions occur continuously at detached areas or coalescing contact zones. We show that the probability density of null contact pressures is nonzero at full contact. This might suggest revisiting the conditions necessary for applying Persson's model at partial contacts and guide the comparisons with numerical simulations. We also address the evaluation of the contact perimeter for discrete geometries and the applicability of Westergaard's solution for three-dimensional geometries.},
+ language = {en},
+ number = {1},
+ journal = {Tribology Letters},
+ doi = {10.1007/s11249-014-0395-z},
+ author = {Yastrebov, Vladislav A. and Anciaux, Guillaume and Molinari, Jean-Fran{\c c}ois},
+ month = oct,
+ year = {2014},
+ pages = {171-183},
+ file = {/home/frerot/Zotero/storage/JL7F8T6H/Yastrebov et al. - 2014 - The Contact of Elastic Regular Wavy Surfaces Revis.pdf;/home/frerot/Zotero/storage/G5JDA5CD/s11249-014-0395-z.html}
+}
+
+@article{mindlin_thermoelastic_1950,
+ title = {Thermoelastic {{Stress}} in the {{Semi}}-{{Infinite Solid}}},
+ volume = {21},
+ issn = {0021-8979},
+ number = {9},
+ journal = {Journal of Applied Physics},
+ doi = {10.1063/1.1699786},
+ author = {Mindlin, Raymond D. and Cheng, David H.},
+ month = sep,
+ year = {1950},
+ pages = {931-933},
+ file = {/home/frerot/Zotero/storage/J6QA7CIL/Mindlin and Cheng - 1950 - Thermoelastic Stress in the Semi‐Infinite Solid.pdf;/home/frerot/Zotero/storage/2I8B7GUB/1.html}
+}
+
+@article{rey_stability_2018,
+ title = {Stability Analysis of Rough Surfaces in Adhesive Normal Contact},
+ issn = {0178-7675, 1432-0924},
+ abstract = {This paper deals with adhesive frictionless normal contact between one elastic flat solid and one stiff solid with rough surface. After computation of the equilibrium solution of the energy minimization principle and respecting the contact constraints, we aim at studying the stability of this equilibrium solution. This study of stability implies solving an eigenvalue problem with inequality constraints. To achieve this goal, we propose a proximal algorithm which enables qualifying the solution as stable or unstable and that gives the instability modes. This method has a low computational cost since no linear system inversion is required and is also suitable for parallel implementation. Illustrations are given for the Hertzian contact and for rough contact.},
+ language = {en},
+ journal = {Computational Mechanics},
+ doi = {10.1007/s00466-018-1556-y},
+ author = {Rey, Valentine and Bleyer, Jeremy},
+ month = mar,
+ year = {2018},
+ pages = {1-13},
+ file = {/home/frerot/Zotero/storage/L895KWGG/Rey and Bleyer - 2018 - Stability analysis of rough surfaces in adhesive n.pdf;/home/frerot/Zotero/storage/QQQWPFHI/s00466-018-1556-y.html}
+}
+
+@article{richart_implementation_2015,
+ title = {Implementation of a Parallel Finite-Element Library: {{Test}} Case on a Non-Local Continuum Damage Model},
+ volume = {100},
+ issn = {0168-874X},
+ shorttitle = {Implementation of a Parallel Finite-Element Library},
+ abstract = {This paper presents an efficient method to implement a damage law within an explicit time-integration scheme, in an open-source object-oriented finite-element framework. The hybrid object/vector design of the framework and implementation choices are detailed in the special case of non-local continuum damage constitutive laws. The computationally demanding aspect of such constitutive laws requires efficient algorithms, capable of using High Performance Computing (HPC) clusters. The performance of our approach is demonstrated on a numerically and physically challenging 3D dynamic brittle-fragmentation test case. An almost perfect scalability is achieved on parallel computations. The global dynamics and energy terms are in good agreement with classical cohesive models' predictions.},
+ journal = {Finite Elements in Analysis and Design},
+ doi = {10.1016/j.finel.2015.02.003},
+ author = {Richart, N. and Molinari, J. F.},
+ month = aug,
+ year = {2015},
+ keywords = {Finite element method,Parallel computing,Continuum damage,Non-local approach},
+ pages = {41-46},
+ file = {/home/frerot/Zotero/storage/GS487PPX/Richart and Molinari - 2015 - Implementation of a parallel finite-element librar.pdf;/home/frerot/Zotero/storage/6XZBQWC9/S0168874X15000153.html}
+}
+
+@article{rey_quantifying_2019,
+ title = {Quantifying Uncertainties in Contact Mechanics of Rough Surfaces Using the Multilevel {{Monte Carlo}} Method},
+ volume = {138},
+ issn = {0020-7225},
+ abstract = {We quantify the effect of uncertainties on quantities of interest related to contact mechanics of rough surfaces. Specifically, we consider the problem of frictionless non adhesive normal contact between two semi infinite linear elastic solids subject to uncertainties. These uncertainties may for example originate from an incomplete surface description. To account for surface uncertainties, we model a rough surface as a suitable Gaussian random field whose covariance function encodes the surface's roughness, which is experimentally measurable. Then, we introduce the multilevel Monte Carlo method which is a computationally efficient sampling method for the computation of the expectation and higher statistical moments of uncertain system output's, such as those derived from contact simulations. In particular, we consider two different quantities of interest, namely the contact area and the number of contact clusters, and show via numerical experiments that the multilevel Monte Carlo method offers significant computational gains compared to an approximation via a classic Monte Carlo sampling.},
+ journal = {International Journal of Engineering Science},
+ doi = {10.1016/j.ijengsci.2019.02.003},
+ author = {Rey, V. and Krumscheid, S. and Nobile, F.},
+ month = may,
+ year = {2019},
+ keywords = {Rough surfaces,Contact clusters,Frictionless contact,Multilevel Monte Carlo,Random surface generator},
+ pages = {50-64},
+ file = {/home/frerot/Zotero/storage/4FXFJNSZ/Rey et al. - 2019 - Quantifying uncertainties in contact mechanics of .pdf;/home/frerot/Zotero/storage/3DUYNHEH/S0020722518313272.html}
+}
+
+@article{frerot_fourieraccelerated_2019,
+ title = {A {{Fourier}}-Accelerated Volume Integral Method for Elastoplastic Contact},
+ volume = {351},
+ copyright = {All rights reserved},
+ issn = {0045-7825},
+ abstract = {The contact of solids with rough surfaces plays a fundamental role in physical phenomena such as friction, wear, sealing, and thermal transfer. However, its simulation is a challenging problem due to surface asperities covering a wide range of length-scales. In addition, non-linear local processes, such as plasticity, are expected to occur even at the lightest loads. In this context, robust and efficient computational approaches are required. We therefore present a novel numerical method, based on integral equations, capable of handling the large discretization requirements of real rough surfaces as well as the non-linear plastic flow occurring below and at the contacting asperities. This method is based on a new derivation of the Mindlin fundamental solution in Fourier space, which leverages the computational efficiency of the fast Fourier transform. The use of this Mindlin solution allows a dramatic reduction of the memory imprint (as the Fourier coefficients are computed on-the-fly), a reduction of the discretization error, and the exploitation of the structure of the functions to speed up computation of the integral operators. We validate our method against an elastic\textendash{}plastic FEM Hertz normal contact simulation and showcase its ability to simulate contact of rough surfaces with plastic flow.},
+ journal = {Computer Methods in Applied Mechanics and Engineering},
+ doi = {10.1016/j.cma.2019.04.006},
+ author = {Fr{\'e}rot, Lucas and Bonnet, Marc and Molinari, Jean-Fran{\c c}ois and Anciaux, Guillaume},
+ month = jul,
+ year = {2019},
+ keywords = {Plasticity,Contact,Volume integral equation,Rough surface,Condensed Matter - Soft Condensed Matter,Physics - Computational Physics,Fourier,Mindlin},
+ pages = {951-976},
+ file = {/home/frerot/Zotero/storage/57AQ97CJ/Frérot et al. - 2019 - A Fourier-accelerated volume integral method for e.pdf;/home/frerot/Zotero/storage/I6NCA2JP/S0045782519302038.html}
+}
+
+@article{renard_constant_2013,
+ title = {Constant Dimensionality of Fault Roughness from the Scale of Micro-Fractures to the Scale of Continents},
+ volume = {40},
+ copyright = {\textcopyright{}2012. American Geophysical Union. All Rights Reserved.},
+ issn = {1944-8007},
+ abstract = {Many faults and fractures in various natural and man-made materials share a remarkable common fractal property in their morphology. We report on the roughness of faults in rocks by analyzing the out-of-plane fluctuations of slip surfaces. They display a statistical power-law relationship with a nearly constant fractal exponent from millimeter scale micro-fractures in fault zones to coastlines measuring thousands of kilometers that have recorded continental breakup. A possible origin of this striking fractal relationship over 11 orders of magnitude of length scales is that all faulting processes in rocks share common characteristics that play a crucial role in the shaping of fault surfaces, such as the effects of elastic long-range stress interactions and stress screening by mechanical heterogeneities during quasi-static fracture growth.},
+ language = {en},
+ number = {1},
+ journal = {Geophysical Research Letters},
+ doi = {10.1029/2012GL054143},
+ author = {Renard, Fran{\c c}ois and Candela, Thibault and Bouchaud, Elisabeth},
+ year = {2013},
+ pages = {83-87},
+ file = {/home/frerot/Zotero/storage/27K3Z26C/Renard et al. - 2013 - Constant dimensionality of fault roughness from th.pdf;/home/frerot/Zotero/storage/PHC998BJ/2012GL054143.html}
+}
+
+@article{frerot_crack_2019,
+ archivePrefix = {arXiv},
+ eprinttype = {arxiv},
+ eprint = {1910.05163},
+ primaryClass = {cond-mat},
+ title = {Crack {{Nucleation}} in the {{Adhesive Wear}} of an {{Elastic}}-{{Plastic Half}}-{{Space}}},
+ abstract = {The detachment of material in an adhesive wear process is driven by a fracture mechanism which is controlled by a critical length-scale. Previous efforts in multi-asperity wear modeling have applied this microscopic process to rough elastic contact. However, experimental data shows that the assumption of purely elastic deformation at rough contact interfaces is unrealistic, and that asperities in contact must deform plastically to accommodate the large contact stresses. We therefore investigate the consequences of plastic deformation on the macro-scale wear response. The crack nucleation process in a rough elastic-plastic contact is investigated in a comparative study with a classical \$J\_2\$ plasticity approach and a saturation plasticity model. We show that plastic residual deformations in the \$J\_2\$ model heighten the surface tensile stresses, leading to a higher crack nucleation likelihood for contacts. This effect is shown to be stronger when the material is more ductile. We also show that elastic interactions between contacts can increase the likelihood of individual contacts nucleating cracks, irrespective of the contact constitutive model. This is confirmed by a statistical approach we develop based on a Greenwood--Williamson model modified to take into account the elastic interactions between contacts and the shear strength of the contact junction.},
+ journal = {arXiv:1910.05163 [cond-mat]},
+ author = {Fr{\'e}rot, Lucas and Anciaux, Guillaume and Molinari, Jean-Fran{\c c}ois},
+ month = oct,
+ year = {2019},
+ keywords = {Condensed Matter - Soft Condensed Matter},
+ file = {/home/frerot/Zotero/storage/YLIIY9IN/Frérot et al. - 2019 - Crack Nucleation in the Adhesive Wear of an Elasti.pdf;/home/frerot/Zotero/storage/HUS75CK7/1910.html}
+}
+
+
diff --git a/paper.md b/paper.md
index eacdbc3..c3a6fed 100644
--- a/paper.md
+++ b/paper.md
@@ -1,84 +1,123 @@
---
title: 'Tamaas: a library for elastic-plastic contact of rough surfaces'
tags:
- C++
- Python
- contact
- rough surface
- plasticity
authors:
- name: Lucas Frérot
orcid: 0000-0002-4138-1052
affiliation: 1
- name: Guillaume Anciaux
orcid: 0000-0002-9624-5621
affiliation: 1
- name: Jean-François Molinari
orcid: 0000-0002-1728-1844
affiliation: 1
affiliations:
- name: Civil Engineering Institute, École Polytechnique Fédérale de Lausanne, Switzerland
index: 1
date: 13 December 2019
bibliography: paper.bib
---
# Summary
Physical phenomena that happen at solid contact interfaces, such as
friction and wear, are largely entwined with the roughness of the
surfaces in contact. For example, the fact that the friction force
between two solids in contact is independent of their apparent contact
area is due to roughness, as the solids are only in contact over a
smaller "true contact area" which only depends on the normal force.
Roughness occurs on most man-made and natural surfaces alike
[@persson_nature_2005] and can span many orders of magnitude, from the
nanometer scale to the kilometer scale [@renard_constant_2013]. This
-poses a serious challenge to conventional solid mechanics numerical
-approaches such as the finite-element method.
+poses a serious challenge to conventional numerical approaches in
+solid mechanics such as the finite-element method (FEM).
+
+Boundary integral methods [@bonnet_boundary_1995] are commonly
+employed in place of the FEM in rough elastic contact because of an
+inherent dimensionality reduction: the computational effort is focused
+on the contact interface whereas the FEM requires discretization of
+the volume of the solids in contact. In addition, the use of a
+half-space geometry provides a translational invariance: the
+computation of equilibrium solutions can then be accelerated with the
+fast-Fourier Transform.
+
+However, because of the roughness, the total contact load is
+distributed over a small area and local contact pressures are expected
+to cause non-linear material behavior, such as plasticity. In such a
+case, volume integral methods can be employed to account for plastic
+deformation. These enjoy properties analogous to boundary integral
+methods and can be accelerated with a Fourier approach
+[@frerot_fourieracclerated_2019].
+
+Taking plasticity into account is necessary in the accurate
+description of contact interfaces for the understanding of friction
+and wear. Moreover, high performance implementations are needed to
+model realistic rough surfaces.
``Tamaas`` is a C++ library with a Python interface, developed in the
[Solid Mechanics Simulation Lab](https://www.epfl.ch/labs/lsms) at
EPFL, that implements a unique Fourier-accelerated volume integral
formulation of equilibrium [@frerot_fourieraccelerated_2019] for the
solution of elastic-plastic rough contact problems. The use of C++
allows for a particular focus on performance: most loops are
-paralelized using ``Thrust/OpenMP`` and the fast-Fourier transforms are
-computed with ``FFTW3/OpenMP``.
+paralelized using ``Thrust/OpenMP`` and the fast-Fourier transforms
+are computed with ``FFTW3/OpenMP``. Thanks to this, it can handle
+simulations with upwards of 100 million degrees of freedom on a single
+compute node [@frerot_fourieraccelerated_2019].
-# Use and examples
+# Features and Performance
``Tamaas`` provides access in its Python API to random rough surface
generation procedures (e.g. @hu_simulation_1992), statistical tools
(e.g. autocorrelation and power spectrum computations) and a variety
of contact algorithms:
- Normal and adhesive contact schemes based on the conjugate gradient
[@polonsky_numerical_1999], [@rey_normal_2017];
- Frictional contact;
- Elastic-plastic contact [@frerot_fourieraccelerated_2019].
``Tamaas`` also exposes in its Python API the accelerated linear
operators it uses to compute equilibrium solutions, making prototyping
new algorithms convenient.
+We compare in figure 1 the scaling properties of Tamaas to a reference
+high-performance C++ FEM implementation named
+[Akantu](https://akantu.ch/) [@richart_implementation_2015] which uses
+the direct solver [MUMPS](http://mumps.enseeiht.fr/). The reference
+problem is the elastic equilibrium of a half-space with an isotropic
+spherical inclusion [@mindlin_thermoelastic_1950]. $N$ represents the
+number of points in the computational domain.
+
+![Scaling comparison between the acclerated volume integral method
+implemented in ``Tamaas`` and a finite-element method with a direct
+solver for the solution of the equilibrium of a half-space with a
+spherical isotropic inclusion. $N$ is the number of points in the
+computational domain. When $N=2^18$ ``Tamaas`` is 200 times faster
+than the FEM implementation Akantu.](complexity.svg)
+
The following publications have been made possible with ``Tamaas``:
- @yastrebov_contact_2012
- @yastrebov_contact_2014
- @yastrebov_infinitesimal_2015
- @yastrebov_accurate_2017
- @yastrebov_role_2017
- @rey_normal_2017
- @rey_stability_2018
- @rey_quantifying_2019
- @frerot_mechanistic_2018
- @frerot_fourieraccelerated_2019
- @frerot_crack_2019
# Acknowledgements
We acknowledge the financial support of the Swiss National Science Foundation (grant #162569 "Contact mechanics of rough surfaces").
# References

Event Timeline