From 45c6edfa2bbdbe67492c797531727763a0a1c650 Mon Sep 17 00:00:00 2001 From: Pedro Arduino Date: Tue, 20 Feb 2024 19:11:43 -0800 Subject: [PATCH 1/2] Adding new pyvista files --- PML/PML3/Matlabcode/M.txt | 11 + pyVista/building.pdf | Bin 0 -> 2360907 bytes pyVista/building.png | Bin 0 -> 2367 bytes pyVista/interfaceInfo.dat | 1280 ++++++++++++++++++++++++++ pyVista/meshcreator-Centrifuge.py | 87 ++ pyVista/meshcreator.py | 76 ++ pyVista/postprocess_Stress.py | 207 +++++ pyVista/scene-export-centrifuge.html | 19 + pyVista/scene-export.html | 19 + 9 files changed, 1699 insertions(+) create mode 100644 PML/PML3/Matlabcode/M.txt create mode 100644 pyVista/building.pdf create mode 100644 pyVista/building.png create mode 100644 pyVista/interfaceInfo.dat create mode 100644 pyVista/meshcreator-Centrifuge.py create mode 100644 pyVista/meshcreator.py create mode 100644 pyVista/postprocess_Stress.py create mode 100644 pyVista/scene-export-centrifuge.html create mode 100644 pyVista/scene-export.html diff --git a/PML/PML3/Matlabcode/M.txt b/PML/PML3/Matlabcode/M.txt new file mode 100644 index 0000000..807abba --- /dev/null +++ b/PML/PML3/Matlabcode/M.txt @@ -0,0 +1,11 @@ +(a*b*rho*(10*L_PML_x^2 + alpha_0_x*a^2 + 5*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 6*alpha_0_y*b^2 + 15*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(900*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + alpha_0_x*a^2 + 5*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(3600*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 6*alpha_0_y*b^2 + 15*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, 0, 0, 0, + 0, (a*b*rho*(10*L_PML_x^2 + alpha_0_x*a^2 + 5*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 6*alpha_0_y*b^2 + 15*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(900*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + alpha_0_x*a^2 + 5*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(3600*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 6*alpha_0_y*b^2 + 15*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, 0, 0, + (a*b*rho*(10*L_PML_x^2 + alpha_0_x*a^2 + 5*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + alpha_0_x*a^2 + 5*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + alpha_0_y*b^2 + 5*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(900*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + alpha_0_y*b^2 + 5*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(3600*L_PML_x^2*L_PML_y^2), 0, 0, 0, 0, + 0, (a*b*rho*(10*L_PML_x^2 + alpha_0_x*a^2 + 5*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + alpha_0_x*a^2 + 5*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + alpha_0_y*b^2 + 5*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(900*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + alpha_0_y*b^2 + 5*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(3600*L_PML_x^2*L_PML_y^2), 0, 0, 0, + (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(3600*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + alpha_0_y*b^2 + 5*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 6*alpha_0_x*a^2 + 15*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + alpha_0_y*b^2 + 5*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(900*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 6*alpha_0_x*a^2 + 15*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, 0, 0, 0, + 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(3600*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + alpha_0_y*b^2 + 5*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 6*alpha_0_x*a^2 + 15*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + alpha_0_y*b^2 + 5*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(900*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 6*alpha_0_x*a^2 + 15*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, 0, 0, + (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 6*alpha_0_y*b^2 + 15*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(3600*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 6*alpha_0_x*a^2 + 15*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 6*alpha_0_x*a^2 + 15*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 6*alpha_0_y*b^2 + 15*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(900*L_PML_x^2*L_PML_y^2), 0, 0, 0, 0, + 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 6*alpha_0_y*b^2 + 15*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 3*alpha_0_x*a^2 + 10*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(3600*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 6*alpha_0_x*a^2 + 15*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 3*alpha_0_y*b^2 + 10*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(1800*L_PML_x^2*L_PML_y^2), 0, (a*b*rho*(10*L_PML_x^2 + 6*alpha_0_x*a^2 + 15*alpha_0_x*a*xi + 10*alpha_0_x*xi^2)*(10*L_PML_y^2 + 6*alpha_0_y*b^2 + 15*alpha_0_y*b*yj + 10*alpha_0_y*yj^2))/(900*L_PML_x^2*L_PML_y^2), 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, (a*b*(nu^2 - 1)*(3*L_PML_x^2 + alpha_0_x*a^2 + 3*alpha_0_x*a*xi + 3*alpha_0_x*xi^2)*(3*L_PML_y^2 + alpha_0_y*b^2 + 3*alpha_0_y*b*yj + 3*alpha_0_y*yj^2))/(9*E*L_PML_x^2*L_PML_y^2), (a*b*nu*(nu + 1)*(3*L_PML_x^2 + alpha_0_x*a^2 + 3*alpha_0_x*a*xi + 3*alpha_0_x*xi^2)*(3*L_PML_y^2 + alpha_0_y*b^2 + 3*alpha_0_y*b*yj + 3*alpha_0_y*yj^2))/(9*E*L_PML_x^2*L_PML_y^2), 0, + 0, 0, 0, 0, 0, 0, 0, 0, (a*b*nu*(nu + 1)*(3*L_PML_x^2 + alpha_0_x*a^2 + 3*alpha_0_x*a*xi + 3*alpha_0_x*xi^2)*(3*L_PML_y^2 + alpha_0_y*b^2 + 3*alpha_0_y*b*yj + 3*alpha_0_y*yj^2))/(9*E*L_PML_x^2*L_PML_y^2), (a*b*(nu^2 - 1)*(3*L_PML_x^2 + alpha_0_x*a^2 + 3*alpha_0_x*a*xi + 3*alpha_0_x*xi^2)*(3*L_PML_y^2 + alpha_0_y*b^2 + 3*alpha_0_y*b*yj + 3*alpha_0_y*yj^2))/(9*E*L_PML_x^2*L_PML_y^2), 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -(2*a*b*(nu + 1)*(3*L_PML_x^2 + alpha_0_x*a^2 + 3*alpha_0_x*a*xi + 3*alpha_0_x*xi^2)*(3*L_PML_y^2 + alpha_0_y*b^2 + 3*alpha_0_y*b*yj + 3*alpha_0_y*yj^2))/(9*E*L_PML_x^2*L_PML_y^2), \ No newline at end of file diff --git a/pyVista/building.pdf b/pyVista/building.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5e5a0d7ff19136648bad162e52ce2c7a646d9bb5 GIT binary patch literal 2360907 zcmeIx%WfM-768y$*H_fWfDKI455B~}Fc3X$Bpz!>P7=V#qD8i38WLMWwgNd{Kh?Bo z$>3^cHH*_)sJgoDt*Ub`UtFA={ZJhALlN`XTz(F(Ux#eAY;WrL^5V;{%S~Iw(}%le z-M$Lh@w%?sW*uLi|59E|V+uPc{~li+zlz0pJpQ4~%RC+*#Pj<8uWGrfQ^du(S=`U- z6!Por=Us+nvpT8Tw86=bDWsp5MV=zZgWjv~=1r(qi|!od^YeVUt7CRtwbe~?osw49 z^(OYxg2}Uh?)}>ZwgKC9A^Ul`*u;;+ZuuYS4$b|ljm5LT{eY4oDGqkIH*LD| zZOG22RlMGWe}^I+IDO3HXm}X&gM9lu4d!X>yW2dTG~u5iKPbv#FdV1P{b71WX)wwM zhlgccUx%Yv$j&Mwu80Gzgd^j5S$~YVryR@@KczH5;ACJ&-nJ_Y!Hu|Rom5Qy~~-{A20h@fX-lBh;p>6NoTlE z+!bV9C)BSM$==tCWp&g%#E+fR7A#?H=~r!9w~3wLBxI9%)7-D;^=8|2sa59Fx{V*R z)RHlq)emh8EP3TwQlxQb%RK zf4KZy&)e<7t~#l5j|pIWlZ|NZr!&X7%iidWUmrViQk zeb*0V$Ua=`rkcCm=)*<&8nUDFGG-_BRds*UhU{O*ljpCq=WkEjcc=b-``x{=>HTH9 zZTYQN$bMTcQWtmhA$waduRpb2zjn=k)2yd=)ja*2PU=6G^LlcA6w`5*?dGChA2+vm z&8jP9TKo7@D0_o(IUdGzj>rD^n}+}a0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNCfe)ne1G>*}@}HJ6{mIOehY|N3>vW?$~=n4LANHe}QL%Xa(P zO%@^hM|InM%R_clZR&1K%-+^Ff7b1CUWM#*HE$Nn)pg9?SMy18Tdj68;mw=fUPb=j zZI-tE-#2?$*He=88dYZ?4SC{kg$@?4WnJw{9>P z?adt)`}xMb@AH+tVct93pX-mGjHcuDFkcv5P4;nH81rIIw z>YvNYzW~S_1*0J_8UmvsFd71*Aut*OqaiSiL!d#NnN@~?QDKq}JII%wu6{1-oD!M< DzQ7S* literal 0 HcmV?d00001 diff --git a/pyVista/interfaceInfo.dat b/pyVista/interfaceInfo.dat new file mode 100644 index 0000000..29000fe --- /dev/null +++ b/pyVista/interfaceInfo.dat @@ -0,0 +1,1280 @@ +1000043 -0.191342 0.46194 -19.9375 +1000044 -0.46194 0.191342 -19.9375 +1000045 -0.46194 -0.191342 -19.9375 +1000046 -0.191342 -0.46194 -19.9375 +1000047 0.191342 -0.46194 -19.9375 +1000048 0.46194 -0.191342 -19.9375 +1000049 0.46194 0.191342 -19.9375 +1000050 0.191342 0.46194 -19.9375 +1000051 -0.191342 0.46194 -19.8125 +1000052 -0.46194 0.191342 -19.8125 +1000053 -0.46194 -0.191342 -19.8125 +1000054 -0.191342 -0.46194 -19.8125 +1000055 0.191342 -0.46194 -19.8125 +1000056 0.46194 -0.191342 -19.8125 +1000057 0.46194 0.191342 -19.8125 +1000058 0.191342 0.46194 -19.8125 +1000059 -0.191342 0.46194 -19.6875 +1000060 -0.46194 0.191342 -19.6875 +1000061 -0.46194 -0.191342 -19.6875 +1000062 -0.191342 -0.46194 -19.6875 +1000063 0.191342 -0.46194 -19.6875 +1000064 0.46194 -0.191342 -19.6875 +1000065 0.46194 0.191342 -19.6875 +1000066 0.191342 0.46194 -19.6875 +1000067 -0.191342 0.46194 -19.5625 +1000068 -0.46194 0.191342 -19.5625 +1000069 -0.46194 -0.191342 -19.5625 +1000070 -0.191342 -0.46194 -19.5625 +1000071 0.191342 -0.46194 -19.5625 +1000072 0.46194 -0.191342 -19.5625 +1000073 0.46194 0.191342 -19.5625 +1000074 0.191342 0.46194 -19.5625 +1000075 -0.191342 0.46194 -19.4375 +1000076 -0.46194 0.191342 -19.4375 +1000077 -0.46194 -0.191342 -19.4375 +1000078 -0.191342 -0.46194 -19.4375 +1000079 0.191342 -0.46194 -19.4375 +1000080 0.46194 -0.191342 -19.4375 +1000081 0.46194 0.191342 -19.4375 +1000082 0.191342 0.46194 -19.4375 +1000083 -0.191342 0.46194 -19.3125 +1000084 -0.46194 0.191342 -19.3125 +1000085 -0.46194 -0.191342 -19.3125 +1000086 -0.191342 -0.46194 -19.3125 +1000087 0.191342 -0.46194 -19.3125 +1000088 0.46194 -0.191342 -19.3125 +1000089 0.46194 0.191342 -19.3125 +1000090 0.191342 0.46194 -19.3125 +1000091 -0.191342 0.46194 -19.1875 +1000092 -0.46194 0.191342 -19.1875 +1000093 -0.46194 -0.191342 -19.1875 +1000094 -0.191342 -0.46194 -19.1875 +1000095 0.191342 -0.46194 -19.1875 +1000096 0.46194 -0.191342 -19.1875 +1000097 0.46194 0.191342 -19.1875 +1000098 0.191342 0.46194 -19.1875 +1000099 -0.191342 0.46194 -19.0625 +1000100 -0.46194 0.191342 -19.0625 +1000101 -0.46194 -0.191342 -19.0625 +1000102 -0.191342 -0.46194 -19.0625 +1000103 0.191342 -0.46194 -19.0625 +1000104 0.46194 -0.191342 -19.0625 +1000105 0.46194 0.191342 -19.0625 +1000106 0.191342 0.46194 -19.0625 +1000107 -0.191342 0.46194 -18.9375 +1000108 -0.46194 0.191342 -18.9375 +1000109 -0.46194 -0.191342 -18.9375 +1000110 -0.191342 -0.46194 -18.9375 +1000111 0.191342 -0.46194 -18.9375 +1000112 0.46194 -0.191342 -18.9375 +1000113 0.46194 0.191342 -18.9375 +1000114 0.191342 0.46194 -18.9375 +1000115 -0.191342 0.46194 -18.8125 +1000116 -0.46194 0.191342 -18.8125 +1000117 -0.46194 -0.191342 -18.8125 +1000118 -0.191342 -0.46194 -18.8125 +1000119 0.191342 -0.46194 -18.8125 +1000120 0.46194 -0.191342 -18.8125 +1000121 0.46194 0.191342 -18.8125 +1000122 0.191342 0.46194 -18.8125 +1000123 -0.191342 0.46194 -18.6875 +1000124 -0.46194 0.191342 -18.6875 +1000125 -0.46194 -0.191342 -18.6875 +1000126 -0.191342 -0.46194 -18.6875 +1000127 0.191342 -0.46194 -18.6875 +1000128 0.46194 -0.191342 -18.6875 +1000129 0.46194 0.191342 -18.6875 +1000130 0.191342 0.46194 -18.6875 +1000131 -0.191342 0.46194 -18.5625 +1000132 -0.46194 0.191342 -18.5625 +1000133 -0.46194 -0.191342 -18.5625 +1000134 -0.191342 -0.46194 -18.5625 +1000135 0.191342 -0.46194 -18.5625 +1000136 0.46194 -0.191342 -18.5625 +1000137 0.46194 0.191342 -18.5625 +1000138 0.191342 0.46194 -18.5625 +1000139 -0.191342 0.46194 -18.4375 +1000140 -0.46194 0.191342 -18.4375 +1000141 -0.46194 -0.191342 -18.4375 +1000142 -0.191342 -0.46194 -18.4375 +1000143 0.191342 -0.46194 -18.4375 +1000144 0.46194 -0.191342 -18.4375 +1000145 0.46194 0.191342 -18.4375 +1000146 0.191342 0.46194 -18.4375 +1000147 -0.191342 0.46194 -18.3125 +1000148 -0.46194 0.191342 -18.3125 +1000149 -0.46194 -0.191342 -18.3125 +1000150 -0.191342 -0.46194 -18.3125 +1000151 0.191342 -0.46194 -18.3125 +1000152 0.46194 -0.191342 -18.3125 +1000153 0.46194 0.191342 -18.3125 +1000154 0.191342 0.46194 -18.3125 +1000155 -0.191342 0.46194 -18.1875 +1000156 -0.46194 0.191342 -18.1875 +1000157 -0.46194 -0.191342 -18.1875 +1000158 -0.191342 -0.46194 -18.1875 +1000159 0.191342 -0.46194 -18.1875 +1000160 0.46194 -0.191342 -18.1875 +1000161 0.46194 0.191342 -18.1875 +1000162 0.191342 0.46194 -18.1875 +1000163 -0.191342 0.46194 -18.0625 +1000164 -0.46194 0.191342 -18.0625 +1000165 -0.46194 -0.191342 -18.0625 +1000166 -0.191342 -0.46194 -18.0625 +1000167 0.191342 -0.46194 -18.0625 +1000168 0.46194 -0.191342 -18.0625 +1000169 0.46194 0.191342 -18.0625 +1000170 0.191342 0.46194 -18.0625 +1000171 -0.191342 0.46194 -17.9375 +1000172 -0.46194 0.191342 -17.9375 +1000173 -0.46194 -0.191342 -17.9375 +1000174 -0.191342 -0.46194 -17.9375 +1000175 0.191342 -0.46194 -17.9375 +1000176 0.46194 -0.191342 -17.9375 +1000177 0.46194 0.191342 -17.9375 +1000178 0.191342 0.46194 -17.9375 +1000179 -0.191342 0.46194 -17.8125 +1000180 -0.46194 0.191342 -17.8125 +1000181 -0.46194 -0.191342 -17.8125 +1000182 -0.191342 -0.46194 -17.8125 +1000183 0.191342 -0.46194 -17.8125 +1000184 0.46194 -0.191342 -17.8125 +1000185 0.46194 0.191342 -17.8125 +1000186 0.191342 0.46194 -17.8125 +1000187 -0.191342 0.46194 -17.6875 +1000188 -0.46194 0.191342 -17.6875 +1000189 -0.46194 -0.191342 -17.6875 +1000190 -0.191342 -0.46194 -17.6875 +1000191 0.191342 -0.46194 -17.6875 +1000192 0.46194 -0.191342 -17.6875 +1000193 0.46194 0.191342 -17.6875 +1000194 0.191342 0.46194 -17.6875 +1000195 -0.191342 0.46194 -17.5625 +1000196 -0.46194 0.191342 -17.5625 +1000197 -0.46194 -0.191342 -17.5625 +1000198 -0.191342 -0.46194 -17.5625 +1000199 0.191342 -0.46194 -17.5625 +1000200 0.46194 -0.191342 -17.5625 +1000201 0.46194 0.191342 -17.5625 +1000202 0.191342 0.46194 -17.5625 +1000203 -0.191342 0.46194 -17.4375 +1000204 -0.46194 0.191342 -17.4375 +1000205 -0.46194 -0.191342 -17.4375 +1000206 -0.191342 -0.46194 -17.4375 +1000207 0.191342 -0.46194 -17.4375 +1000208 0.46194 -0.191342 -17.4375 +1000209 0.46194 0.191342 -17.4375 +1000210 0.191342 0.46194 -17.4375 +1000211 -0.191342 0.46194 -17.3125 +1000212 -0.46194 0.191342 -17.3125 +1000213 -0.46194 -0.191342 -17.3125 +1000214 -0.191342 -0.46194 -17.3125 +1000215 0.191342 -0.46194 -17.3125 +1000216 0.46194 -0.191342 -17.3125 +1000217 0.46194 0.191342 -17.3125 +1000218 0.191342 0.46194 -17.3125 +1000219 -0.191342 0.46194 -17.1875 +1000220 -0.46194 0.191342 -17.1875 +1000221 -0.46194 -0.191342 -17.1875 +1000222 -0.191342 -0.46194 -17.1875 +1000223 0.191342 -0.46194 -17.1875 +1000224 0.46194 -0.191342 -17.1875 +1000225 0.46194 0.191342 -17.1875 +1000226 0.191342 0.46194 -17.1875 +1000227 -0.191342 0.46194 -17.0625 +1000228 -0.46194 0.191342 -17.0625 +1000229 -0.46194 -0.191342 -17.0625 +1000230 -0.191342 -0.46194 -17.0625 +1000231 0.191342 -0.46194 -17.0625 +1000232 0.46194 -0.191342 -17.0625 +1000233 0.46194 0.191342 -17.0625 +1000234 0.191342 0.46194 -17.0625 +1000235 -0.191342 0.46194 -16.9375 +1000236 -0.46194 0.191342 -16.9375 +1000237 -0.46194 -0.191342 -16.9375 +1000238 -0.191342 -0.46194 -16.9375 +1000239 0.191342 -0.46194 -16.9375 +1000240 0.46194 -0.191342 -16.9375 +1000241 0.46194 0.191342 -16.9375 +1000242 0.191342 0.46194 -16.9375 +1000243 -0.191342 0.46194 -16.8125 +1000244 -0.46194 0.191342 -16.8125 +1000245 -0.46194 -0.191342 -16.8125 +1000246 -0.191342 -0.46194 -16.8125 +1000247 0.191342 -0.46194 -16.8125 +1000248 0.46194 -0.191342 -16.8125 +1000249 0.46194 0.191342 -16.8125 +1000250 0.191342 0.46194 -16.8125 +1000251 -0.191342 0.46194 -16.6875 +1000252 -0.46194 0.191342 -16.6875 +1000253 -0.46194 -0.191342 -16.6875 +1000254 -0.191342 -0.46194 -16.6875 +1000255 0.191342 -0.46194 -16.6875 +1000256 0.46194 -0.191342 -16.6875 +1000257 0.46194 0.191342 -16.6875 +1000258 0.191342 0.46194 -16.6875 +1000259 -0.191342 0.46194 -16.5625 +1000260 -0.46194 0.191342 -16.5625 +1000261 -0.46194 -0.191342 -16.5625 +1000262 -0.191342 -0.46194 -16.5625 +1000263 0.191342 -0.46194 -16.5625 +1000264 0.46194 -0.191342 -16.5625 +1000265 0.46194 0.191342 -16.5625 +1000266 0.191342 0.46194 -16.5625 +1000267 -0.191342 0.46194 -16.4375 +1000268 -0.46194 0.191342 -16.4375 +1000269 -0.46194 -0.191342 -16.4375 +1000270 -0.191342 -0.46194 -16.4375 +1000271 0.191342 -0.46194 -16.4375 +1000272 0.46194 -0.191342 -16.4375 +1000273 0.46194 0.191342 -16.4375 +1000274 0.191342 0.46194 -16.4375 +1000275 -0.191342 0.46194 -16.3125 +1000276 -0.46194 0.191342 -16.3125 +1000277 -0.46194 -0.191342 -16.3125 +1000278 -0.191342 -0.46194 -16.3125 +1000279 0.191342 -0.46194 -16.3125 +1000280 0.46194 -0.191342 -16.3125 +1000281 0.46194 0.191342 -16.3125 +1000282 0.191342 0.46194 -16.3125 +1000283 -0.191342 0.46194 -16.1875 +1000284 -0.46194 0.191342 -16.1875 +1000285 -0.46194 -0.191342 -16.1875 +1000286 -0.191342 -0.46194 -16.1875 +1000287 0.191342 -0.46194 -16.1875 +1000288 0.46194 -0.191342 -16.1875 +1000289 0.46194 0.191342 -16.1875 +1000290 0.191342 0.46194 -16.1875 +1000291 -0.191342 0.46194 -16.0625 +1000292 -0.46194 0.191342 -16.0625 +1000293 -0.46194 -0.191342 -16.0625 +1000294 -0.191342 -0.46194 -16.0625 +1000295 0.191342 -0.46194 -16.0625 +1000296 0.46194 -0.191342 -16.0625 +1000297 0.46194 0.191342 -16.0625 +1000298 0.191342 0.46194 -16.0625 +1000299 -0.191342 0.46194 -15.9375 +1000300 -0.46194 0.191342 -15.9375 +1000301 -0.46194 -0.191342 -15.9375 +1000302 -0.191342 -0.46194 -15.9375 +1000303 0.191342 -0.46194 -15.9375 +1000304 0.46194 -0.191342 -15.9375 +1000305 0.46194 0.191342 -15.9375 +1000306 0.191342 0.46194 -15.9375 +1000307 -0.191342 0.46194 -15.8125 +1000308 -0.46194 0.191342 -15.8125 +1000309 -0.46194 -0.191342 -15.8125 +1000310 -0.191342 -0.46194 -15.8125 +1000311 0.191342 -0.46194 -15.8125 +1000312 0.46194 -0.191342 -15.8125 +1000313 0.46194 0.191342 -15.8125 +1000314 0.191342 0.46194 -15.8125 +1000315 -0.191342 0.46194 -15.6875 +1000316 -0.46194 0.191342 -15.6875 +1000317 -0.46194 -0.191342 -15.6875 +1000318 -0.191342 -0.46194 -15.6875 +1000319 0.191342 -0.46194 -15.6875 +1000320 0.46194 -0.191342 -15.6875 +1000321 0.46194 0.191342 -15.6875 +1000322 0.191342 0.46194 -15.6875 +1000323 -0.191342 0.46194 -15.5625 +1000324 -0.46194 0.191342 -15.5625 +1000325 -0.46194 -0.191342 -15.5625 +1000326 -0.191342 -0.46194 -15.5625 +1000327 0.191342 -0.46194 -15.5625 +1000328 0.46194 -0.191342 -15.5625 +1000329 0.46194 0.191342 -15.5625 +1000330 0.191342 0.46194 -15.5625 +1000331 -0.191342 0.46194 -15.4375 +1000332 -0.46194 0.191342 -15.4375 +1000333 -0.46194 -0.191342 -15.4375 +1000334 -0.191342 -0.46194 -15.4375 +1000335 0.191342 -0.46194 -15.4375 +1000336 0.46194 -0.191342 -15.4375 +1000337 0.46194 0.191342 -15.4375 +1000338 0.191342 0.46194 -15.4375 +1000339 -0.191342 0.46194 -15.3125 +1000340 -0.46194 0.191342 -15.3125 +1000341 -0.46194 -0.191342 -15.3125 +1000342 -0.191342 -0.46194 -15.3125 +1000343 0.191342 -0.46194 -15.3125 +1000344 0.46194 -0.191342 -15.3125 +1000345 0.46194 0.191342 -15.3125 +1000346 0.191342 0.46194 -15.3125 +1000347 -0.191342 0.46194 -15.1875 +1000348 -0.46194 0.191342 -15.1875 +1000349 -0.46194 -0.191342 -15.1875 +1000350 -0.191342 -0.46194 -15.1875 +1000351 0.191342 -0.46194 -15.1875 +1000352 0.46194 -0.191342 -15.1875 +1000353 0.46194 0.191342 -15.1875 +1000354 0.191342 0.46194 -15.1875 +1000355 -0.191342 0.46194 -15.0625 +1000356 -0.46194 0.191342 -15.0625 +1000357 -0.46194 -0.191342 -15.0625 +1000358 -0.191342 -0.46194 -15.0625 +1000359 0.191342 -0.46194 -15.0625 +1000360 0.46194 -0.191342 -15.0625 +1000361 0.46194 0.191342 -15.0625 +1000362 0.191342 0.46194 -15.0625 +1000363 -0.191342 0.46194 -14.9375 +1000364 -0.46194 0.191342 -14.9375 +1000365 -0.46194 -0.191342 -14.9375 +1000366 -0.191342 -0.46194 -14.9375 +1000367 0.191342 -0.46194 -14.9375 +1000368 0.46194 -0.191342 -14.9375 +1000369 0.46194 0.191342 -14.9375 +1000370 0.191342 0.46194 -14.9375 +1000371 -0.191342 0.46194 -14.8125 +1000372 -0.46194 0.191342 -14.8125 +1000373 -0.46194 -0.191342 -14.8125 +1000374 -0.191342 -0.46194 -14.8125 +1000375 0.191342 -0.46194 -14.8125 +1000376 0.46194 -0.191342 -14.8125 +1000377 0.46194 0.191342 -14.8125 +1000378 0.191342 0.46194 -14.8125 +1000379 -0.191342 0.46194 -14.6875 +1000380 -0.46194 0.191342 -14.6875 +1000381 -0.46194 -0.191342 -14.6875 +1000382 -0.191342 -0.46194 -14.6875 +1000383 0.191342 -0.46194 -14.6875 +1000384 0.46194 -0.191342 -14.6875 +1000385 0.46194 0.191342 -14.6875 +1000386 0.191342 0.46194 -14.6875 +1000387 -0.191342 0.46194 -14.5625 +1000388 -0.46194 0.191342 -14.5625 +1000389 -0.46194 -0.191342 -14.5625 +1000390 -0.191342 -0.46194 -14.5625 +1000391 0.191342 -0.46194 -14.5625 +1000392 0.46194 -0.191342 -14.5625 +1000393 0.46194 0.191342 -14.5625 +1000394 0.191342 0.46194 -14.5625 +1000395 -0.191342 0.46194 -14.4375 +1000396 -0.46194 0.191342 -14.4375 +1000397 -0.46194 -0.191342 -14.4375 +1000398 -0.191342 -0.46194 -14.4375 +1000399 0.191342 -0.46194 -14.4375 +1000400 0.46194 -0.191342 -14.4375 +1000401 0.46194 0.191342 -14.4375 +1000402 0.191342 0.46194 -14.4375 +1000403 -0.191342 0.46194 -14.3125 +1000404 -0.46194 0.191342 -14.3125 +1000405 -0.46194 -0.191342 -14.3125 +1000406 -0.191342 -0.46194 -14.3125 +1000407 0.191342 -0.46194 -14.3125 +1000408 0.46194 -0.191342 -14.3125 +1000409 0.46194 0.191342 -14.3125 +1000410 0.191342 0.46194 -14.3125 +1000411 -0.191342 0.46194 -14.1875 +1000412 -0.46194 0.191342 -14.1875 +1000413 -0.46194 -0.191342 -14.1875 +1000414 -0.191342 -0.46194 -14.1875 +1000415 0.191342 -0.46194 -14.1875 +1000416 0.46194 -0.191342 -14.1875 +1000417 0.46194 0.191342 -14.1875 +1000418 0.191342 0.46194 -14.1875 +1000419 -0.191342 0.46194 -14.0625 +1000420 -0.46194 0.191342 -14.0625 +1000421 -0.46194 -0.191342 -14.0625 +1000422 -0.191342 -0.46194 -14.0625 +1000423 0.191342 -0.46194 -14.0625 +1000424 0.46194 -0.191342 -14.0625 +1000425 0.46194 0.191342 -14.0625 +1000426 0.191342 0.46194 -14.0625 +1000427 -0.191342 0.46194 -13.9375 +1000428 -0.46194 0.191342 -13.9375 +1000429 -0.46194 -0.191342 -13.9375 +1000430 -0.191342 -0.46194 -13.9375 +1000431 0.191342 -0.46194 -13.9375 +1000432 0.46194 -0.191342 -13.9375 +1000433 0.46194 0.191342 -13.9375 +1000434 0.191342 0.46194 -13.9375 +1000435 -0.191342 0.46194 -13.8125 +1000436 -0.46194 0.191342 -13.8125 +1000437 -0.46194 -0.191342 -13.8125 +1000438 -0.191342 -0.46194 -13.8125 +1000439 0.191342 -0.46194 -13.8125 +1000440 0.46194 -0.191342 -13.8125 +1000441 0.46194 0.191342 -13.8125 +1000442 0.191342 0.46194 -13.8125 +1000443 -0.191342 0.46194 -13.6875 +1000444 -0.46194 0.191342 -13.6875 +1000445 -0.46194 -0.191342 -13.6875 +1000446 -0.191342 -0.46194 -13.6875 +1000447 0.191342 -0.46194 -13.6875 +1000448 0.46194 -0.191342 -13.6875 +1000449 0.46194 0.191342 -13.6875 +1000450 0.191342 0.46194 -13.6875 +1000451 -0.191342 0.46194 -13.5625 +1000452 -0.46194 0.191342 -13.5625 +1000453 -0.46194 -0.191342 -13.5625 +1000454 -0.191342 -0.46194 -13.5625 +1000455 0.191342 -0.46194 -13.5625 +1000456 0.46194 -0.191342 -13.5625 +1000457 0.46194 0.191342 -13.5625 +1000458 0.191342 0.46194 -13.5625 +1000459 -0.191342 0.46194 -13.4375 +1000460 -0.46194 0.191342 -13.4375 +1000461 -0.46194 -0.191342 -13.4375 +1000462 -0.191342 -0.46194 -13.4375 +1000463 0.191342 -0.46194 -13.4375 +1000464 0.46194 -0.191342 -13.4375 +1000465 0.46194 0.191342 -13.4375 +1000466 0.191342 0.46194 -13.4375 +1000467 -0.191342 0.46194 -13.3125 +1000468 -0.46194 0.191342 -13.3125 +1000469 -0.46194 -0.191342 -13.3125 +1000470 -0.191342 -0.46194 -13.3125 +1000471 0.191342 -0.46194 -13.3125 +1000472 0.46194 -0.191342 -13.3125 +1000473 0.46194 0.191342 -13.3125 +1000474 0.191342 0.46194 -13.3125 +1000475 -0.191342 0.46194 -13.1875 +1000476 -0.46194 0.191342 -13.1875 +1000477 -0.46194 -0.191342 -13.1875 +1000478 -0.191342 -0.46194 -13.1875 +1000479 0.191342 -0.46194 -13.1875 +1000480 0.46194 -0.191342 -13.1875 +1000481 0.46194 0.191342 -13.1875 +1000482 0.191342 0.46194 -13.1875 +1000483 -0.191342 0.46194 -13.0625 +1000484 -0.46194 0.191342 -13.0625 +1000485 -0.46194 -0.191342 -13.0625 +1000486 -0.191342 -0.46194 -13.0625 +1000487 0.191342 -0.46194 -13.0625 +1000488 0.46194 -0.191342 -13.0625 +1000489 0.46194 0.191342 -13.0625 +1000490 0.191342 0.46194 -13.0625 +1000491 -0.191342 0.46194 -12.9375 +1000492 -0.46194 0.191342 -12.9375 +1000493 -0.46194 -0.191342 -12.9375 +1000494 -0.191342 -0.46194 -12.9375 +1000495 0.191342 -0.46194 -12.9375 +1000496 0.46194 -0.191342 -12.9375 +1000497 0.46194 0.191342 -12.9375 +1000498 0.191342 0.46194 -12.9375 +1000499 -0.191342 0.46194 -12.8125 +1000500 -0.46194 0.191342 -12.8125 +1000501 -0.46194 -0.191342 -12.8125 +1000502 -0.191342 -0.46194 -12.8125 +1000503 0.191342 -0.46194 -12.8125 +1000504 0.46194 -0.191342 -12.8125 +1000505 0.46194 0.191342 -12.8125 +1000506 0.191342 0.46194 -12.8125 +1000507 -0.191342 0.46194 -12.6875 +1000508 -0.46194 0.191342 -12.6875 +1000509 -0.46194 -0.191342 -12.6875 +1000510 -0.191342 -0.46194 -12.6875 +1000511 0.191342 -0.46194 -12.6875 +1000512 0.46194 -0.191342 -12.6875 +1000513 0.46194 0.191342 -12.6875 +1000514 0.191342 0.46194 -12.6875 +1000515 -0.191342 0.46194 -12.5625 +1000516 -0.46194 0.191342 -12.5625 +1000517 -0.46194 -0.191342 -12.5625 +1000518 -0.191342 -0.46194 -12.5625 +1000519 0.191342 -0.46194 -12.5625 +1000520 0.46194 -0.191342 -12.5625 +1000521 0.46194 0.191342 -12.5625 +1000522 0.191342 0.46194 -12.5625 +1000523 -0.191342 0.46194 -12.4375 +1000524 -0.46194 0.191342 -12.4375 +1000525 -0.46194 -0.191342 -12.4375 +1000526 -0.191342 -0.46194 -12.4375 +1000527 0.191342 -0.46194 -12.4375 +1000528 0.46194 -0.191342 -12.4375 +1000529 0.46194 0.191342 -12.4375 +1000530 0.191342 0.46194 -12.4375 +1000531 -0.191342 0.46194 -12.3125 +1000532 -0.46194 0.191342 -12.3125 +1000533 -0.46194 -0.191342 -12.3125 +1000534 -0.191342 -0.46194 -12.3125 +1000535 0.191342 -0.46194 -12.3125 +1000536 0.46194 -0.191342 -12.3125 +1000537 0.46194 0.191342 -12.3125 +1000538 0.191342 0.46194 -12.3125 +1000539 -0.191342 0.46194 -12.1875 +1000540 -0.46194 0.191342 -12.1875 +1000541 -0.46194 -0.191342 -12.1875 +1000542 -0.191342 -0.46194 -12.1875 +1000543 0.191342 -0.46194 -12.1875 +1000544 0.46194 -0.191342 -12.1875 +1000545 0.46194 0.191342 -12.1875 +1000546 0.191342 0.46194 -12.1875 +1000547 -0.191342 0.46194 -12.0625 +1000548 -0.46194 0.191342 -12.0625 +1000549 -0.46194 -0.191342 -12.0625 +1000550 -0.191342 -0.46194 -12.0625 +1000551 0.191342 -0.46194 -12.0625 +1000552 0.46194 -0.191342 -12.0625 +1000553 0.46194 0.191342 -12.0625 +1000554 0.191342 0.46194 -12.0625 +1000555 -0.191342 0.46194 -11.9375 +1000556 -0.46194 0.191342 -11.9375 +1000557 -0.46194 -0.191342 -11.9375 +1000558 -0.191342 -0.46194 -11.9375 +1000559 0.191342 -0.46194 -11.9375 +1000560 0.46194 -0.191342 -11.9375 +1000561 0.46194 0.191342 -11.9375 +1000562 0.191342 0.46194 -11.9375 +1000563 -0.191342 0.46194 -11.8125 +1000564 -0.46194 0.191342 -11.8125 +1000565 -0.46194 -0.191342 -11.8125 +1000566 -0.191342 -0.46194 -11.8125 +1000567 0.191342 -0.46194 -11.8125 +1000568 0.46194 -0.191342 -11.8125 +1000569 0.46194 0.191342 -11.8125 +1000570 0.191342 0.46194 -11.8125 +1000571 -0.191342 0.46194 -11.6875 +1000572 -0.46194 0.191342 -11.6875 +1000573 -0.46194 -0.191342 -11.6875 +1000574 -0.191342 -0.46194 -11.6875 +1000575 0.191342 -0.46194 -11.6875 +1000576 0.46194 -0.191342 -11.6875 +1000577 0.46194 0.191342 -11.6875 +1000578 0.191342 0.46194 -11.6875 +1000579 -0.191342 0.46194 -11.5625 +1000580 -0.46194 0.191342 -11.5625 +1000581 -0.46194 -0.191342 -11.5625 +1000582 -0.191342 -0.46194 -11.5625 +1000583 0.191342 -0.46194 -11.5625 +1000584 0.46194 -0.191342 -11.5625 +1000585 0.46194 0.191342 -11.5625 +1000586 0.191342 0.46194 -11.5625 +1000587 -0.191342 0.46194 -11.4375 +1000588 -0.46194 0.191342 -11.4375 +1000589 -0.46194 -0.191342 -11.4375 +1000590 -0.191342 -0.46194 -11.4375 +1000591 0.191342 -0.46194 -11.4375 +1000592 0.46194 -0.191342 -11.4375 +1000593 0.46194 0.191342 -11.4375 +1000594 0.191342 0.46194 -11.4375 +1000595 -0.191342 0.46194 -11.3125 +1000596 -0.46194 0.191342 -11.3125 +1000597 -0.46194 -0.191342 -11.3125 +1000598 -0.191342 -0.46194 -11.3125 +1000599 0.191342 -0.46194 -11.3125 +1000600 0.46194 -0.191342 -11.3125 +1000601 0.46194 0.191342 -11.3125 +1000602 0.191342 0.46194 -11.3125 +1000603 -0.191342 0.46194 -11.1875 +1000604 -0.46194 0.191342 -11.1875 +1000605 -0.46194 -0.191342 -11.1875 +1000606 -0.191342 -0.46194 -11.1875 +1000607 0.191342 -0.46194 -11.1875 +1000608 0.46194 -0.191342 -11.1875 +1000609 0.46194 0.191342 -11.1875 +1000610 0.191342 0.46194 -11.1875 +1000611 -0.191342 0.46194 -11.0625 +1000612 -0.46194 0.191342 -11.0625 +1000613 -0.46194 -0.191342 -11.0625 +1000614 -0.191342 -0.46194 -11.0625 +1000615 0.191342 -0.46194 -11.0625 +1000616 0.46194 -0.191342 -11.0625 +1000617 0.46194 0.191342 -11.0625 +1000618 0.191342 0.46194 -11.0625 +1000619 -0.191342 0.46194 -10.9375 +1000620 -0.46194 0.191342 -10.9375 +1000621 -0.46194 -0.191342 -10.9375 +1000622 -0.191342 -0.46194 -10.9375 +1000623 0.191342 -0.46194 -10.9375 +1000624 0.46194 -0.191342 -10.9375 +1000625 0.46194 0.191342 -10.9375 +1000626 0.191342 0.46194 -10.9375 +1000627 -0.191342 0.46194 -10.8125 +1000628 -0.46194 0.191342 -10.8125 +1000629 -0.46194 -0.191342 -10.8125 +1000630 -0.191342 -0.46194 -10.8125 +1000631 0.191342 -0.46194 -10.8125 +1000632 0.46194 -0.191342 -10.8125 +1000633 0.46194 0.191342 -10.8125 +1000634 0.191342 0.46194 -10.8125 +1000635 -0.191342 0.46194 -10.6875 +1000636 -0.46194 0.191342 -10.6875 +1000637 -0.46194 -0.191342 -10.6875 +1000638 -0.191342 -0.46194 -10.6875 +1000639 0.191342 -0.46194 -10.6875 +1000640 0.46194 -0.191342 -10.6875 +1000641 0.46194 0.191342 -10.6875 +1000642 0.191342 0.46194 -10.6875 +1000643 -0.191342 0.46194 -10.5625 +1000644 -0.46194 0.191342 -10.5625 +1000645 -0.46194 -0.191342 -10.5625 +1000646 -0.191342 -0.46194 -10.5625 +1000647 0.191342 -0.46194 -10.5625 +1000648 0.46194 -0.191342 -10.5625 +1000649 0.46194 0.191342 -10.5625 +1000650 0.191342 0.46194 -10.5625 +1000651 -0.191342 0.46194 -10.4375 +1000652 -0.46194 0.191342 -10.4375 +1000653 -0.46194 -0.191342 -10.4375 +1000654 -0.191342 -0.46194 -10.4375 +1000655 0.191342 -0.46194 -10.4375 +1000656 0.46194 -0.191342 -10.4375 +1000657 0.46194 0.191342 -10.4375 +1000658 0.191342 0.46194 -10.4375 +1000659 -0.191342 0.46194 -10.3125 +1000660 -0.46194 0.191342 -10.3125 +1000661 -0.46194 -0.191342 -10.3125 +1000662 -0.191342 -0.46194 -10.3125 +1000663 0.191342 -0.46194 -10.3125 +1000664 0.46194 -0.191342 -10.3125 +1000665 0.46194 0.191342 -10.3125 +1000666 0.191342 0.46194 -10.3125 +1000667 -0.191342 0.46194 -10.1875 +1000668 -0.46194 0.191342 -10.1875 +1000669 -0.46194 -0.191342 -10.1875 +1000670 -0.191342 -0.46194 -10.1875 +1000671 0.191342 -0.46194 -10.1875 +1000672 0.46194 -0.191342 -10.1875 +1000673 0.46194 0.191342 -10.1875 +1000674 0.191342 0.46194 -10.1875 +1000675 -0.191342 0.46194 -10.0625 +1000676 -0.46194 0.191342 -10.0625 +1000677 -0.46194 -0.191342 -10.0625 +1000678 -0.191342 -0.46194 -10.0625 +1000679 0.191342 -0.46194 -10.0625 +1000680 0.46194 -0.191342 -10.0625 +1000681 0.46194 0.191342 -10.0625 +1000682 0.191342 0.46194 -10.0625 +1000683 -0.191342 0.46194 -9.9375 +1000684 -0.46194 0.191342 -9.9375 +1000685 -0.46194 -0.191342 -9.9375 +1000686 -0.191342 -0.46194 -9.9375 +1000687 0.191342 -0.46194 -9.9375 +1000688 0.46194 -0.191342 -9.9375 +1000689 0.46194 0.191342 -9.9375 +1000690 0.191342 0.46194 -9.9375 +1000691 -0.191342 0.46194 -9.8125 +1000692 -0.46194 0.191342 -9.8125 +1000693 -0.46194 -0.191342 -9.8125 +1000694 -0.191342 -0.46194 -9.8125 +1000695 0.191342 -0.46194 -9.8125 +1000696 0.46194 -0.191342 -9.8125 +1000697 0.46194 0.191342 -9.8125 +1000698 0.191342 0.46194 -9.8125 +1000699 -0.191342 0.46194 -9.6875 +1000700 -0.46194 0.191342 -9.6875 +1000701 -0.46194 -0.191342 -9.6875 +1000702 -0.191342 -0.46194 -9.6875 +1000703 0.191342 -0.46194 -9.6875 +1000704 0.46194 -0.191342 -9.6875 +1000705 0.46194 0.191342 -9.6875 +1000706 0.191342 0.46194 -9.6875 +1000707 -0.191342 0.46194 -9.5625 +1000708 -0.46194 0.191342 -9.5625 +1000709 -0.46194 -0.191342 -9.5625 +1000710 -0.191342 -0.46194 -9.5625 +1000711 0.191342 -0.46194 -9.5625 +1000712 0.46194 -0.191342 -9.5625 +1000713 0.46194 0.191342 -9.5625 +1000714 0.191342 0.46194 -9.5625 +1000715 -0.191342 0.46194 -9.4375 +1000716 -0.46194 0.191342 -9.4375 +1000717 -0.46194 -0.191342 -9.4375 +1000718 -0.191342 -0.46194 -9.4375 +1000719 0.191342 -0.46194 -9.4375 +1000720 0.46194 -0.191342 -9.4375 +1000721 0.46194 0.191342 -9.4375 +1000722 0.191342 0.46194 -9.4375 +1000723 -0.191342 0.46194 -9.3125 +1000724 -0.46194 0.191342 -9.3125 +1000725 -0.46194 -0.191342 -9.3125 +1000726 -0.191342 -0.46194 -9.3125 +1000727 0.191342 -0.46194 -9.3125 +1000728 0.46194 -0.191342 -9.3125 +1000729 0.46194 0.191342 -9.3125 +1000730 0.191342 0.46194 -9.3125 +1000731 -0.191342 0.46194 -9.1875 +1000732 -0.46194 0.191342 -9.1875 +1000733 -0.46194 -0.191342 -9.1875 +1000734 -0.191342 -0.46194 -9.1875 +1000735 0.191342 -0.46194 -9.1875 +1000736 0.46194 -0.191342 -9.1875 +1000737 0.46194 0.191342 -9.1875 +1000738 0.191342 0.46194 -9.1875 +1000739 -0.191342 0.46194 -9.0625 +1000740 -0.46194 0.191342 -9.0625 +1000741 -0.46194 -0.191342 -9.0625 +1000742 -0.191342 -0.46194 -9.0625 +1000743 0.191342 -0.46194 -9.0625 +1000744 0.46194 -0.191342 -9.0625 +1000745 0.46194 0.191342 -9.0625 +1000746 0.191342 0.46194 -9.0625 +1000747 -0.191342 0.46194 -8.9375 +1000748 -0.46194 0.191342 -8.9375 +1000749 -0.46194 -0.191342 -8.9375 +1000750 -0.191342 -0.46194 -8.9375 +1000751 0.191342 -0.46194 -8.9375 +1000752 0.46194 -0.191342 -8.9375 +1000753 0.46194 0.191342 -8.9375 +1000754 0.191342 0.46194 -8.9375 +1000755 -0.191342 0.46194 -8.8125 +1000756 -0.46194 0.191342 -8.8125 +1000757 -0.46194 -0.191342 -8.8125 +1000758 -0.191342 -0.46194 -8.8125 +1000759 0.191342 -0.46194 -8.8125 +1000760 0.46194 -0.191342 -8.8125 +1000761 0.46194 0.191342 -8.8125 +1000762 0.191342 0.46194 -8.8125 +1000763 -0.191342 0.46194 -8.6875 +1000764 -0.46194 0.191342 -8.6875 +1000765 -0.46194 -0.191342 -8.6875 +1000766 -0.191342 -0.46194 -8.6875 +1000767 0.191342 -0.46194 -8.6875 +1000768 0.46194 -0.191342 -8.6875 +1000769 0.46194 0.191342 -8.6875 +1000770 0.191342 0.46194 -8.6875 +1000771 -0.191342 0.46194 -8.5625 +1000772 -0.46194 0.191342 -8.5625 +1000773 -0.46194 -0.191342 -8.5625 +1000774 -0.191342 -0.46194 -8.5625 +1000775 0.191342 -0.46194 -8.5625 +1000776 0.46194 -0.191342 -8.5625 +1000777 0.46194 0.191342 -8.5625 +1000778 0.191342 0.46194 -8.5625 +1000779 -0.191342 0.46194 -8.4375 +1000780 -0.46194 0.191342 -8.4375 +1000781 -0.46194 -0.191342 -8.4375 +1000782 -0.191342 -0.46194 -8.4375 +1000783 0.191342 -0.46194 -8.4375 +1000784 0.46194 -0.191342 -8.4375 +1000785 0.46194 0.191342 -8.4375 +1000786 0.191342 0.46194 -8.4375 +1000787 -0.191342 0.46194 -8.3125 +1000788 -0.46194 0.191342 -8.3125 +1000789 -0.46194 -0.191342 -8.3125 +1000790 -0.191342 -0.46194 -8.3125 +1000791 0.191342 -0.46194 -8.3125 +1000792 0.46194 -0.191342 -8.3125 +1000793 0.46194 0.191342 -8.3125 +1000794 0.191342 0.46194 -8.3125 +1000795 -0.191342 0.46194 -8.1875 +1000796 -0.46194 0.191342 -8.1875 +1000797 -0.46194 -0.191342 -8.1875 +1000798 -0.191342 -0.46194 -8.1875 +1000799 0.191342 -0.46194 -8.1875 +1000800 0.46194 -0.191342 -8.1875 +1000801 0.46194 0.191342 -8.1875 +1000802 0.191342 0.46194 -8.1875 +1000803 -0.191342 0.46194 -8.0625 +1000804 -0.46194 0.191342 -8.0625 +1000805 -0.46194 -0.191342 -8.0625 +1000806 -0.191342 -0.46194 -8.0625 +1000807 0.191342 -0.46194 -8.0625 +1000808 0.46194 -0.191342 -8.0625 +1000809 0.46194 0.191342 -8.0625 +1000810 0.191342 0.46194 -8.0625 +1000811 -0.191342 0.46194 -7.9375 +1000812 -0.46194 0.191342 -7.9375 +1000813 -0.46194 -0.191342 -7.9375 +1000814 -0.191342 -0.46194 -7.9375 +1000815 0.191342 -0.46194 -7.9375 +1000816 0.46194 -0.191342 -7.9375 +1000817 0.46194 0.191342 -7.9375 +1000818 0.191342 0.46194 -7.9375 +1000819 -0.191342 0.46194 -7.8125 +1000820 -0.46194 0.191342 -7.8125 +1000821 -0.46194 -0.191342 -7.8125 +1000822 -0.191342 -0.46194 -7.8125 +1000823 0.191342 -0.46194 -7.8125 +1000824 0.46194 -0.191342 -7.8125 +1000825 0.46194 0.191342 -7.8125 +1000826 0.191342 0.46194 -7.8125 +1000827 -0.191342 0.46194 -7.6875 +1000828 -0.46194 0.191342 -7.6875 +1000829 -0.46194 -0.191342 -7.6875 +1000830 -0.191342 -0.46194 -7.6875 +1000831 0.191342 -0.46194 -7.6875 +1000832 0.46194 -0.191342 -7.6875 +1000833 0.46194 0.191342 -7.6875 +1000834 0.191342 0.46194 -7.6875 +1000835 -0.191342 0.46194 -7.5625 +1000836 -0.46194 0.191342 -7.5625 +1000837 -0.46194 -0.191342 -7.5625 +1000838 -0.191342 -0.46194 -7.5625 +1000839 0.191342 -0.46194 -7.5625 +1000840 0.46194 -0.191342 -7.5625 +1000841 0.46194 0.191342 -7.5625 +1000842 0.191342 0.46194 -7.5625 +1000843 -0.191342 0.46194 -7.4375 +1000844 -0.46194 0.191342 -7.4375 +1000845 -0.46194 -0.191342 -7.4375 +1000846 -0.191342 -0.46194 -7.4375 +1000847 0.191342 -0.46194 -7.4375 +1000848 0.46194 -0.191342 -7.4375 +1000849 0.46194 0.191342 -7.4375 +1000850 0.191342 0.46194 -7.4375 +1000851 -0.191342 0.46194 -7.3125 +1000852 -0.46194 0.191342 -7.3125 +1000853 -0.46194 -0.191342 -7.3125 +1000854 -0.191342 -0.46194 -7.3125 +1000855 0.191342 -0.46194 -7.3125 +1000856 0.46194 -0.191342 -7.3125 +1000857 0.46194 0.191342 -7.3125 +1000858 0.191342 0.46194 -7.3125 +1000859 -0.191342 0.46194 -7.1875 +1000860 -0.46194 0.191342 -7.1875 +1000861 -0.46194 -0.191342 -7.1875 +1000862 -0.191342 -0.46194 -7.1875 +1000863 0.191342 -0.46194 -7.1875 +1000864 0.46194 -0.191342 -7.1875 +1000865 0.46194 0.191342 -7.1875 +1000866 0.191342 0.46194 -7.1875 +1000867 -0.191342 0.46194 -7.0625 +1000868 -0.46194 0.191342 -7.0625 +1000869 -0.46194 -0.191342 -7.0625 +1000870 -0.191342 -0.46194 -7.0625 +1000871 0.191342 -0.46194 -7.0625 +1000872 0.46194 -0.191342 -7.0625 +1000873 0.46194 0.191342 -7.0625 +1000874 0.191342 0.46194 -7.0625 +1000875 -0.191342 0.46194 -6.9375 +1000876 -0.46194 0.191342 -6.9375 +1000877 -0.46194 -0.191342 -6.9375 +1000878 -0.191342 -0.46194 -6.9375 +1000879 0.191342 -0.46194 -6.9375 +1000880 0.46194 -0.191342 -6.9375 +1000881 0.46194 0.191342 -6.9375 +1000882 0.191342 0.46194 -6.9375 +1000883 -0.191342 0.46194 -6.8125 +1000884 -0.46194 0.191342 -6.8125 +1000885 -0.46194 -0.191342 -6.8125 +1000886 -0.191342 -0.46194 -6.8125 +1000887 0.191342 -0.46194 -6.8125 +1000888 0.46194 -0.191342 -6.8125 +1000889 0.46194 0.191342 -6.8125 +1000890 0.191342 0.46194 -6.8125 +1000891 -0.191342 0.46194 -6.6875 +1000892 -0.46194 0.191342 -6.6875 +1000893 -0.46194 -0.191342 -6.6875 +1000894 -0.191342 -0.46194 -6.6875 +1000895 0.191342 -0.46194 -6.6875 +1000896 0.46194 -0.191342 -6.6875 +1000897 0.46194 0.191342 -6.6875 +1000898 0.191342 0.46194 -6.6875 +1000899 -0.191342 0.46194 -6.5625 +1000900 -0.46194 0.191342 -6.5625 +1000901 -0.46194 -0.191342 -6.5625 +1000902 -0.191342 -0.46194 -6.5625 +1000903 0.191342 -0.46194 -6.5625 +1000904 0.46194 -0.191342 -6.5625 +1000905 0.46194 0.191342 -6.5625 +1000906 0.191342 0.46194 -6.5625 +1000907 -0.191342 0.46194 -6.4375 +1000908 -0.46194 0.191342 -6.4375 +1000909 -0.46194 -0.191342 -6.4375 +1000910 -0.191342 -0.46194 -6.4375 +1000911 0.191342 -0.46194 -6.4375 +1000912 0.46194 -0.191342 -6.4375 +1000913 0.46194 0.191342 -6.4375 +1000914 0.191342 0.46194 -6.4375 +1000915 -0.191342 0.46194 -6.3125 +1000916 -0.46194 0.191342 -6.3125 +1000917 -0.46194 -0.191342 -6.3125 +1000918 -0.191342 -0.46194 -6.3125 +1000919 0.191342 -0.46194 -6.3125 +1000920 0.46194 -0.191342 -6.3125 +1000921 0.46194 0.191342 -6.3125 +1000922 0.191342 0.46194 -6.3125 +1000923 -0.191342 0.46194 -6.1875 +1000924 -0.46194 0.191342 -6.1875 +1000925 -0.46194 -0.191342 -6.1875 +1000926 -0.191342 -0.46194 -6.1875 +1000927 0.191342 -0.46194 -6.1875 +1000928 0.46194 -0.191342 -6.1875 +1000929 0.46194 0.191342 -6.1875 +1000930 0.191342 0.46194 -6.1875 +1000931 -0.191342 0.46194 -6.0625 +1000932 -0.46194 0.191342 -6.0625 +1000933 -0.46194 -0.191342 -6.0625 +1000934 -0.191342 -0.46194 -6.0625 +1000935 0.191342 -0.46194 -6.0625 +1000936 0.46194 -0.191342 -6.0625 +1000937 0.46194 0.191342 -6.0625 +1000938 0.191342 0.46194 -6.0625 +1000939 -0.191342 0.46194 -5.9375 +1000940 -0.46194 0.191342 -5.9375 +1000941 -0.46194 -0.191342 -5.9375 +1000942 -0.191342 -0.46194 -5.9375 +1000943 0.191342 -0.46194 -5.9375 +1000944 0.46194 -0.191342 -5.9375 +1000945 0.46194 0.191342 -5.9375 +1000946 0.191342 0.46194 -5.9375 +1000947 -0.191342 0.46194 -5.8125 +1000948 -0.46194 0.191342 -5.8125 +1000949 -0.46194 -0.191342 -5.8125 +1000950 -0.191342 -0.46194 -5.8125 +1000951 0.191342 -0.46194 -5.8125 +1000952 0.46194 -0.191342 -5.8125 +1000953 0.46194 0.191342 -5.8125 +1000954 0.191342 0.46194 -5.8125 +1000955 -0.191342 0.46194 -5.6875 +1000956 -0.46194 0.191342 -5.6875 +1000957 -0.46194 -0.191342 -5.6875 +1000958 -0.191342 -0.46194 -5.6875 +1000959 0.191342 -0.46194 -5.6875 +1000960 0.46194 -0.191342 -5.6875 +1000961 0.46194 0.191342 -5.6875 +1000962 0.191342 0.46194 -5.6875 +1000963 -0.191342 0.46194 -5.5625 +1000964 -0.46194 0.191342 -5.5625 +1000965 -0.46194 -0.191342 -5.5625 +1000966 -0.191342 -0.46194 -5.5625 +1000967 0.191342 -0.46194 -5.5625 +1000968 0.46194 -0.191342 -5.5625 +1000969 0.46194 0.191342 -5.5625 +1000970 0.191342 0.46194 -5.5625 +1000971 -0.191342 0.46194 -5.4375 +1000972 -0.46194 0.191342 -5.4375 +1000973 -0.46194 -0.191342 -5.4375 +1000974 -0.191342 -0.46194 -5.4375 +1000975 0.191342 -0.46194 -5.4375 +1000976 0.46194 -0.191342 -5.4375 +1000977 0.46194 0.191342 -5.4375 +1000978 0.191342 0.46194 -5.4375 +1000979 -0.191342 0.46194 -5.3125 +1000980 -0.46194 0.191342 -5.3125 +1000981 -0.46194 -0.191342 -5.3125 +1000982 -0.191342 -0.46194 -5.3125 +1000983 0.191342 -0.46194 -5.3125 +1000984 0.46194 -0.191342 -5.3125 +1000985 0.46194 0.191342 -5.3125 +1000986 0.191342 0.46194 -5.3125 +1000987 -0.191342 0.46194 -5.1875 +1000988 -0.46194 0.191342 -5.1875 +1000989 -0.46194 -0.191342 -5.1875 +1000990 -0.191342 -0.46194 -5.1875 +1000991 0.191342 -0.46194 -5.1875 +1000992 0.46194 -0.191342 -5.1875 +1000993 0.46194 0.191342 -5.1875 +1000994 0.191342 0.46194 -5.1875 +1000995 -0.191342 0.46194 -5.0625 +1000996 -0.46194 0.191342 -5.0625 +1000997 -0.46194 -0.191342 -5.0625 +1000998 -0.191342 -0.46194 -5.0625 +1000999 0.191342 -0.46194 -5.0625 +1001000 0.46194 -0.191342 -5.0625 +1001001 0.46194 0.191342 -5.0625 +1001002 0.191342 0.46194 -5.0625 +1001003 -0.191342 0.46194 -4.9375 +1001004 -0.46194 0.191342 -4.9375 +1001005 -0.46194 -0.191342 -4.9375 +1001006 -0.191342 -0.46194 -4.9375 +1001007 0.191342 -0.46194 -4.9375 +1001008 0.46194 -0.191342 -4.9375 +1001009 0.46194 0.191342 -4.9375 +1001010 0.191342 0.46194 -4.9375 +1001011 -0.191342 0.46194 -4.8125 +1001012 -0.46194 0.191342 -4.8125 +1001013 -0.46194 -0.191342 -4.8125 +1001014 -0.191342 -0.46194 -4.8125 +1001015 0.191342 -0.46194 -4.8125 +1001016 0.46194 -0.191342 -4.8125 +1001017 0.46194 0.191342 -4.8125 +1001018 0.191342 0.46194 -4.8125 +1001019 -0.191342 0.46194 -4.6875 +1001020 -0.46194 0.191342 -4.6875 +1001021 -0.46194 -0.191342 -4.6875 +1001022 -0.191342 -0.46194 -4.6875 +1001023 0.191342 -0.46194 -4.6875 +1001024 0.46194 -0.191342 -4.6875 +1001025 0.46194 0.191342 -4.6875 +1001026 0.191342 0.46194 -4.6875 +1001027 -0.191342 0.46194 -4.5625 +1001028 -0.46194 0.191342 -4.5625 +1001029 -0.46194 -0.191342 -4.5625 +1001030 -0.191342 -0.46194 -4.5625 +1001031 0.191342 -0.46194 -4.5625 +1001032 0.46194 -0.191342 -4.5625 +1001033 0.46194 0.191342 -4.5625 +1001034 0.191342 0.46194 -4.5625 +1001035 -0.191342 0.46194 -4.4375 +1001036 -0.46194 0.191342 -4.4375 +1001037 -0.46194 -0.191342 -4.4375 +1001038 -0.191342 -0.46194 -4.4375 +1001039 0.191342 -0.46194 -4.4375 +1001040 0.46194 -0.191342 -4.4375 +1001041 0.46194 0.191342 -4.4375 +1001042 0.191342 0.46194 -4.4375 +1001043 -0.191342 0.46194 -4.3125 +1001044 -0.46194 0.191342 -4.3125 +1001045 -0.46194 -0.191342 -4.3125 +1001046 -0.191342 -0.46194 -4.3125 +1001047 0.191342 -0.46194 -4.3125 +1001048 0.46194 -0.191342 -4.3125 +1001049 0.46194 0.191342 -4.3125 +1001050 0.191342 0.46194 -4.3125 +1001051 -0.191342 0.46194 -4.1875 +1001052 -0.46194 0.191342 -4.1875 +1001053 -0.46194 -0.191342 -4.1875 +1001054 -0.191342 -0.46194 -4.1875 +1001055 0.191342 -0.46194 -4.1875 +1001056 0.46194 -0.191342 -4.1875 +1001057 0.46194 0.191342 -4.1875 +1001058 0.191342 0.46194 -4.1875 +1001059 -0.191342 0.46194 -4.0625 +1001060 -0.46194 0.191342 -4.0625 +1001061 -0.46194 -0.191342 -4.0625 +1001062 -0.191342 -0.46194 -4.0625 +1001063 0.191342 -0.46194 -4.0625 +1001064 0.46194 -0.191342 -4.0625 +1001065 0.46194 0.191342 -4.0625 +1001066 0.191342 0.46194 -4.0625 +1001067 -0.191342 0.46194 -3.9375 +1001068 -0.46194 0.191342 -3.9375 +1001069 -0.46194 -0.191342 -3.9375 +1001070 -0.191342 -0.46194 -3.9375 +1001071 0.191342 -0.46194 -3.9375 +1001072 0.46194 -0.191342 -3.9375 +1001073 0.46194 0.191342 -3.9375 +1001074 0.191342 0.46194 -3.9375 +1001075 -0.191342 0.46194 -3.8125 +1001076 -0.46194 0.191342 -3.8125 +1001077 -0.46194 -0.191342 -3.8125 +1001078 -0.191342 -0.46194 -3.8125 +1001079 0.191342 -0.46194 -3.8125 +1001080 0.46194 -0.191342 -3.8125 +1001081 0.46194 0.191342 -3.8125 +1001082 0.191342 0.46194 -3.8125 +1001083 -0.191342 0.46194 -3.6875 +1001084 -0.46194 0.191342 -3.6875 +1001085 -0.46194 -0.191342 -3.6875 +1001086 -0.191342 -0.46194 -3.6875 +1001087 0.191342 -0.46194 -3.6875 +1001088 0.46194 -0.191342 -3.6875 +1001089 0.46194 0.191342 -3.6875 +1001090 0.191342 0.46194 -3.6875 +1001091 -0.191342 0.46194 -3.5625 +1001092 -0.46194 0.191342 -3.5625 +1001093 -0.46194 -0.191342 -3.5625 +1001094 -0.191342 -0.46194 -3.5625 +1001095 0.191342 -0.46194 -3.5625 +1001096 0.46194 -0.191342 -3.5625 +1001097 0.46194 0.191342 -3.5625 +1001098 0.191342 0.46194 -3.5625 +1001099 -0.191342 0.46194 -3.4375 +1001100 -0.46194 0.191342 -3.4375 +1001101 -0.46194 -0.191342 -3.4375 +1001102 -0.191342 -0.46194 -3.4375 +1001103 0.191342 -0.46194 -3.4375 +1001104 0.46194 -0.191342 -3.4375 +1001105 0.46194 0.191342 -3.4375 +1001106 0.191342 0.46194 -3.4375 +1001107 -0.191342 0.46194 -3.3125 +1001108 -0.46194 0.191342 -3.3125 +1001109 -0.46194 -0.191342 -3.3125 +1001110 -0.191342 -0.46194 -3.3125 +1001111 0.191342 -0.46194 -3.3125 +1001112 0.46194 -0.191342 -3.3125 +1001113 0.46194 0.191342 -3.3125 +1001114 0.191342 0.46194 -3.3125 +1001115 -0.191342 0.46194 -3.1875 +1001116 -0.46194 0.191342 -3.1875 +1001117 -0.46194 -0.191342 -3.1875 +1001118 -0.191342 -0.46194 -3.1875 +1001119 0.191342 -0.46194 -3.1875 +1001120 0.46194 -0.191342 -3.1875 +1001121 0.46194 0.191342 -3.1875 +1001122 0.191342 0.46194 -3.1875 +1001123 -0.191342 0.46194 -3.0625 +1001124 -0.46194 0.191342 -3.0625 +1001125 -0.46194 -0.191342 -3.0625 +1001126 -0.191342 -0.46194 -3.0625 +1001127 0.191342 -0.46194 -3.0625 +1001128 0.46194 -0.191342 -3.0625 +1001129 0.46194 0.191342 -3.0625 +1001130 0.191342 0.46194 -3.0625 +1001131 -0.191342 0.46194 -2.9375 +1001132 -0.46194 0.191342 -2.9375 +1001133 -0.46194 -0.191342 -2.9375 +1001134 -0.191342 -0.46194 -2.9375 +1001135 0.191342 -0.46194 -2.9375 +1001136 0.46194 -0.191342 -2.9375 +1001137 0.46194 0.191342 -2.9375 +1001138 0.191342 0.46194 -2.9375 +1001139 -0.191342 0.46194 -2.8125 +1001140 -0.46194 0.191342 -2.8125 +1001141 -0.46194 -0.191342 -2.8125 +1001142 -0.191342 -0.46194 -2.8125 +1001143 0.191342 -0.46194 -2.8125 +1001144 0.46194 -0.191342 -2.8125 +1001145 0.46194 0.191342 -2.8125 +1001146 0.191342 0.46194 -2.8125 +1001147 -0.191342 0.46194 -2.6875 +1001148 -0.46194 0.191342 -2.6875 +1001149 -0.46194 -0.191342 -2.6875 +1001150 -0.191342 -0.46194 -2.6875 +1001151 0.191342 -0.46194 -2.6875 +1001152 0.46194 -0.191342 -2.6875 +1001153 0.46194 0.191342 -2.6875 +1001154 0.191342 0.46194 -2.6875 +1001155 -0.191342 0.46194 -2.5625 +1001156 -0.46194 0.191342 -2.5625 +1001157 -0.46194 -0.191342 -2.5625 +1001158 -0.191342 -0.46194 -2.5625 +1001159 0.191342 -0.46194 -2.5625 +1001160 0.46194 -0.191342 -2.5625 +1001161 0.46194 0.191342 -2.5625 +1001162 0.191342 0.46194 -2.5625 +1001163 -0.191342 0.46194 -2.4375 +1001164 -0.46194 0.191342 -2.4375 +1001165 -0.46194 -0.191342 -2.4375 +1001166 -0.191342 -0.46194 -2.4375 +1001167 0.191342 -0.46194 -2.4375 +1001168 0.46194 -0.191342 -2.4375 +1001169 0.46194 0.191342 -2.4375 +1001170 0.191342 0.46194 -2.4375 +1001171 -0.191342 0.46194 -2.3125 +1001172 -0.46194 0.191342 -2.3125 +1001173 -0.46194 -0.191342 -2.3125 +1001174 -0.191342 -0.46194 -2.3125 +1001175 0.191342 -0.46194 -2.3125 +1001176 0.46194 -0.191342 -2.3125 +1001177 0.46194 0.191342 -2.3125 +1001178 0.191342 0.46194 -2.3125 +1001179 -0.191342 0.46194 -2.1875 +1001180 -0.46194 0.191342 -2.1875 +1001181 -0.46194 -0.191342 -2.1875 +1001182 -0.191342 -0.46194 -2.1875 +1001183 0.191342 -0.46194 -2.1875 +1001184 0.46194 -0.191342 -2.1875 +1001185 0.46194 0.191342 -2.1875 +1001186 0.191342 0.46194 -2.1875 +1001187 -0.191342 0.46194 -2.0625 +1001188 -0.46194 0.191342 -2.0625 +1001189 -0.46194 -0.191342 -2.0625 +1001190 -0.191342 -0.46194 -2.0625 +1001191 0.191342 -0.46194 -2.0625 +1001192 0.46194 -0.191342 -2.0625 +1001193 0.46194 0.191342 -2.0625 +1001194 0.191342 0.46194 -2.0625 +1001195 -0.191342 0.46194 -1.9375 +1001196 -0.46194 0.191342 -1.9375 +1001197 -0.46194 -0.191342 -1.9375 +1001198 -0.191342 -0.46194 -1.9375 +1001199 0.191342 -0.46194 -1.9375 +1001200 0.46194 -0.191342 -1.9375 +1001201 0.46194 0.191342 -1.9375 +1001202 0.191342 0.46194 -1.9375 +1001203 -0.191342 0.46194 -1.8125 +1001204 -0.46194 0.191342 -1.8125 +1001205 -0.46194 -0.191342 -1.8125 +1001206 -0.191342 -0.46194 -1.8125 +1001207 0.191342 -0.46194 -1.8125 +1001208 0.46194 -0.191342 -1.8125 +1001209 0.46194 0.191342 -1.8125 +1001210 0.191342 0.46194 -1.8125 +1001211 -0.191342 0.46194 -1.6875 +1001212 -0.46194 0.191342 -1.6875 +1001213 -0.46194 -0.191342 -1.6875 +1001214 -0.191342 -0.46194 -1.6875 +1001215 0.191342 -0.46194 -1.6875 +1001216 0.46194 -0.191342 -1.6875 +1001217 0.46194 0.191342 -1.6875 +1001218 0.191342 0.46194 -1.6875 +1001219 -0.191342 0.46194 -1.5625 +1001220 -0.46194 0.191342 -1.5625 +1001221 -0.46194 -0.191342 -1.5625 +1001222 -0.191342 -0.46194 -1.5625 +1001223 0.191342 -0.46194 -1.5625 +1001224 0.46194 -0.191342 -1.5625 +1001225 0.46194 0.191342 -1.5625 +1001226 0.191342 0.46194 -1.5625 +1001227 -0.191342 0.46194 -1.4375 +1001228 -0.46194 0.191342 -1.4375 +1001229 -0.46194 -0.191342 -1.4375 +1001230 -0.191342 -0.46194 -1.4375 +1001231 0.191342 -0.46194 -1.4375 +1001232 0.46194 -0.191342 -1.4375 +1001233 0.46194 0.191342 -1.4375 +1001234 0.191342 0.46194 -1.4375 +1001235 -0.191342 0.46194 -1.3125 +1001236 -0.46194 0.191342 -1.3125 +1001237 -0.46194 -0.191342 -1.3125 +1001238 -0.191342 -0.46194 -1.3125 +1001239 0.191342 -0.46194 -1.3125 +1001240 0.46194 -0.191342 -1.3125 +1001241 0.46194 0.191342 -1.3125 +1001242 0.191342 0.46194 -1.3125 +1001243 -0.191342 0.46194 -1.1875 +1001244 -0.46194 0.191342 -1.1875 +1001245 -0.46194 -0.191342 -1.1875 +1001246 -0.191342 -0.46194 -1.1875 +1001247 0.191342 -0.46194 -1.1875 +1001248 0.46194 -0.191342 -1.1875 +1001249 0.46194 0.191342 -1.1875 +1001250 0.191342 0.46194 -1.1875 +1001251 -0.191342 0.46194 -1.0625 +1001252 -0.46194 0.191342 -1.0625 +1001253 -0.46194 -0.191342 -1.0625 +1001254 -0.191342 -0.46194 -1.0625 +1001255 0.191342 -0.46194 -1.0625 +1001256 0.46194 -0.191342 -1.0625 +1001257 0.46194 0.191342 -1.0625 +1001258 0.191342 0.46194 -1.0625 +1001259 -0.191342 0.46194 -0.9375 +1001260 -0.46194 0.191342 -0.9375 +1001261 -0.46194 -0.191342 -0.9375 +1001262 -0.191342 -0.46194 -0.9375 +1001263 0.191342 -0.46194 -0.9375 +1001264 0.46194 -0.191342 -0.9375 +1001265 0.46194 0.191342 -0.9375 +1001266 0.191342 0.46194 -0.9375 +1001267 -0.191342 0.46194 -0.8125 +1001268 -0.46194 0.191342 -0.8125 +1001269 -0.46194 -0.191342 -0.8125 +1001270 -0.191342 -0.46194 -0.8125 +1001271 0.191342 -0.46194 -0.8125 +1001272 0.46194 -0.191342 -0.8125 +1001273 0.46194 0.191342 -0.8125 +1001274 0.191342 0.46194 -0.8125 +1001275 -0.191342 0.46194 -0.6875 +1001276 -0.46194 0.191342 -0.6875 +1001277 -0.46194 -0.191342 -0.6875 +1001278 -0.191342 -0.46194 -0.6875 +1001279 0.191342 -0.46194 -0.6875 +1001280 0.46194 -0.191342 -0.6875 +1001281 0.46194 0.191342 -0.6875 +1001282 0.191342 0.46194 -0.6875 +1001283 -0.191342 0.46194 -0.5625 +1001284 -0.46194 0.191342 -0.5625 +1001285 -0.46194 -0.191342 -0.5625 +1001286 -0.191342 -0.46194 -0.5625 +1001287 0.191342 -0.46194 -0.5625 +1001288 0.46194 -0.191342 -0.5625 +1001289 0.46194 0.191342 -0.5625 +1001290 0.191342 0.46194 -0.5625 +1001291 -0.191342 0.46194 -0.4375 +1001292 -0.46194 0.191342 -0.4375 +1001293 -0.46194 -0.191342 -0.4375 +1001294 -0.191342 -0.46194 -0.4375 +1001295 0.191342 -0.46194 -0.4375 +1001296 0.46194 -0.191342 -0.4375 +1001297 0.46194 0.191342 -0.4375 +1001298 0.191342 0.46194 -0.4375 +1001299 -0.191342 0.46194 -0.3125 +1001300 -0.46194 0.191342 -0.3125 +1001301 -0.46194 -0.191342 -0.3125 +1001302 -0.191342 -0.46194 -0.3125 +1001303 0.191342 -0.46194 -0.3125 +1001304 0.46194 -0.191342 -0.3125 +1001305 0.46194 0.191342 -0.3125 +1001306 0.191342 0.46194 -0.3125 +1001307 -0.191342 0.46194 -0.1875 +1001308 -0.46194 0.191342 -0.1875 +1001309 -0.46194 -0.191342 -0.1875 +1001310 -0.191342 -0.46194 -0.1875 +1001311 0.191342 -0.46194 -0.1875 +1001312 0.46194 -0.191342 -0.1875 +1001313 0.46194 0.191342 -0.1875 +1001314 0.191342 0.46194 -0.1875 +1001315 -0.191342 0.46194 -0.0625 +1001316 -0.46194 0.191342 -0.0625 +1001317 -0.46194 -0.191342 -0.0625 +1001318 -0.191342 -0.46194 -0.0625 +1001319 0.191342 -0.46194 -0.0625 +1001320 0.46194 -0.191342 -0.0625 +1001321 0.46194 0.191342 -0.0625 +1001322 0.191342 0.46194 -0.0625 diff --git a/pyVista/meshcreator-Centrifuge.py b/pyVista/meshcreator-Centrifuge.py new file mode 100644 index 0000000..73e39e4 --- /dev/null +++ b/pyVista/meshcreator-Centrifuge.py @@ -0,0 +1,87 @@ +#%% +import numpy as np +import pyvista as pv +import time +#%% +time1 = time.time() +# create a strucrured grid +# xwidth = 500 +# ywidth = 500 +# zwidth = 500 +# eps = 1e-6 + +# Create Davis Centrifuge container +xwidth = 0.6 +ywidth = 1.7 +zwidth = 0.7 +eps = 1e-6 + +# Xmeshsize, Ymeshsize, Zmeshsize = (2.5, 2.5, 2.5) +# Xmeshsize, Ymeshsize, Zmeshsize = (5, 5, 5) + +# Davis Centrifuge container +Xmeshsize, Ymeshsize, Zmeshsize = (0.025, 0.025, 0.025) + +x = np.arange(-xwidth/2., xwidth/2.+eps, Xmeshsize) +y = np.arange(-ywidth/2., ywidth/2.+eps, Ymeshsize) +z = np.arange(-zwidth, 0+eps, Zmeshsize) + +x, y, z = np.meshgrid(x, y, z) + +mesh = pv.StructuredGrid(x, y, z) + + +PMLthickness = 5.0 +PMLXmeshsize, PMLYmeshsize, PMLZmeshsize = (2.5, 2.5, 2.5) + +# Davis centrifuge containes +PMLthickness = 0.07 +PMLXmeshsize, PMLYmeshsize, PMLZmeshsize = (0.035, 0.035, 0.035) + +# sperate PML layer +xmin = -xwidth/2. + PMLthickness +xmax = xwidth/2. - PMLthickness +ymin = -ywidth/2. + PMLthickness +ymax = ywidth/2. - PMLthickness +zmin = -zwidth + PMLthickness +zmax = 0 +cube = pv.Cube(bounds=[xmin,xmax,ymin,ymax,zmin,zmax]) +PML = mesh.clip_box(cube,invert=True,crinkle=True,progress_bar = True) +PML.cell_data["PML"] = np.ones(PML.n_cells,dtype=bool) + + +# seperate regular mesh +reg = mesh.clip_box(cube,invert=False,crinkle=True,progress_bar = True) +reg.cell_data["PML"] = np.zeros(reg.n_cells,dtype=bool) + +numreg = reg.n_cells +numpml = PML.n_cells + +mesh = reg.merge(PML,merge_points=False,tolerance=1e-6,progress_bar = True) +print(mesh.n_cells,mesh.n_points) +mapping = mesh.clean(produce_merge_map=True)["PointMergeMap"] + +regindicies = np.where(mapping[PML.n_points:]0,True,False) +pl = pv.Plotter() +pl.add_mesh(mesh,scalars="boundary",show_edges=True, style="surface", opacity=1.0, color="#2ca02c") +pl.show() + + +# pl.add_mesh(drm, show_edges=False, style="surface", opacity=1.0, color="#2ca02c") + + + +# %% diff --git a/pyVista/meshcreator.py b/pyVista/meshcreator.py new file mode 100644 index 0000000..988c2d4 --- /dev/null +++ b/pyVista/meshcreator.py @@ -0,0 +1,76 @@ +#%% +import numpy as np +import pyvista as pv +import time +#%% +time1 = time.time() +# create a strucrured grid +xwidth = 500 +ywidth = 500 +zwidth = 500 +eps = 1e-6 + +# Xmeshsize, Ymeshsize, Zmeshsize = (2.5, 2.5, 2.5) +Xmeshsize, Ymeshsize, Zmeshsize = (25, 25, 25) + +x = np.arange(-xwidth/2., xwidth/2.+eps, Xmeshsize) +y = np.arange(-ywidth/2., ywidth/2.+eps, Ymeshsize) +z = np.arange(-zwidth, 0+eps, Zmeshsize) + +x, y, z = np.meshgrid(x, y, z) + +mesh = pv.StructuredGrid(x, y, z) + +PMLthickness = 5.0 + +PMLXmeshsize, PMLYmeshsize, PMLZmeshsize = (2.5, 2.5, 2.5) + +# sperate PML layer +xmin = -xwidth/2. + PMLthickness +xmax = xwidth/2. - PMLthickness +ymin = -ywidth/2. + PMLthickness +ymax = ywidth/2. - PMLthickness +zmin = -zwidth + PMLthickness +zmax = 0 +cube = pv.Cube(bounds=[xmin,xmax,ymin,ymax,zmin,zmax]) +PML = mesh.clip_box(cube,invert=True,crinkle=True,progress_bar = True) +PML.cell_data["PML"] = np.ones(PML.n_cells,dtype=bool) + + +# seperate regular mesh +reg = mesh.clip_box(cube,invert=False,crinkle=True,progress_bar = True) +reg.cell_data["PML"] = np.zeros(reg.n_cells,dtype=bool) + +numreg = reg.n_cells +numpml = PML.n_cells + +mesh = reg.merge(PML,merge_points=False,tolerance=1e-6,progress_bar = True) +print(mesh.n_cells,mesh.n_points) +mapping = mesh.clean(produce_merge_map=True)["PointMergeMap"] + + +regindicies = np.where(mapping[PML.n_points:]0,True,False) +pl = pv.Plotter() +pl.add_mesh(mesh,scalars="boundary",show_edges=True,opacity=1.0) +pl.show() +# %% diff --git a/pyVista/postprocess_Stress.py b/pyVista/postprocess_Stress.py new file mode 100644 index 0000000..34075d8 --- /dev/null +++ b/pyVista/postprocess_Stress.py @@ -0,0 +1,207 @@ +# %% +import numpy as np +import pandas as pd +import pyvista as pv +import os +import matplotlib.pyplot as plt +from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutor +# ================================================================== +# load nodes and elements dataframes +# ================================================================== +nodes = pd.read_hdf("nodes.h5") +elements = pd.read_hdf("elements.h5") +pv.set_jupyter_backend('client') + +# ================================================================== +# create PML mesh +# ================================================================== +nodes_in_mesh = nodes[nodes['Domain'] == "pml"] +elements_in_mesh = elements[elements['Domain'] == "pml"] +nodetoint = dict(zip(nodes_in_mesh['tag'], range(nodes_in_mesh.shape[0]))) +cells = elements_in_mesh[['node1', 'node2', 'node3', 'node4', 'node5', 'node6', 'node7', 'node8']] +cells = cells.applymap(nodetoint.get) +cells = cells.to_numpy(dtype=int) +points = nodes_in_mesh[['x', 'y', 'z']].to_numpy(dtype=float) +celltypes = np.ones(cells.shape[0],dtype= int) * pv.CellType.HEXAHEDRON +cells = np.insert(cells, 0, 8, axis=1) +pmlgrid = pv.UnstructuredGrid(cells, celltypes.tolist(), points.tolist()) +pmlgrid = pmlgrid.clip_box([-100,100,-100,100,-40, 0 ], invert=False,crinkle=True) +pmlgrid.clear_data() + + +# ================================================================== +# create whole grid mesh +# ================================================================== + +nodes_in_mesh = nodes[nodes['Domain'] == "reg"] +elements_in_mesh = elements[elements['Domain'] == "reg"] +nodetoint = dict(zip(nodes_in_mesh['tag'], range(nodes_in_mesh.shape[0]))) +cells = elements_in_mesh[['node1', 'node2', 'node3', 'node4', 'node5', 'node6', 'node7', 'node8']] +cells = cells.applymap(nodetoint.get) +cells = cells.to_numpy(dtype=int) +points = nodes_in_mesh[['x', 'y', 'z']].to_numpy(dtype=float) +celltypes = np.ones(cells.shape[0],dtype= int) * pv.CellType.HEXAHEDRON +cells = np.insert(cells, 0, 8, axis=1) +grid = pv.UnstructuredGrid(cells, celltypes.tolist(), points.tolist()) + + +# ================================================================== +# create regular mesh +# ================================================================== +indexes = grid.find_cells_within_bounds([-37.4,37.4,-1.25,1.3,-77.4,5.0]) +reg = grid.extract_cells(indexes) + + + +# ================================================================== +# create DRM mesh +# ================================================================== +cube = pv.Cube(center=(0,0,0), x_length=80, y_length=80, z_length=55) +grid = grid.clip_box(cube,invert=False, crinkle=True) +cube = pv.Cube(center=(0,0,0), x_length=75, y_length=75, z_length=47.5) +drm = grid.clip_box(cube,invert=True, crinkle=True) +# indicies = drm.find_cells_within_bounds([-100,100,-1.25,1.3,-80,5.0]) +# drm = drm.extract_cells(indicies) +reg = grid.clip_box(cube,invert=False, crinkle=True) + +# ================================================================== +# create interface mesh +# ================================================================== +data = np.loadtxt("interfaceInfo.dat") +interface = pv.PolyData(data[:,1:4]) + + + +# create pile mesh +# ================================================================== + +zstart = -30 +zend = 20 +x = 0.0 +y = 0.0 +dz = 0.5 +pile = pv.PolyData() +for z in np.arange(zstart,zend,dz): + cube = pv.Cube(center=(x,y,z), x_length=0.5, y_length=0.5, z_length=dz) + pile = pile + cube +pile = pile.clip_box([-100,100,-100,100,-20, 20 ], invert=False,crinkle=True) +pile.clear_data() + + +# create big mass add the head of the pile +mass = pv.Cube(center=(0,0,zend+2.5), x_length=5, y_length=5, z_length=5) +mass = pv.Sphere(center=(0,0,zend+1.5), radius=2.5) + +# set the camera position and width of the view window the same for all plots +# ================================================================== +pl = pv.Plotter(off_screen=False,window_size=[600,600]) +pl.set_background('white') +# pl.set_position([0,0,0]) +# pl.set_window_size(1920,1080) +# pl.set_scale(1,1,1) +# pl.set_focus([0,0,0]) +# pl.camera_position = [(0, 0, 100), (0, 0, 0), (0, 1, 0)] +# pl.camera_set = True +# pl.camera = pl.camera +# pl.camera.zoom(1.5) +# matplotlib default color +# matplot lib defulat colors #1f77b4, #ff7f0e, #2ca02c, #d62728, #9467bd, #8c564b, #e377c2, #7f7f7f, #bcbd22, #17becf + + +pl.add_mesh(reg, show_edges=False, style="surface", opacity=0.7, color="#1f77b4") +pl.add_mesh(drm, show_edges=False, style="surface", opacity=1.0, color="#2ca02c") +pl.add_mesh(pmlgrid, show_edges=False, style="surface", opacity=1.0, color="#ff7f0e") +pl.add_mesh(interface, opacity=1.0, color="red", point_size=5) +pl.add_mesh(pile, show_edges=False, style="surface", opacity=1.0, color="blue") +pl.add_mesh(mass, show_edges=False, style="surface", opacity=1.0, color="blue") +# adding legend +pl.add_legend(labels=[["Soil mesh", "#1f77b4"], ["DRM mesh", "#2ca02c"], ["PML mesh", "#ff7f0e"], ["Interface", "red"], ["Pile", "blue"]], border=True, bcolor="white", size=[0.3,0.3]) +pl.show() + + + +# # %% +# cube = pv.Cube(center=(0,0,30), x_length=20, y_length=20, z_length=60) +# # create a building mesh +# xrng = np.arange(-10, 10, 2.5, dtype=np.float32) +# yrng = np.arange(-10, 10, 2.5, dtype=np.float32) +# zrng = np.arange(0, 60, 5, dtype=np.float32) +# x, y, z = np.meshgrid(xrng, yrng, zrng, indexing='ij') +# cube = pv.StructuredGrid(x, y, z) + +# zrange = np.arange(0, 2.1, 2., dtype=np.float32) +# x,y,z = np.meshgrid(xrng,yrng,zrange,indexing='ij') +# floor =pv.StructuredGrid(x,y,z) + +# pl = pv.Plotter(off_screen=False) +# pl.set_background('white') +# # pl.add_mesh(cube, show_edges=True, style="wireframe", opacity=1.0, color="green", line_width=0.5) +# # pl.add_mesh(reg, show_edges=True, style="surface", opacity=1.0, color="#1f77b4") + +# # make the points of the rego border red + +# # crere columns of the building +# X , Y = np.meshgrid(xrng,yrng,indexing='ij') +# z = [0,55] +# for x in xrng[::2]: +# for y in yrng[::2]: +# clindeer = pv.Cylinder(center=(x,y,55/2.), direction=(0,0,1), radius=0.5, height=55) +# # pl.add_mesh(pv.Line([x,y,z[0]],[x,y,z[1]]), color="blue", line_width=2.0) +# pl.add_mesh(clindeer, show_edges=False, style="surface", opacity=1.0, color="red") + +# for i in range(1,11): +# f = floor.copy() +# f.points[:,2] += 5 + 5 * i +# pl.add_mesh(f, show_edges=False, style="surface", opacity=1.0) + + + +# xrng = np.arange(-60, 40.1, 20, dtype=np.float32) +# yrng = np.arange(-60, 40.1, 20, dtype=np.float32) +# zrng = np.arange(-60, 0.1, 20, dtype=np.float32) +# x, y, z = np.meshgrid(xrng, yrng, zrng, indexing='ij') +# reg = pv.StructuredGrid(x, y, z) +# pl.add_mesh(reg, show_edges=False, style="Surface", opacity=0.25, color="purple",show_vertices=False) +# pl.add_mesh(reg.extract_feature_edges()) +# # shrink the rego mesh +# xrng = np.arange(-30, 10.1, 10, dtype=np.float32) +# yrng = np.arange(-30, 10.1, 10, dtype=np.float32) +# zrng = np.arange(-30, 0.1, 10, dtype=np.float32) +# x, y, z = np.meshgrid(xrng, yrng, zrng, indexing='ij') +# reg2 = pv.StructuredGrid(x, y, z) +# pl.add_mesh(reg2, show_edges=False, style="Surface", opacity=0.5, color="#1f77b4",show_vertices=False,smooth_shading=True, split_sharp_edges=True) +# # show outer boundary +# surf = reg2.extract_surface() +# pl.add_mesh(surf, show_edges=False, style="points", opacity=1.0, color="red", point_size=5) +# pl.enable_ssao(kernel_size=512) + +# # adding legend +# pl.add_legend(labels=[["DRM Boundary", "#1f77b4"], ["HDF5 Container","pink"]], border=False, bcolor="white", size=[0.3,0.3],face="rectangle") + + +# # increase render quality +# pl.enable_eye_dome_lighting() +# pl.renderer.use_depth_peeling=True +# pl.save_graphic("building.pdf") +# pl.screenshot("building.png") +# pl.show() + +# # +# # %% +# #================================================================== +# from pyvista import examples +# structure, air = examples.download_electronics_cooling() +# # view plot +# jpeg = pv.read("build.png") +# # view the plot +# pl = pv.Plotter(off_screen=False) +# pl.add_mesh(reg, show_edges=True, style="surface", opacity=1.0, color="#1f77b4") +# pl.enable_ssao(kernel_size=128) +# pl.show() + + + + +# # %% + +# %% diff --git a/pyVista/scene-export-centrifuge.html b/pyVista/scene-export-centrifuge.html new file mode 100644 index 0000000..f55fe52 --- /dev/null +++ b/pyVista/scene-export-centrifuge.html @@ -0,0 +1,19 @@ + + + + + + + +
+ + + + diff --git a/pyVista/scene-export.html b/pyVista/scene-export.html new file mode 100644 index 0000000..530580a --- /dev/null +++ b/pyVista/scene-export.html @@ -0,0 +1,19 @@ + + + + + + + +
+ + + + From f0b8f82e25b540b6c7f0919f6f58b7a169db7d62 Mon Sep 17 00:00:00 2001 From: Pedro Arduino Date: Tue, 23 Apr 2024 16:12:42 -0700 Subject: [PATCH 2/2] Adding a few files --- MeshGenerator/Partitioner/Partition.c | 50 ++++++++++++++++++++++++++ Presentations/3DModelSlides.pptx | Bin 0 -> 40795 bytes 2 files changed, 50 insertions(+) create mode 100644 MeshGenerator/Partitioner/Partition.c create mode 100644 Presentations/3DModelSlides.pptx diff --git a/MeshGenerator/Partitioner/Partition.c b/MeshGenerator/Partitioner/Partition.c new file mode 100644 index 0000000..e012dd0 --- /dev/null +++ b/MeshGenerator/Partitioner/Partition.c @@ -0,0 +1,50 @@ +#include +#include + + +__declspec(dllexport) int Partition(int ne, int nn, idx_t *eind, int nparts, idx_t *epart) +{ + idx_t nee = ne; + idx_t nnn = nn; + idx_t nnparts = nparts; + // create eptr array of idx_t with the number of elements + 1 + idx_t *eptr = (idx_t *)malloc((ne + 1) * sizeof(idx_t)); + eptr[0] = 0; + int j = 0; + for (int i = 1; i < ne + 1; i++) + { + j += 8; + eptr[i] = j; + } + + + // Create array of idx_t with the number of elements + 1 + idx_t *vwgt = NULL; + idx_t *vsize = NULL; + + // // define the number of common nodes + idx_t ncommon = 1; + + + + + // This is an array of size nparts that specifies the desired weight for each partition. The target partition + // weight for the ith partition is specified at tpwgts[i] (the numbering for the partitions starts from + // 0). The sum of the tpwgts[] entries must be 1.0. + real_t *tpwgts = NULL; + idx_t objval; + + // idx_t options[METIS_NOPTIONS] + idx_t *options = (idx_t *)malloc(METIS_NOPTIONS * sizeof(idx_t)); + METIS_SetDefaultOptions(options); + + // define the partition vector + + // print somthing + idx_t *npart = (idx_t *)malloc(nn * sizeof(idx_t)); + int res= METIS_PartMeshDual(&nee, &nnn, eptr, eind, vwgt, NULL, &ncommon, &nnparts, tpwgts, options, &objval, epart, npart); + return res; +} + + + diff --git a/Presentations/3DModelSlides.pptx b/Presentations/3DModelSlides.pptx new file mode 100644 index 0000000000000000000000000000000000000000..172d8f7c16ad88bd45055b22fb0f1c04229b6bc5 GIT binary patch literal 40795 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