diff --git a/diagrams.drawio b/diagrams.drawio new file mode 100644 index 0000000000000000000000000000000000000000..a797b8998c290d71ec832f9154e5a2f26a82fef1 --- /dev/null +++ b/diagrams.drawio @@ -0,0 +1,516 @@ +<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.0.16 Chrome/132.0.6834.196 Electron/34.2.0 Safari/537.36" version="26.0.16"> + <diagram name="Page-1" id="ns3onrHNIQr2ljXGaBcB"> + <mxGraphModel dx="247" dy="146" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="3300" pageHeight="4681" math="0" shadow="0"> + <root> + <mxCell id="0" /> + <mxCell id="1" parent="0" /> + <mxCell id="1nF5tneqOkAijIU8bpes-97" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.patternFillRect;fillStyle=grid;step=5;fillStrokeWidth=0.2;fillStrokeColor=#dddddd;strokeColor=#FFFFFF;strokeWidth=0;perimeterSpacing=0;" vertex="1" parent="1"> + <mxGeometry x="830" y="720" width="140" height="100" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-1" value="" style="curved=1;endArrow=none;html=1;rounded=0;startFill=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="660" y="500" as="sourcePoint" /> + <mxPoint x="840" y="350" as="targetPoint" /> + <Array as="points"> + <mxPoint x="710" y="490" /> + <mxPoint x="780" y="370" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-3" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="750" y="520" as="sourcePoint" /> + <mxPoint x="750" y="420" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-4" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="770" y="520" as="sourcePoint" /> + <mxPoint x="770" y="397" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-5" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="640" y="420" as="sourcePoint" /> + <mxPoint x="750" y="420" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-6" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="640" y="397" as="sourcePoint" /> + <mxPoint x="768" y="397" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-7" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="640" y="520" as="sourcePoint" /> + <mxPoint x="640" y="340" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-8" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="620" y="520" as="sourcePoint" /> + <mxPoint x="880" y="520" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-9" value="t" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="610" y="328" width="30" height="30" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-10" value="s" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> + <mxGeometry x="852" y="523" width="20" height="20" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-11" value="s<sub>0&nbsp;</sub>&nbsp;s<sub>1</sub>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> + <mxGeometry x="732" y="513" width="60" height="30" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-13" value="t<sub>1</sub><div>t<sub>0</sub></div>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> + <mxGeometry x="601" y="393" width="60" height="30" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-14" value="A<sub>L</sub>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> + <mxGeometry x="732" y="366" width="21" height="24" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-15" value="<font>A<sub style=""><font style="">R</font></sub></font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> + <mxGeometry x="779" y="408" width="21" height="24" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-17" value="" style="curved=1;endArrow=none;html=1;rounded=0;startFill=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="1020" y="500" as="sourcePoint" /> + <mxPoint x="1200" y="350" as="targetPoint" /> + <Array as="points"> + <mxPoint x="1070" y="490" /> + <mxPoint x="1140" y="370" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-18" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="1000" y="520" as="sourcePoint" /> + <mxPoint x="1000" y="340" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-19" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="980" y="520" as="sourcePoint" /> + <mxPoint x="1240" y="520" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-20" value="t" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1"> + <mxGeometry x="970" y="328" width="30" height="30" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-21" value="s" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> + <mxGeometry x="1212" y="523" width="20" height="20" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-22" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF0000;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="1090" y="520" as="sourcePoint" /> + <mxPoint x="1099" y="440" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-23" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF0000;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="1100" y="520" as="sourcePoint" /> + <mxPoint x="1105" y="431" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-24" value="s<sub>R</sub>&nbsp; &nbsp;s<sub>R</sub>+ds<sub>R</sub>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> + <mxGeometry x="1068" y="516" width="82" height="30" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-25" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="1090" y="520" as="sourcePoint" /> + <mxPoint x="1090" y="524" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-26" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="1100" y="520" as="sourcePoint" /> + <mxPoint x="1100" y="524" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-32" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=solid;fillColor=#000000;" parent="1" vertex="1"> + <mxGeometry x="1097" y="439" width="3" height="3" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-34" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillStyle=solid;fillColor=#000000;" parent="1" vertex="1"> + <mxGeometry x="1102.5" y="430" width="3" height="3" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-35" value="(s,t)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> + <mxGeometry x="1070" y="433" width="22" height="17" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-36" value="(s+ds,t+dt)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> + <mxGeometry x="1042.5" y="415" width="60" height="17" as="geometry" /> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-37" value="" style="curved=1;endArrow=classic;html=1;rounded=0;" parent="1" edge="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="1144" y="470" as="sourcePoint" /> + <mxPoint x="1102.5" y="442" as="targetPoint" /> + <Array as="points"> + <mxPoint x="1131" y="469" /> + <mxPoint x="1118" y="445" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="LEMnLdt_SphYlaGVxQ8p-39" value="A<sub>R</sub>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1"> + <mxGeometry x="1143" y="463" width="22" height="18" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-7" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="170" y="215" as="sourcePoint" /> + <mxPoint x="140" y="155" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-8" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="188" y="179" as="sourcePoint" /> + <mxPoint x="200" y="155" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-9" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="140" y="155" as="sourcePoint" /> + <mxPoint x="200" y="155" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-10" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="300" y="285" as="sourcePoint" /> + <mxPoint x="270" y="225" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-11" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="300" y="285" as="sourcePoint" /> + <mxPoint x="330" y="225" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-12" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="270" y="225" as="sourcePoint" /> + <mxPoint x="330" y="225" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-13" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="140" y="155" as="sourcePoint" /> + <mxPoint x="270" y="225" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-14" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="170" y="215" as="sourcePoint" /> + <mxPoint x="300" y="285" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-15" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="200" y="155" as="sourcePoint" /> + <mxPoint x="330" y="225" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-16" value="" style="triangle;whiteSpace=wrap;html=1;rotation=90;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1"> + <mxGeometry x="282" y="248" width="36.5" height="37" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-20" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="420" y="180" as="sourcePoint" /> + <mxPoint x="560" y="250" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-21" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="420" y="150" as="sourcePoint" /> + <mxPoint x="560" y="220" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-22" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="500" y="150" as="sourcePoint" /> + <mxPoint x="420" y="150" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-23" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="560" y="250" as="sourcePoint" /> + <mxPoint x="560" y="220" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-24" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="420" y="180" as="sourcePoint" /> + <mxPoint x="420" y="150" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-25" value="" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.arc;startAngle=0.75;endAngle=0.8230906902633023;rotation=-180;" vertex="1" parent="1"> + <mxGeometry x="370" y="100" width="100" height="100" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-26" value="α" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxGeometry x="470" y="160" width="10" height="10" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-27" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="415" y="190" as="sourcePoint" /> + <mxPoint x="555" y="260" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-28" value="s" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxGeometry x="527" y="250" width="20" height="20" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-33" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="480" y="195" as="sourcePoint" /> + <mxPoint x="450" y="195" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-34" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="480" y="205" as="sourcePoint" /> + <mxPoint x="470" y="205" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-35" value="δh" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxGeometry x="480" y="190" width="20" height="20" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-36" value="δs" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxGeometry x="437" y="216" width="20" height="20" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-38" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="440" y="215" as="sourcePoint" /> + <mxPoint x="450" y="195" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-39" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="460" y="225" as="sourcePoint" /> + <mxPoint x="470" y="205" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-40" value="" style="curved=1;endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="278" y="249" as="sourcePoint" /> + <mxPoint x="323" y="251" as="targetPoint" /> + <Array as="points"> + <mxPoint x="287" y="273" /> + <mxPoint x="301" y="296" /> + <mxPoint x="314" y="275" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-41" value="<font face="Courier New">l(A)</font>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxGeometry x="316" y="270" width="31" height="19" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-42" value="A" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxGeometry x="294.75" y="252" width="11" height="16" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-43" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="510" y="225" as="sourcePoint" /> + <mxPoint x="510" y="177" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-44" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="520" y="230" as="sourcePoint" /> + <mxPoint x="520" y="180" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-45" value="dx" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxGeometry x="504" y="160" width="23" height="20" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-46" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="320" y="640" as="sourcePoint" /> + <mxPoint x="320" y="480" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-48" value="" style="endArrow=classic;html=1;rounded=0;endFill=1;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="230" y="630" as="sourcePoint" /> + <mxPoint x="410" y="630" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-51" value="y" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1"> + <mxGeometry x="325" y="470" width="20" height="20" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-52" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="320" y="580" as="sourcePoint" /> + <mxPoint x="380" y="580" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-53" value="w(y)/2" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1"> + <mxGeometry x="325" y="559.5" width="39" height="18" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-55" value="x" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1"> + <mxGeometry x="410" y="620" width="20" height="20" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-56" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="388" y="583.5" as="sourcePoint" /> + <mxPoint x="400" y="556" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-59" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="380" y="580" as="sourcePoint" /> + <mxPoint x="393" y="586" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-60" value="dl" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1"> + <mxGeometry x="395" y="563" width="23" height="23" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-61" value="" style="curved=1;endArrow=none;html=1;rounded=0;startFill=0;strokeColor=#FF0000;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="240" y="520" as="sourcePoint" /> + <mxPoint x="300" y="630" as="targetPoint" /> + <Array as="points"> + <mxPoint x="260" y="600" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-62" value="" style="curved=1;endArrow=none;html=1;rounded=0;startFill=0;strokeColor=#FF0000;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="400" y="520" as="sourcePoint" /> + <mxPoint x="340" y="630" as="targetPoint" /> + <Array as="points"> + <mxPoint x="380" y="600" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-63" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF0000;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="300" y="630" as="sourcePoint" /> + <mxPoint x="340" y="630" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-64" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="391" y="552" as="sourcePoint" /> + <mxPoint x="404" y="557" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-67" value="" style="rounded=0;whiteSpace=wrap;html=1;gradientColor=#FFFFFF;fillColor=#0000FF;strokeColor=none;" vertex="1" parent="1"> + <mxGeometry x="250" y="540" width="140" height="10" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-68" value="h" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1"> + <mxGeometry x="323.75" y="523" width="15.5" height="20" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-69" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="840" y="800" as="sourcePoint" /> + <mxPoint x="960" y="800" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-70" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="850" y="810" as="sourcePoint" /> + <mxPoint x="850" y="730" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-71" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF0000;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="850" y="790" as="sourcePoint" /> + <mxPoint x="880" y="790" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-72" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF0000;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="880" y="750" as="sourcePoint" /> + <mxPoint x="910" y="750" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-74" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#FF0000;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="910" y="770" as="sourcePoint" /> + <mxPoint x="940" y="770" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-77" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1"> + <mxGeometry x="878" y="748" width="4" height="4" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-78" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeColor=#FF0000;" vertex="1" parent="1"> + <mxGeometry x="908" y="768" width="4" height="4" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-79" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#FF0000;strokeColor=#FF0000;" vertex="1" parent="1"> + <mxGeometry x="908" y="748" width="4" height="4" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-80" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#FF0000;strokeColor=#FF0000;" vertex="1" parent="1"> + <mxGeometry x="878" y="788" width="4" height="4" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-81" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#FF0000;strokeColor=#FF0000;" vertex="1" parent="1"> + <mxGeometry x="938" y="768" width="4" height="4" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-82" value="" style="endArrow=classicThin;html=1;rounded=0;endFill=1;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="880" y="770" as="sourcePoint" /> + <mxPoint x="898" y="769.92" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-83" value="" style="endArrow=classicThin;html=1;rounded=0;endFill=1;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="910" y="760.08" as="sourcePoint" /> + <mxPoint x="928" y="760" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-87" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="879.93" y="775" as="sourcePoint" /> + <mxPoint x="880" y="765" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-88" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="909.93" y="765" as="sourcePoint" /> + <mxPoint x="910" y="755" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-89" value="Q(A<sub>i-1</sub>)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1"> + <mxGeometry x="879" y="752" width="28" height="18" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-90" value="Q(A<sub>i</sub>)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1"> + <mxGeometry x="916" y="745" width="28" height="18" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-91" value="A<sub>i-1</sub>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;fontColor=#FF0000;" vertex="1" parent="1"> + <mxGeometry x="855" y="778" width="20" height="10" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-92" value="A<sub>i</sub>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;fontColor=#FF0000;" vertex="1" parent="1"> + <mxGeometry x="886" y="738" width="20" height="10" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-93" value="A<sub>i+1</sub>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;fontColor=#FF0000;" vertex="1" parent="1"> + <mxGeometry x="914" y="772" width="20" height="10" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-95" value="A" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1"> + <mxGeometry x="836" y="719.5" width="12" height="15" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-96" value="s" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1"> + <mxGeometry x="950" y="804" width="9" height="10" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-98" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="910" y="805" as="sourcePoint" /> + <mxPoint x="910" y="800" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-99" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="880" y="805" as="sourcePoint" /> + <mxPoint x="880" y="800" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-100" value="s<sub>i</sub>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1"> + <mxGeometry x="906" y="804" width="9" height="10" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-101" value="s<sub>i-1</sub>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1"> + <mxGeometry x="873" y="804" width="17" height="10" as="geometry" /> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-102" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="940" y="805" as="sourcePoint" /> + <mxPoint x="940" y="800" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="1nF5tneqOkAijIU8bpes-103" value="s<sub>i+1</sub>" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=8;" vertex="1" parent="1"> + <mxGeometry x="936" y="804" width="9" height="10" as="geometry" /> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> diff --git a/flood.py b/flood.py index 75c3b23d5a1b124fce4fa6f4f9cfd7a82dcfb846..d6c0db989f20294841ea0a3eb8f04ed4f2236e9b 100644 --- a/flood.py +++ b/flood.py @@ -299,7 +299,7 @@ def main(): #print("u(A) = ") #pprint(u) - Q = (A_sym*u).subs([("g", 9.81), ("alpha", 0.001), ("f", 0.05), (a, 100)]) + Q = (A_sym*u).subs([("g", 9.81), ("alpha", 0.001), ("f", 0.05), (a, 500)]) delta_x = 0.5 L = 300 @@ -334,8 +334,18 @@ def main(): t = [i*delta_t for i in range(int(T/delta_t))] c_sln = godunov_solve(Q_lamb, A_init_data, A_inflow, delta_x, t) + + n_xticks = 21 + n_tticks = 11 + x_ticks = [int(i*L/delta_x/(n_xticks-1)) for i in range(n_xticks)] + x_tick_labels = [delta_x*i for i in x_ticks] + t_ticks = [int(i*T/delta_t/(n_tticks-1)) for i in range(n_tticks)] + t_tick_labels = [delta_t*i for i in t_ticks] + plt.colorbar(plt.pcolor(c_sln)) ax1.imshow(c_sln, origin="lower", aspect="auto") + ax1.set_xticks(x_ticks, x_tick_labels) + ax1.set_yticks(t_ticks, t_tick_labels) plt.show()