Skip to content
Snippets Groups Projects
Metavoxel GPU Validation.ipynb 209 KiB
Newer Older
Amira Abdel-Rahman's avatar
Amira Abdel-Rahman committed
       "  2252.89,1446.71 2253.55,1446.71 2254.22,1446.71 2254.88,1446.71 2255.55,1446.71 2256.22,1446.71 2256.88,1446.71 2257.55,1446.71 2258.21,1446.71 2258.88,1446.71 \n",
       "  2259.54,1446.71 2260.21,1446.71 2260.88,1446.71 2261.54,1446.71 2262.21,1446.71 2262.87,1446.71 2263.54,1446.71 2264.21,1446.71 2264.87,1446.71 2265.54,1446.71 \n",
       "  2266.2,1446.71 2266.87,1446.71 2267.53,1446.71 2268.2,1446.71 2268.87,1446.71 2269.53,1446.71 2270.2,1446.71 2270.86,1446.71 2271.53,1446.71 2272.19,1446.71 \n",
       "  2272.86,1446.71 2273.53,1446.71 2274.19,1446.71 2274.86,1446.71 2275.52,1446.71 2276.19,1446.71 2276.86,1446.71 2277.52,1446.71 2278.19,1446.71 2278.85,1446.71 \n",
       "  2279.52,1446.71 2280.18,1446.71 2280.85,1446.71 2281.52,1446.71 2282.18,1446.71 2282.85,1446.71 2283.51,1446.71 2284.18,1446.71 2284.84,1446.71 2285.51,1446.71 \n",
       "  2286.18,1446.71 2286.84,1446.71 2287.51,1446.71 2288.17,1446.71 2288.84,1446.71 2289.51,1446.71 2290.17,1446.71 2290.84,1446.71 2291.5,1446.71 2292.17,1446.71 \n",
       "  2292.83,1446.71 \n",
       "  \"/>\n",
       "<path clip-path=\"url(#clip5500)\" d=\"\n",
       "M1853.56 312.204 L2280.76 312.204 L2280.76 130.764 L1853.56 130.764  Z\n",
       "  \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip5500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  1853.56,312.204 2280.76,312.204 2280.76,130.764 1853.56,130.764 1853.56,312.204 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip5500)\" style=\"stroke:#009af9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  1877.56,191.244 2021.56,191.244 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip5500)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 2045.56, 208.744)\" x=\"2045.56\" y=\"208.744\">Dynamic</text>\n",
       "</g>\n",
       "<polyline clip-path=\"url(#clip5500)\" style=\"stroke:#e26f46; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  1877.56,251.724 2021.56,251.724 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip5500)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 2045.56, 269.224)\" x=\"2045.56\" y=\"269.224\">FEA</text>\n",
       "</g>\n",
       "</svg>\n"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "setup=getSetup()\n",
    "displacementFEA=fea(setup)\n",
    "\n",
    "latticeSize=4\n",
    "numTimeSteps=3000\n",
    "setup=getSetup()\n",
    "displacements=[]\n",
    "save=true\n",
    "returnEvery=1\n",
    "runMetavoxelGPU!(setup,numTimeSteps,latticeSize,displacements,returnEvery,false)\n",
    "\n",
    "numTimeStepsRecorded=length(displacements)\n",
    "d=[]\n",
    "dFEA=[]\n",
    "j=length(displacements[end])\n",
    "step=1\n",
    "for i in 1:step:numTimeStepsRecorded\n",
    "    append!(d,displacements[i][j].y)\n",
    "    append!(dFEA,displacementFEA[j].y)\n",
    "end\n",
    "println(\"FEA displacement= $(displacementFEA[j].y),converged displacement= $(displacements[numTimeSteps][j].y)\")\n",
    "plot(1:step:numTimeStepsRecorded,d,label=\"Dynamic\")\n",
    "plot!(1:step:numTimeStepsRecorded,dFEA,label=\"FEA\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 2400 1600\">\n",
       "<defs>\n",
       "  <clipPath id=\"clip6900\">\n",
       "    <rect x=\"0\" y=\"0\" width=\"2400\" height=\"1600\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<path clip-path=\"url(#clip6900)\" d=\"\n",
       "M0 1600 L2400 1600 L2400 0 L0 0  Z\n",
       "  \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip6901\">\n",
       "    <rect x=\"480\" y=\"0\" width=\"1681\" height=\"1600\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<path clip-path=\"url(#clip6900)\" d=\"\n",
       "M235.533 1487.47 L2352.76 1487.47 L2352.76 47.2441 L235.533 47.2441  Z\n",
       "  \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
       "<defs>\n",
       "  <clipPath id=\"clip6902\">\n",
       "    <rect x=\"235\" y=\"47\" width=\"2118\" height=\"1441\"/>\n",
       "  </clipPath>\n",
       "</defs>\n",
       "<polyline clip-path=\"url(#clip6902)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  295.454,1487.47 295.454,47.2441 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6902)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  794.799,1487.47 794.799,47.2441 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6902)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  1294.14,1487.47 1294.14,47.2441 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6902)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  1793.49,1487.47 1793.49,47.2441 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6902)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  2292.83,1487.47 2292.83,47.2441 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6902)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  235.533,1396.74 2352.76,1396.74 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6902)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  235.533,960.492 2352.76,960.492 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6902)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  235.533,524.249 2352.76,524.249 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6902)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
       "  235.533,88.0053 2352.76,88.0053 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  235.533,1487.47 2352.76,1487.47 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  235.533,1487.47 235.533,47.2441 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  295.454,1487.47 295.454,1470.19 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  794.799,1487.47 794.799,1470.19 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  1294.14,1487.47 1294.14,1470.19 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  1793.49,1487.47 1793.49,1470.19 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  2292.83,1487.47 2292.83,1470.19 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  235.533,1396.74 260.939,1396.74 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  235.533,960.492 260.939,960.492 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  235.533,524.249 260.939,524.249 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  235.533,88.0053 260.939,88.0053 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip6900)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 295.454, 1541.47)\" x=\"295.454\" y=\"1541.47\">4</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip6900)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 794.799, 1541.47)\" x=\"794.799\" y=\"1541.47\">5</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip6900)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1294.14, 1541.47)\" x=\"1294.14\" y=\"1541.47\">6</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip6900)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1793.49, 1541.47)\" x=\"1793.49\" y=\"1541.47\">7</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip6900)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 2292.83, 1541.47)\" x=\"2292.83\" y=\"1541.47\">8</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip6900)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 211.533, 1414.24)\" x=\"211.533\" y=\"1414.24\">-0.003</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip6900)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 211.533, 977.992)\" x=\"211.533\" y=\"977.992\">-0.002</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip6900)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 211.533, 541.749)\" x=\"211.533\" y=\"541.749\">-0.001</text>\n",
       "</g>\n",
       "<g clip-path=\"url(#clip6900)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 211.533, 105.505)\" x=\"211.533\" y=\"105.505\">0.000</text>\n",
       "</g>\n",
       "<polyline clip-path=\"url(#clip6902)\" style=\"stroke:#009af9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  295.454,88.0053 794.799,88.0053 1294.14,90.0895 1793.49,88.0053 2292.83,1446.71 \n",
       "  \"/>\n",
       "<path clip-path=\"url(#clip6900)\" d=\"\n",
       "M1947.14 251.724 L2280.76 251.724 L2280.76 130.764 L1947.14 130.764  Z\n",
       "  \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  1947.14,251.724 2280.76,251.724 2280.76,130.764 1947.14,130.764 1947.14,251.724 \n",
       "  \"/>\n",
       "<polyline clip-path=\"url(#clip6900)\" style=\"stroke:#009af9; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
       "  1971.14,191.244 2115.14,191.244 \n",
       "  \"/>\n",
       "<g clip-path=\"url(#clip6900)\">\n",
       "<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;\" transform=\"rotate(0, 2139.14, 208.744)\" x=\"2139.14\" y=\"208.744\">FEA</text>\n",
       "</g>\n",
       "</svg>\n"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n=[]\n",
    "nFEA=[]\n",
    "j=length(displacements[end])\n",
    "for i in 4:j\n",
    "    append!(n,displacements[end][i].y)\n",
    "    append!(nFEA,displacementFEA[i].y)\n",
    "end\n",
    "plot(4:j,nFEA,label=\"FEA\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "@webio": {
   "lastCommId": null,
   "lastKernelId": null
  },
  "kernelspec": {
   "display_name": "Julia 1.2.0",
   "language": "julia",
   "name": "julia-1.2"
  },
  "language_info": {
   "file_extension": ".jl",
   "mimetype": "application/julia",
   "name": "julia",
   "version": "1.2.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}