diff --git a/.classpath b/.classpath index e353bd8..fa73730 100644 --- a/.classpath +++ b/.classpath @@ -1,13 +1,9 @@ + + - - - - - - - + diff --git a/.project b/.project index af67f8c..bed1625 100644 --- a/.project +++ b/.project @@ -14,11 +14,4 @@ org.eclipse.jdt.core.javanature - - - main - 2 - /home/yliu/Desktop/tools/eclipse-kepler/E::/home/yliu/workspace_java/matrix-toolkits-java/src/main - - diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index a698e59..0000000 --- a/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/BenchmarkData.txt b/BenchmarkData.txt deleted file mode 100644 index cc1db66..0000000 --- a/BenchmarkData.txt +++ /dev/null @@ -1,415 +0,0 @@ -============Benchmark for Rosenbrock============== -N|Symbolic Manipulaton|Compile Gradient|Eval Gradient|Compile Hessian|Eval Hessian -5 0.058 0.025 0.02 0.002 0.014 -55 0.491 0.009 0.285 0.011 0.155 -105 0.187 0.012 0.812 0.013 0.482 -155 0.61 0.009 11.687 0.014 9.556 -205 0.477 0.006 15.856 0.011 12.854 -255 0.765 0.008 19.737 0.019 16.381 -305 0.878 0.006 23.669 0.017 19.534 -355 1.157 0.023 27.326 0.018 22.741 -405 1.527 0.005 31.14 0.024 25.97 -455 1.891 0.006 35.071 0.025 29.165 -505 2.781 0.008 38.67 0.038 32.283 -555 2.863 0.007 42.774 0.03 35.519 -605 3.375 0.007 46.374 0.027 38.734 -655 4.322 0.007 50.133 0.033 41.959 -705 4.697 0.008 53.9 0.037 45.137 -755 5.659 0.009 58.499 0.05 48.535 - - - -with sum, without small functions -============Benchmark for Rosenbrock============== -N|Symbolic Manipulaton|Compile Gradient|Eval Gradient|Compile Hessian|Eval Hessian -5 0.062 0.025 0.012 0.003 0.013 -55 0.506 0.009 0.278 0.012 0.35 -105 0.229 0.015 0.249 0.014 1.208 -155 0.456 0.01 1.292 0.015 3.317 -205 0.554 0.006 1.712 0.009 5.372 -255 0.695 0.007 2.128 0.012 7.918 -305 0.888 0.008 2.547 0.017 10.954 -355 1.195 0.008 2.951 0.018 14.412 - -with sum, small functions -============Benchmark for Rosenbrock============== -N|Symbolic Manipulaton|Compile Gradient|Eval Gradient|Compile Hessian|Eval Hessian -5 0.058 0.025 0.013 0.002 0.012 -55 0.553 0.009 0.109 0.011 0.352 -105 0.208 0.013 0.241 0.016 1.183 -155 0.363 0.009 1.288 0.016 2.438 -205 0.512 0.006 1.786 0.015 4.186 -255 0.707 0.007 2.163 0.021 6.498 -305 1.169 0.006 2.547 0.019 9.177 -355 1.265 0.007 2.972 0.031 12.325 -405 1.681 0.007 3.385 0.032 16.775 -455 1.954 0.006 3.791 0.037 20.142 - -C++ -N=5: Grad=0.001523 Hess=0.002807 -N=55: Grad=0.018744 Hess=0.264852 -N=105: Grad=0.031632 Hess=0.962019 -N=155: Grad=0.047682 Hess=2.08109 -N=205: Grad=0.063254 Hess=3.6405 -N=255: Grad=0.077508 Hess=5.68046 -N=305: Grad=0.093359 Hess=8.07915 -N=355: Grad=0.111471 Hess=10.9616 -N=405: Grad=0.131659 Hess=14.3319 -N=455: Grad=0.164299 Hess=18.0198 -N=505: Grad=0.185296 Hess=22.538 -N=555: Grad=0.171085 Hess=26.8645 - -============Benchmark for Rosenbrock============== -N|Symbolic Manipulaton|Compile Gradient|Eval Gradient|Compile Hessian|Eval Hessian -5 0.056 0.025 0.011 0.002 0.011 -55 0.601 0.01 0.109 0.038 0.067 -105 0.193 0.012 0.221 0.021 0.126 -155 0.349 0.008 1.283 0.035 0.203 -205 0.569 0.006 1.689 0.061 0.309 -255 0.823 0.007 2.099 0.08 0.424 -305 0.972 0.167 2.515 0.091 0.603 -355 1.189 0.006 2.921 0.113 0.731 -405 1.68 0.007 3.324 0.191 0.915 -455 1.984 0.006 3.739 0.132 1.195 -505 2.435 0.008 4.142 0.173 1.559 -555 3.009 0.006 4.557 0.229 2.042 -605 3.44 0.008 4.959 0.197 2.598 -655 4.443 0.008 5.388 0.256 3.204 -705 5.102 0.012 5.789 0.313 3.949 -755 5.556 0.009 6.207 0.295 4.65 -805 6.19 0.008 6.592 0.352 5.399 -Final Value=3.399999999857267E8 - - -g++ -O3 -N=5: Grad=0.001151 Hess=0.000818 -N=55: Grad=0.011713 Hess=0.007993 -N=105: Grad=0.022845 Hess=0.01805 -N=155: Grad=0.035496 Hess=0.02596 -N=205: Grad=0.048052 Hess=0.038288 -N=255: Grad=0.06439 Hess=0.094836 -N=305: Grad=0.068387 Hess=0.057918 -N=355: Grad=0.089015 Hess=0.069783 -N=405: Grad=0.102814 Hess=0.106349 -N=455: Grad=0.115396 Hess=0.091371 -N=505: Grad=0.157484 Hess=0.131465 -N=555: Grad=0.178366 Hess=0.156674 -N=605: Grad=0.187632 Hess=0.169453 -N=655: Grad=0.207495 Hess=0.150046 -N=705: Grad=0.2259 Hess=0.224388 -N=755: Grad=0.241367 Hess=0.27117 -N=805: Grad=0.309976 Hess=0.495865 - Final Value=3.4e+08 - - -yliu@yliu-dev:~/workspace_cpp/SymLLVM$ g++ benchmark-rosenbrock-manual.cpp -o run -yliu@yliu-dev:~/workspace_cpp/SymLLVM$ ./run -N=5: Grad=0.00733 Hess=0.00492 -N=55: Grad=0.093892 Hess=0.060972 -N=105: Grad=0.177875 Hess=0.122079 -N=155: Grad=0.274418 Hess=0.171955 -N=205: Grad=0.362189 Hess=0.231552 -N=255: Grad=0.455115 Hess=0.448342 -N=305: Grad=0.548107 Hess=0.341249 -N=355: Grad=0.637069 Hess=0.397283 -N=405: Grad=0.730289 Hess=0.458382 -N=455: Grad=0.806885 Hess=0.513731 -N=505: Grad=0.895405 Hess=0.624652 -N=555: Grad=0.988364 Hess=0.63463 -N=605: Grad=1.07374 Hess=0.731887 -N=655: Grad=1.16435 Hess=0.801067 -N=705: Grad=1.25048 Hess=0.877741 -N=755: Grad=1.40263 Hess=0.907993 -N=805: Grad=1.44907 Hess=1.01174 - Final Value=3.4e+08 - -jit exprs=30 -============Benchmark for Rosenbrock============== -N|Symbolic Manipulaton|Compile Gradient|Eval Gradient|Compile Hessian|Eval Hessian -5 0.057 0.041 0.012 0.041 0.0 -55 0.558 0.011 0.094 0.011 0.0 -105 0.212 0.018 0.148 0.018 0.0 -155 0.334 0.038 0.217 0.038 0.0 -205 0.601 0.016 0.282 0.016 0.0 -255 0.94 0.013 0.35 0.013 0.0 -305 0.902 0.013 0.417 0.013 0.0 -355 1.211 0.016 0.487 0.016 0.0 -405 1.643 0.018 0.56 0.018 0.0 -455 2.032 0.052 0.624 0.052 0.0 -505 2.499 0.017 0.699 0.017 0.0 -555 2.956 0.017 0.756 0.017 0.0 -605 3.493 0.038 0.828 0.038 0.0 -655 4.2 0.052 0.892 0.052 0.0 -705 4.857 0.022 0.968 0.022 0.0 -755 5.623 0.023 1.035 0.023 0.0 -805 6.279 0.024 1.099 0.024 0.0 -Final Value=-0.01887435763237022 - -jit exprs=10 -============Benchmark for Rosenbrock============== -N|Symbolic Manipulaton|Compile Gradient|Eval Gradient|Compile Hessian|Eval Hessian -5 0.056 0.026 0.013 0.026 0.0 -55 0.599 0.016 0.105 0.016 0.0 -105 0.197 0.021 0.143 0.021 0.0 -155 0.432 0.024 0.22 0.024 0.0 -205 0.611 0.039 0.284 0.039 0.0 -255 0.937 0.023 0.359 0.023 0.0 -305 0.896 0.037 0.42 0.037 0.0 -355 1.205 0.041 0.499 0.041 0.0 -405 1.566 0.053 0.555 0.053 0.0 -455 1.979 0.042 0.652 0.042 0.0 -505 2.468 0.036 0.71 0.036 0.0 -555 2.943 0.07 0.817 0.07 0.0 -605 3.477 0.108 0.885 0.108 0.0 -655 4.166 0.084 0.957 0.084 0.0 -705 4.892 0.069 1.045 0.069 0.0 -755 5.479 0.05 1.124 0.05 0.0 -805 6.244 0.069 1.212 0.069 0.0 -Final Value=-0.01887435763237022 - - -jit exprs=50 -============Benchmark for Rosenbrock============== -N|Symbolic Manipulaton|Compile Gradient|Eval Gradient|Compile Hessian|Eval Hessian -5 0.056 0.024 0.013 0.024 0.0 -55 0.518 0.011 0.119 0.011 0.0 -105 0.202 0.018 0.165 0.018 0.0 -155 0.441 0.016 0.247 0.016 0.0 -205 0.469 0.014 0.319 0.014 0.0 -255 0.919 0.013 0.402 0.013 0.0 -305 0.879 0.011 0.471 0.011 0.0 -355 1.198 0.014 0.562 0.014 0.0 -405 1.561 0.016 0.619 0.016 0.0 -455 1.967 0.012 0.755 0.012 0.0 -505 2.538 0.037 0.78 0.037 0.0 -555 2.886 0.013 0.849 0.013 0.0 -605 3.551 0.014 0.933 0.014 0.0 -655 4.14 0.014 1.0 0.014 0.0 -705 4.718 0.016 1.072 0.016 0.0 -755 5.567 0.016 1.158 0.016 0.0 -805 6.352 0.018 1.246 0.018 0.0 -Final Value=-0.01887435763237022 - -JIT exprs=50 -============Benchmark for Rosenbrock============== -N|Symbolic Manipulaton|Compile Gradient|Eval Gradient|Compile Hessian|Eval Hessian -5 0.055 0.028 0.011 0.002 0.01 -55 0.487 0.012 0.16 0.026 0.065 -105 0.482 0.014 0.164 0.027 0.12 -155 0.591 0.011 0.246 0.02 0.177 -205 0.539 0.011 0.351 0.045 0.24 -255 0.903 0.009 0.455 0.022 0.35 -305 0.907 0.009 0.473 0.041 0.378 -355 1.173 0.01 0.555 0.029 0.459 -405 1.57 0.01 0.628 0.03 0.531 -455 1.942 0.012 0.701 0.037 0.579 -505 2.527 0.011 0.771 0.037 0.644 -555 2.966 0.012 0.852 0.068 0.731 -605 3.48 0.032 0.921 0.05 0.786 -655 4.18 0.036 1.003 0.051 0.82 -705 4.836 0.018 1.087 0.055 0.925 -755 5.494 0.016 1.155 0.087 1.002 -805 6.299 0.018 1.248 0.065 1.066 -Final Value=3.399999999857267E8 - -JIT exprs=36 -============Benchmark for Rosenbrock============== -N|Symbolic Manipulaton|Compile Gradient|Eval Gradient|Compile Hessian|Eval Hessian -5 0.055 0.028 0.013 0.002 0.013 -55 0.431 0.011 0.111 0.016 0.068 -105 0.18 0.013 0.172 0.039 0.137 -155 0.312 0.012 0.253 0.023 0.197 -205 0.505 0.011 0.325 0.025 0.271 -255 0.932 0.01 0.392 0.022 0.395 -305 0.889 0.01 0.455 0.026 0.423 -355 1.198 0.011 0.53 0.034 0.499 -405 1.583 0.011 0.633 0.054 0.579 -455 2.051 0.034 0.68 0.039 0.684 -505 2.52 0.014 0.836 0.052 0.749 -555 2.903 0.016 0.838 0.053 0.827 -605 3.366 0.018 0.906 0.052 0.897 -655 4.149 0.016 0.979 0.057 0.934 -705 4.777 0.016 1.065 0.063 1.055 -755 5.462 0.017 1.124 0.082 1.167 -805 6.223 0.019 1.208 0.072 1.244 -Final Value=6.881736000015767E11 -============Benchmark for Rosenbrock============== -N|Symbolic Manipulaton|Compile Gradient|Eval Gradient|Compile Hessian|Eval Hessian -5 0.06 0.025 0.013 0.002 0.011 -55 0.483 0.011 0.113 0.016 0.069 -105 0.247 0.013 0.173 0.018 0.132 -155 0.271 0.012 0.252 0.038 0.202 -205 0.582 0.009 0.313 0.021 0.273 -255 0.878 0.01 0.396 0.021 0.395 -305 0.895 0.011 0.456 0.029 0.423 -355 1.203 0.011 0.53 0.058 0.503 -405 1.556 0.012 0.628 0.056 0.585 -455 1.987 0.031 0.733 0.044 0.629 -505 2.515 0.014 0.764 0.047 0.744 -555 2.881 0.014 0.845 0.073 0.813 -605 3.438 0.014 0.906 0.055 0.897 -655 4.091 0.017 0.978 0.081 0.956 -705 4.768 0.017 1.056 0.067 1.098 -755 5.412 0.018 1.129 0.067 1.141 -805 6.224 0.019 1.209 0.073 1.245 -Final Value=6.881736000015767E11 - - -yliu@yliu-dev:~/workspace_cpp/SymLLVM$ g++ benchmark-rosenbrock-manual.cpp -o run -yliu@yliu-dev:~/workspace_cpp/SymLLVM$ ./run -N=5: Grad=0.010515 Hess=0.006046 -N=55: Grad=0.108079 Hess=0.075674 -N=105: Grad=0.205374 Hess=0.14151 -N=155: Grad=0.319664 Hess=0.211846 -N=205: Grad=0.418111 Hess=0.284775 -N=255: Grad=0.51978 Hess=0.502621 -N=305: Grad=0.621614 Hess=0.425008 -N=355: Grad=0.725213 Hess=0.489046 -N=405: Grad=0.823972 Hess=0.56583 -N=455: Grad=0.928018 Hess=0.629761 -N=505: Grad=1.0312 Hess=0.742515 -N=555: Grad=1.13132 Hess=0.798598 -N=605: Grad=1.23703 Hess=0.876948 -N=655: Grad=1.35474 Hess=0.970951 -N=705: Grad=1.44381 Hess=1.0695 -N=755: Grad=1.54051 Hess=1.09616 -N=805: Grad=1.6446 Hess=1.18514 - Final Value=6.88174e+11 - -yliu@yliu-dev:~/workspace_cpp/SymLLVM$ g++ -O3 benchmark-rosenbrock-manual.cpp -o run -yliu@yliu-dev:~/workspace_cpp/SymLLVM$ ./run -N=5: Grad=0.004045 Hess=0.002874 -N=55: Grad=0.017526 Hess=0.011655 -N=105: Grad=0.030795 Hess=0.025675 -N=155: Grad=0.046783 Hess=0.038598 -N=205: Grad=0.064157 Hess=0.056752 -N=255: Grad=0.262951 Hess=0.1346 -N=305: Grad=0.111215 Hess=0.083569 -N=355: Grad=0.146319 Hess=0.098378 -N=405: Grad=0.147776 Hess=0.165814 -N=455: Grad=0.198877 Hess=0.148392 -N=505: Grad=0.232979 Hess=0.196977 -N=555: Grad=0.213673 Hess=0.221002 -N=605: Grad=0.235828 Hess=0.275431 -N=655: Grad=0.226496 Hess=0.228843 -N=705: Grad=0.218672 Hess=0.279285 -N=755: Grad=0.234185 Hess=0.265979 -N=805: Grad=0.2888 Hess=0.315162 - Final Value=6.88174e+11 - -g++ O3 compile time -============Benchmark for Rosenbrock============== -N|Symbolic Manipulaton|Compile Gradient|Eval Gradient|Compile Hessian|Eval Hessian|C Code Compile -5 0.056 0.025 0.014 0.003 0.012 0.162 -55 0.479 0.014 0.11 0.019 0.069 0.32 -105 0.179 0.013 0.165 0.03 0.133 0.389 -155 0.314 0.013 0.245 0.024 0.193 0.563 -205 0.572 0.009 0.309 0.021 0.275 0.754 -255 0.811 0.01 0.406 0.023 0.392 0.964 -305 0.886 0.011 0.45 0.027 0.427 1.235 -355 1.246 0.011 0.528 0.049 0.498 1.526 -405 1.565 0.011 0.604 0.035 0.573 1.8 -455 1.969 0.013 0.671 0.057 0.685 2.135 -505 2.436 0.015 0.75 0.046 0.756 2.469 -555 3.01 0.015 0.822 0.063 0.815 2.856 -605 3.495 0.014 0.894 0.055 0.897 3.222 -655 4.19 0.015 0.986 0.084 1.029 3.403 -705 4.801 0.017 1.048 0.061 1.035 3.848 -755 5.53 0.018 1.118 0.08 1.103 4.221 -805 6.347 0.018 1.209 0.085 1.272 4.547 -Final Value=6.881736000015767E11 -yliu@yliu-dev:~/workspace_java/SymJava$ ./runall.sh -N=5: Grad=0.00555 Hess=0.003054 - Final Value=4.008e+08 -N=55: Grad=0.015792 Hess=0.012052 - Final Value=5.4108e+09 -N=105: Grad=0.031341 Hess=0.025145 - Final Value=1.04208e+10 -N=155: Grad=0.048394 Hess=0.038475 - Final Value=1.54308e+10 -N=205: Grad=0.062533 Hess=0.054497 - Final Value=2.04408e+10 -N=255: Grad=0.078452 Hess=0.136445 - Final Value=2.54508e+10 -N=305: Grad=0.096971 Hess=0.083958 - Final Value=3.04608e+10 -N=355: Grad=0.110973 Hess=0.094553 - Final Value=3.54708e+10 -N=405: Grad=0.127781 Hess=0.138077 - Final Value=4.04808e+10 -N=455: Grad=0.142258 Hess=0.125689 - Final Value=4.54908e+10 -N=505: Grad=0.159458 Hess=0.199716 - Final Value=5.05008e+10 -N=555: Grad=0.176937 Hess=0.186688 - Final Value=5.55108e+10 -N=605: Grad=0.193468 Hess=0.238989 - Final Value=6.05208e+10 -N=655: Grad=0.205962 Hess=0.229768 - Final Value=6.55308e+10 -N=705: Grad=0.226367 Hess=0.305967 - Final Value=7.05408e+10 -N=755: Grad=0.23855 Hess=0.280694 - Final Value=7.55508e+10 -N=805: Grad=0.262885 Hess=0.319046 - Final Value=8.05608e+10 - - -g++ default -============Benchmark for Rosenbrock============== -N|Symbolic Manipulaton|Compile Gradient|Eval Gradient|Compile Hessian|Eval Hessian|C Code Compile -5 0.058 0.025 0.012 0.002 0.013 0.133 -55 0.447 0.012 0.098 0.017 0.071 0.176 -105 0.311 0.015 0.166 0.018 0.127 0.223 -155 0.442 0.012 0.23 0.023 0.2 0.289 -205 0.463 0.013 0.307 0.043 0.278 0.366 -255 0.942 0.01 0.389 0.023 0.397 0.381 -305 0.915 0.011 0.453 0.026 0.43 0.444 -355 1.252 0.011 0.551 0.032 0.52 0.484 -405 1.545 0.011 0.604 0.04 0.565 0.55 -455 1.97 0.027 0.691 0.047 0.666 0.603 -505 2.481 0.032 0.799 0.046 0.735 0.693 -555 3.006 0.015 0.827 0.048 0.828 0.734 -605 3.455 0.015 0.905 0.054 0.881 0.804 -655 4.159 0.017 0.978 0.077 1.027 0.854 -705 4.824 0.017 1.096 0.061 1.049 0.918 -755 5.582 0.017 1.128 0.07 1.166 0.974 -805 6.167 0.018 1.197 0.069 1.227 1.03 -Final Value=6.881736000015767E11 - -yliu@yliu-dev:~/workspace_java/SymJava$ ./runall.sh -N=5: Grad=0.012285 Hess=0.005769 - Final Value=4.008e+08 -N=55: Grad=0.112945 Hess=0.074709 - Final Value=5.4108e+09 -N=105: Grad=0.205119 Hess=0.141377 - Final Value=1.04208e+10 -N=155: Grad=0.31637 Hess=0.210464 - Final Value=1.54308e+10 -N=205: Grad=0.417701 Hess=0.285483 - Final Value=2.04408e+10 -N=255: Grad=0.51677 Hess=0.51337 - Final Value=2.54508e+10 -N=305: Grad=0.617711 Hess=0.427058 - Final Value=3.04608e+10 -N=355: Grad=0.72675 Hess=0.501997 - Final Value=3.54708e+10 -N=405: Grad=0.820054 Hess=0.56362 - Final Value=4.04808e+10 -N=455: Grad=0.927727 Hess=0.630426 - Final Value=4.54908e+10 -N=505: Grad=1.02883 Hess=0.734305 - Final Value=5.05008e+10 -N=555: Grad=1.16798 Hess=0.786767 - Final Value=5.55108e+10 -N=605: Grad=1.26002 Hess=0.908035 - Final Value=6.05208e+10 -N=655: Grad=1.33347 Hess=0.942273 - Final Value=6.55308e+10 -N=705: Grad=1.4371 Hess=1.02455 - Final Value=7.05408e+10 -N=755: Grad=1.54837 Hess=1.08883 - Final Value=7.55508e+10 -N=805: Grad=1.66913 Hess=1.22527 - Final Value=8.05608e+10 - diff --git a/README.md b/README.md deleted file mode 100644 index d72fbd6..0000000 --- a/README.md +++ /dev/null @@ -1,393 +0,0 @@ -# SymJava -SymJava is a Java library for symbolic-numeric computation. - -There are two unique features which make SymJava different: - -1. Operator Overloading is implemented by using Java-OO (https://github.com/amelentev/java-oo) - -2. Java bytecode is generated at runtime for symbolic expressions which make the numerical evaluation really fast. - -Install java-oo Eclipse plugin for Java Operator Overloading support (https://github.com/amelentev/java-oo): -Click in menu: Help -> Install New Software. Enter in "Work with" field: -http://amelentev.github.io/eclipse.jdt-oo-site/ - -If you are using Eclipse-Kepler you need to install SR2 4.3.2 here https://www.eclipse.org/downloads/packages/release/kepler/sr2) - -If you are using Eclipse 4.4+, you need Scalar IDE plugin. see https://github.com/amelentev/java-oo - -Both Java 7 and 8 are supported. - -### Citing Our Papers ### - -If you were using Futureye_JIT for academic research, you are encouraged to cite the following papers: - -[Y. Liu, P. Zhang, M. Qiu, "Fast Numerical Evaluation for Symbolic Expressions in Java", 17th IEEE International Conference on High Performance and Communications (HPCC 2015), New York, USA, August 24-26, 2015.](http://ieeexplore.ieee.org/document/7336223/) - -[Y. Liu, P. Zhang, M. Qiu, "SNC: A Cloud Service Platform for Symbolic-Numeric Computation using Just-In-Time Compilation", IEEE Transactions on Cloud Computing, 2017](http://ieeexplore.ieee.org/abstract/document/7828007/) - -### Examples ### - -```Java -package symjava.examples; - -import static symjava.symbolic.Symbol.*; -import symjava.bytecode.BytecodeFunc; -import symjava.symbolic.*; - -/** - * This example uses Java Operator Overloading for symbolic computation. - * See https://github.com/amelentev/java-oo for Java Operator Overloading. - * - */ -public class Example1 { - - public static void main(String[] args) { - Expr expr = x + y * z; - System.out.println(expr); //x + y*z - - Expr expr2 = expr.subs(x, y*y); - System.out.println(expr2); //y^2 + y*z - System.out.println(expr2.diff(y)); //2*y + z - - Func f = new Func("f1", expr2.diff(y)); - System.out.println(f); //2*y + z - - BytecodeFunc func = f.toBytecodeFunc(); - System.out.println(func.apply(1,2)); //4.0 - } -} -``` - -```Java -package symjava.examples; - -import symjava.relational.Eq; -import symjava.symbolic.Symbol; -import static symjava.symbolic.Symbol.*; - - -public class Example2 { - - /** - * Example from Wikipedia - * (http://en.wikipedia.org/wiki/Gauss-Newton_algorithm) - * - * Use Gauss-Newton algorithm to fit a given model y=a*x/(b-x) - * - */ - public static void example1() { - //Model y=a*x/(b-x), Unknown parameters: a, b - Symbol[] freeVars = {x}; - Symbol[] params = {a, b}; - Eq eq = new Eq(y, a*x/(b+x), freeVars, params); - - //Data for (x,y) - double[][] data = { - {0.038,0.050}, - {0.194,0.127}, - {0.425,0.094}, - {0.626,0.2122}, - {1.253,0.2729}, - {2.500,0.2665}, - {3.740,0.3317} - }; - - double[] initialGuess = {0.9, 0.2}; - - //Here we go ... - GaussNewton.solve(eq, initialGuess, data, 100, 1e-4); - - } - - /** - * Example from Apache Commons Math - * (http://commons.apache.org/proper/commons-math/userguide/optimization.html) - * - * "We are looking to find the best parameters [a, b, c] for the quadratic function - * - * f(x) = a x2 + b x + c. - * - * The data set below was generated using [a = 8, b = 10, c = 16]. A random number - * between zero and one was added to each y value calculated. " - * - */ - public static void example2() { - Symbol[] freeVars = {x}; - Symbol[] params = {a, b, c}; - Eq eq = new Eq(y, a*x*x + b*x + c, freeVars, params); - - double[][] data = { - {1 , 34.234064369}, - {2 , 68.2681162306108}, - {3 , 118.615899084602}, - {4 , 184.138197238557}, - {5 , 266.599877916276}, - {6 , 364.147735251579}, - {7 , 478.019226091914}, - {8 , 608.140949270688}, - {9 , 754.598868667148}, - {10, 916.128818085883}, - }; - - double[] initialGuess = {1, 1, 1}; - - GaussNewton.solve(eq, initialGuess, data, 100, 1e-4); - } - - public static void main(String[] args) { - example1(); - example2(); - } -} -``` - -Output in Latex: - - -Jacobian Matrix = -![](https://github.com/yuemingl/SymJava/blob/master/images/ex2_1_jacobian.png) - -Residuals = -![](https://github.com/yuemingl/SymJava/blob/master/images/ex2_1_residuals.png) - -``` -Iterativly sovle ... -a=0.33266 b=0.26017 -a=0.34281 b=0.42608 -a=0.35778 b=0.52951 -a=0.36141 b=0.55366 -a=0.36180 b=0.55607 -a=0.36183 b=0.55625 -``` - -Jacobian Matrix = -![](https://github.com/yuemingl/SymJava/blob/master/images/ex2_2_jacobian.png) - -Residuals = -![](https://github.com/yuemingl/SymJava/blob/master/images/ex2_2_residuals.png) - -``` -Iterativly sovle ... -a=7.99883 b=10.00184 c=16.32401 -``` - -```Java -package symjava.examples; - -import Jama.Matrix; -import symjava.matrix.*; -import symjava.relational.Eq; -import symjava.symbolic.Expr; - -/** - * A general Gauss Newton solver using SymJava for simbolic computations - * instead of writing your own Jacobian matrix and Residuals - */ -public class GaussNewton { - - public static void solve(Eq eq, double[] init, double[][] data, int maxIter, double eps) { - int n = data.length; - - //Construct Jacobian Matrix and Residuals - SymVector res = new SymVector(n); - SymMatrix J = new SymMatrix(n, eq.getParams().length); - - Expr[] params = eq.getParams(); - for(int i=0; i - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/class_diagram1.ucls b/src/class_diagram1.ucls deleted file mode 100644 index 3842fdc..0000000 --- a/src/class_diagram1.ucls +++ /dev/null @@ -1,693 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/lambdacloud/examples/ExampleFEM.java b/src/lambdacloud/examples/ExampleFEM.java index 9fc9f6d..0f5b2c6 100644 --- a/src/lambdacloud/examples/ExampleFEM.java +++ b/src/lambdacloud/examples/ExampleFEM.java @@ -1,4 +1,4 @@ -package lambdacloud.examples; +/*package lambdacloud.examples; import java.awt.BasicStroke; import java.awt.Color; @@ -25,7 +25,7 @@ import symjava.symbolic.Expr; public class ExampleFEM { - + public static class MyFrame extends JFrame { private static final long serialVersionUID = 1L; public MyFrame() { @@ -39,7 +39,7 @@ public MyFrame() { setSize(550, 550); setLocationRelativeTo(null); } - + public static class MyPanel extends JPanel { private static final long serialVersionUID = 1L; double[] data; @@ -60,24 +60,24 @@ private void doDrawing(Graphics g) { g2d.drawLine(0, x1, w, x1); } } - + public void paintComponent(Graphics g) { super.paintComponent(g); doDrawing(g); } } } - + public static void main(String[] args) { FEMImp1(args); - + // MyFrame frame = new MyFrame(); // frame.setVisible(true); } - + public static void FEMImp1(String[] args) { System.out.println("Current working dir="+System.getProperty("user.dir")); - + String configFile = "job_google.conf"; int nData = 1000; int nEle = 100000; @@ -94,17 +94,17 @@ public static void FEMImp1(String[] args) { isAsync = Boolean.valueOf(args[3]); } } - + CloudConfig config = CloudConfig.setGlobalConfig(configFile); - + double[] data = new double[nData]; for(int i=0; i map = new HashMap(); map.put("x", fx); map.put("y", fy); MathFunc ff = f.compose(map); - + MathFunc[][] lhs = new MathFunc[3][3]; MathFunc[] rhs = new MathFunc[3]; for(int j=0; j<3; j++) { @@ -155,7 +155,7 @@ public static void solveLaplace(double[] nodesData) { rhs[j] = v*ff*jac; rhs[j].setName("RHS"+j); } - + CompiledFunc[][] clhs = new CompiledFunc[3][3]; CompiledFunc[] crhs = new CompiledFunc[3]; for(int j=0; j<3; j++) { @@ -164,7 +164,7 @@ public static void solveLaplace(double[] nodesData) { } crhs[j] = rhs[j].compile(argsOrder); } - + double[][] A = new double[3][3]; double[] b = new double[3]; double[] params = new double[9]; @@ -181,7 +181,7 @@ public static void solveLaplace(double[] nodesData) { } } System.out.println(System.currentTimeMillis()-start); - + for(int j=0; j<3; j++) { for(int i=0; i<3; i++) { System.out.print(A[j][i]+" "); @@ -191,31 +191,32 @@ public static void solveLaplace(double[] nodesData) { for(int j=0; j<3; j++) { System.out.println(b[j]); } - /* - * - * 1.4999999999999984 0.0 -1.4999999999999984 - 0.0 0.9999999999999989 -0.9999999999999989 - -1.4999999999999984 -0.9999999999999989 2.4999999999999973 + + * + * 1.4999999999999984 0.0 -1.4999999999999984 + 0.0 0.9999999999999989 -0.9999999999999989 + -1.4999999999999984 -0.9999999999999989 2.4999999999999973 0.8749999999999991 0.8749999999999991 -1.7499999999999982 Correct: (add setArgIdx() in FComposite) - 1.0833333333333321 -0.45833333333333287 -0.45833333333333287 - -0.45833333333333287 0.5833333333333327 0.04166666666666662 - -0.45833333333333287 0.04166666666666662 0.5833333333333327 + 1.0833333333333321 -0.45833333333333287 -0.45833333333333287 + -0.45833333333333287 0.5833333333333327 0.04166666666666662 + -0.45833333333333287 0.04166666666666662 0.5833333333333327 0.24999999999999972 0.31249999999999967 0.31249999999999967 - */ + } public static void main(String[] args) { solveLaplace(new double[]{100}); } - + @Override public double apply(double... args) { solveLaplace(args); return args[0]; - } + } } +*/ \ No newline at end of file diff --git a/src/symjava/examples/Solver.java b/src/symjava/examples/Solver.java index 5204679..7a50bc2 100644 --- a/src/symjava/examples/Solver.java +++ b/src/symjava/examples/Solver.java @@ -29,7 +29,7 @@ public static double[] solveCG2(double[][] _A, double[] _b, double[] _x) { //for(int i=0; i<_b.length; i++) // System.out.println(_b[i]+" "); //System.out.println(); - + Matrix A = new DenseMatrix(_A); Vector b = new DenseVector(_b); DenseVector x = new DenseVector(_x); @@ -43,7 +43,7 @@ public static double[] solveCG2(double[][] _A, double[] _b, double[] _x) { ATA.add(I); Vector ATb = new DenseVector(AT.numRows()); ATb = AT.mult(b, ATb); - + CG sol = new CG(ATb); try { long begin = System.currentTimeMillis(); @@ -57,7 +57,7 @@ public static double[] solveCG2(double[][] _A, double[] _b, double[] _x) { System.arraycopy(x.getData(), 0, _x, 0, _x.length); return _x; } - + public static void main(String[] args) { double[][] A = { { 2, 1, 3}, @@ -70,7 +70,7 @@ public static void main(String[] args) { for(double i : x) System.out.println(i); //x=(0.3,0.4,0) - + int N = Integer.valueOf(args[0]); long begin = System.currentTimeMillis(); double[][] AA = new double[N][N]; diff --git a/src/symjava/examples/TestLibsvm.java b/src/symjava/examples/TestLibsvm.java index 8d3eff1..f9568dc 100644 --- a/src/symjava/examples/TestLibsvm.java +++ b/src/symjava/examples/TestLibsvm.java @@ -1,4 +1,4 @@ -package symjava.examples; +/*package symjava.examples; import libsvm.svm; import libsvm.svm_model; @@ -28,7 +28,7 @@ public static double evaluate(double[] features, svm_model model) { if(features[0]!=v) { System.out.print("Actual >>>" + features[0] + " " + v + "<<< Prediction"); - + for (int i = 0; i < totalClasses; i++) { System.out.print("(" + labels[i] + ":" + prob_estimates[i] + ")"); } @@ -104,3 +104,4 @@ public static void main(String[] args) { } } +*/ \ No newline at end of file diff --git a/src/symjava/test/TestSymbolic.java b/src/symjava/test/TestSymbolic.java index 8187999..12bea95 100644 --- a/src/symjava/test/TestSymbolic.java +++ b/src/symjava/test/TestSymbolic.java @@ -502,9 +502,7 @@ public static void testMathematicalFunction() { } public static void main(String[] args) { - //eclipse不能编译的问题:cmd进到某个class目录后,该目录不允许删除, - //导致eclipse不能删除该目录,所以不能编译 -// testBasic(); + testBasic(); // testPrint(); // testSimplify(); // testSummation(); @@ -520,6 +518,6 @@ public static void main(String[] args) { //set vm parameters: -XX:+PrintCompilation //testJITVectorized(); //testSymRandom(); - testMathematicalFunction(); +// testMathematicalFunction(); } } diff --git a/triangle.dat b/triangle.dat deleted file mode 100644 index 95031d0..0000000 --- a/triangle.dat +++ /dev/null @@ -1,447 +0,0 @@ -VARIABLES="X","Y","U" -ZONE F=FEPOINT ET=TRIANGLE N=161 E=284 -3.000000 3.000000 0.000000 --3.000000 3.000000 0.000000 --3.000000 -3.000000 0.000000 -3.000000 -3.000000 0.000000 -2.333333 3.000000 0.000000 -1.666667 3.000000 0.000000 -1.000000 3.000000 0.000000 -0.333333 3.000000 0.000000 --0.333333 3.000000 0.000000 --1.000000 3.000000 0.000000 --1.666667 3.000000 0.000000 --2.333333 3.000000 0.000000 --3.000000 2.333333 0.000000 --3.000000 1.666667 0.000000 --3.000000 1.000000 0.000000 --3.000000 0.333333 0.000000 --3.000000 -0.333333 0.000000 --3.000000 -1.000000 0.000000 --3.000000 -1.666667 0.000000 --3.000000 -2.333333 0.000000 -2.333333 -3.000000 0.000000 -1.666667 -3.000000 0.000000 -1.000000 -3.000000 0.000000 -0.333333 -3.000000 0.000000 --0.333333 -3.000000 0.000000 --1.000000 -3.000000 0.000000 --1.666667 -3.000000 0.000000 --2.333333 -3.000000 0.000000 -3.000000 2.333333 0.000000 -3.000000 1.666667 0.000000 -3.000000 1.000000 0.000000 -3.000000 0.333333 0.000000 -3.000000 -0.333333 0.000000 -3.000000 -1.000000 0.000000 -3.000000 -1.666667 0.000000 -3.000000 -2.333333 0.000000 --1.996795 1.996795 25.520632 --1.786509 1.395641 40.948450 --1.381602 1.747001 42.244250 -2.687000 2.687000 3.204465 -2.414665 2.414665 10.355239 -2.687000 -2.687000 3.191939 -2.414665 -2.414665 10.311753 --2.687000 2.687000 3.184532 --2.414665 2.414665 10.286036 --2.687000 -2.687000 3.177874 --2.414665 -2.414665 10.262920 -2.439027 -1.396248 21.895350 -2.558251 -1.924005 12.893389 --2.591268 1.865444 12.551084 --2.709003 1.333932 12.003944 -0.821309 -2.027533 40.803573 -1.358555 -2.289309 27.038654 -1.347485 -1.741104 42.866249 -1.996795 -1.996795 25.489815 --0.788934 2.048816 40.333959 --1.394140 2.433171 22.112389 --1.491504 -2.317436 24.841395 --1.924005 -2.558251 13.014498 -2.085412 0.847887 38.608280 -2.339115 0.228740 31.776046 -2.583168 0.867246 19.336907 -2.714035 0.000000 14.433707 -2.464298 -0.369310 25.835176 -0.191070 -2.295472 33.635743 -0.411710 -1.805212 50.452125 -1.813941 0.419244 50.111056 --2.085412 -0.847887 38.503812 --2.442360 -1.389242 21.857794 --1.811324 -1.347319 41.100377 --1.996795 -1.996795 25.478650 --0.041330 -2.676601 16.154792 --0.415534 -2.412628 27.914657 -0.846082 -2.562099 20.281043 -0.228740 2.339115 31.724182 --0.362727 2.469069 25.642301 --0.281857 2.031116 43.234973 -1.345644 2.702400 12.167832 -1.855583 2.566671 13.314946 -2.289558 1.388149 26.692551 -1.736746 1.348401 42.930422 -1.996795 1.996795 25.358348 -1.376393 2.286163 26.891977 -0.855333 2.568848 19.948148 -0.847887 2.085412 38.519837 --0.787617 2.597531 18.819553 --2.587741 -0.785370 19.208383 --2.410932 -0.356389 28.213422 --2.288023 0.206717 33.951666 --1.913731 -0.332610 47.438060 --1.491079 -0.767388 57.134469 --0.966913 -0.955370 65.063699 --0.924722 -0.469911 71.695923 --1.454343 -1.792452 39.964900 --0.030042 -0.798192 74.937473 --0.070874 -1.224309 67.292074 -0.375039 -1.018424 70.338823 -1.787992 -1.396357 40.945606 --2.291776 1.354897 26.951240 --2.562369 0.846128 20.253104 --2.085412 0.847887 38.561220 --0.144650 0.585519 77.850957 -0.017951 1.199874 67.981281 --0.480120 1.086735 68.401245 -1.473252 0.774028 57.388562 -0.953551 0.944175 65.315382 -0.912896 0.465330 71.737189 -1.384444 1.773673 41.431751 --0.590643 0.111098 77.902113 --1.166446 0.087339 68.606763 --1.368369 0.599574 61.575274 --1.688483 0.133677 55.191589 --0.880851 1.454021 56.538629 --0.926033 0.880849 66.780758 -0.598148 1.355920 61.897548 -0.112610 1.731900 53.854354 -0.609961 -0.014911 77.527139 -1.163893 -0.045010 68.645166 -1.466650 -0.631237 59.179027 -1.710317 -0.000000 54.608136 -0.772952 -1.472005 57.470278 -0.873109 -0.905285 67.363692 --0.631237 -1.466650 59.161784 -0.000000 -1.710317 54.586747 -2.567236 1.857542 13.301943 -1.852610 -2.567195 13.332587 --1.924005 2.558251 12.898566 --2.558251 -1.924005 12.872511 --0.968334 -2.626306 16.964120 -0.450331 0.821385 73.134987 --1.669107 0.926944 50.242047 --1.329698 1.178059 54.920269 -0.303307 -0.466573 78.314594 -1.676346 -1.024268 48.795778 -1.320728 -1.206746 54.625739 -0.855159 -0.394841 72.828656 -0.925381 1.664115 50.371905 -1.191017 1.309872 55.101347 --0.945234 0.433707 71.106298 --1.024268 -1.676346 48.863898 --1.222157 -1.311644 54.589592 -1.345644 -2.702400 12.200057 -2.702400 1.345644 12.177502 --0.433747 1.609805 56.346666 -2.597747 -0.789356 18.754670 --0.609578 0.583016 74.384192 --1.481222 -0.284110 60.500534 --0.286010 -0.425521 78.635744 -1.428376 0.305601 61.670063 -0.364093 0.377490 78.223581 -0.305601 -1.428376 61.643591 -0.546426 1.855568 48.096963 -2.085412 -0.847887 38.518010 --1.855243 0.541617 48.179900 --0.902965 -2.027769 40.076374 -2.002485 -0.321355 44.195071 -0.000000 2.714035 14.421741 --0.351733 -1.982567 44.790095 --2.714035 0.000000 14.365843 --0.471669 -0.856131 72.490166 -0.000000 -0.000000 80.965887 -37 38 39 -40 5 41 -42 36 43 -44 13 45 -46 28 47 -35 48 49 -21 4 42 -50 13 14 -51 50 14 -52 53 54 -49 55 43 -50 37 45 -56 57 39 -27 58 59 -20 3 46 -60 61 62 -63 64 33 -65 52 66 -61 60 67 -68 69 70 -59 71 47 -72 73 25 -52 65 74 -24 65 72 -75 76 77 -78 79 6 -79 5 6 -60 80 81 -79 82 41 -83 84 85 -86 9 10 -9 86 76 -17 87 88 -87 17 18 -89 88 90 -32 61 63 -91 92 93 -71 94 70 -95 96 97 -55 98 54 -99 100 101 -102 103 104 -105 106 107 -82 108 81 -109 110 93 -110 111 112 -113 114 104 -115 116 103 -117 118 107 -119 120 118 -121 122 97 -123 124 96 -29 41 125 -84 83 78 -21 43 126 -34 48 35 -12 45 127 -100 99 51 -20 47 128 -27 129 58 -103 102 130 -131 132 38 -97 133 95 -134 135 98 -118 117 136 -137 138 108 -110 109 139 -140 141 94 -126 142 22 -122 121 135 -37 99 38 -16 89 100 -82 83 108 -8 75 84 -125 143 30 -106 105 138 -69 87 18 -92 91 141 -57 86 10 -104 144 113 -55 48 98 -33 64 145 -71 58 94 -25 73 129 -109 102 146 -75 77 116 -90 91 147 -93 148 109 -67 105 149 -130 102 150 -66 121 151 -117 133 136 -80 60 62 -29 125 30 -6 7 78 -152 137 85 -34 145 48 -153 119 134 -53 52 74 -21 126 22 -14 15 51 -154 131 101 -57 56 86 -12 127 11 -69 68 87 -20 128 19 -27 26 129 -155 123 140 -61 156 64 -32 31 62 -8 9 157 -75 116 152 -65 158 73 -24 23 74 -16 17 159 -89 112 154 -37 57 127 -12 2 44 -36 35 49 -55 53 126 -28 27 59 -71 69 128 -82 80 125 -29 1 40 -119 153 156 -119 136 122 -137 152 115 -115 130 106 -123 155 158 -123 160 92 -111 139 114 -131 154 111 -88 68 90 -88 89 159 -61 120 156 -64 153 145 -56 144 77 -76 75 157 -65 124 158 -73 155 129 -102 104 146 -161 117 150 -121 97 151 -121 52 54 -105 107 149 -105 60 81 -91 93 147 -91 68 70 -93 160 148 -109 161 102 -107 130 150 -117 161 133 -133 161 148 -133 97 122 -56 39 113 -144 104 103 -108 83 85 -108 138 81 -38 99 101 -38 132 39 -98 48 153 -98 135 54 -94 58 155 -94 141 70 -122 135 119 -122 136 133 -106 138 115 -107 106 130 -92 141 123 -93 92 160 -103 130 115 -103 116 144 -81 80 82 -81 138 105 -39 57 37 -113 132 114 -70 69 71 -70 141 91 -54 53 55 -54 135 121 -100 15 16 -101 100 89 -62 61 32 -62 31 143 -74 65 24 -74 23 142 -84 7 8 -85 84 75 -50 99 37 -50 45 13 -126 43 55 -126 53 142 -49 48 55 -49 43 36 -79 83 82 -79 41 5 -125 41 82 -125 80 143 -128 47 71 -19 128 69 -59 58 71 -59 47 28 -127 45 37 -11 127 57 -118 136 119 -118 120 149 -114 132 111 -114 139 146 -110 139 111 -110 112 147 -96 160 123 -96 124 151 -87 68 88 -18 19 69 -129 26 25 -58 129 155 -86 56 76 -10 11 57 -145 34 33 -48 145 153 -150 102 161 -150 117 107 -90 68 91 -90 112 89 -158 124 123 -73 158 155 -156 120 119 -64 156 153 -154 112 111 -89 154 101 -66 52 121 -65 66 124 -67 60 105 -61 67 120 -152 116 115 -75 152 85 -148 160 95 -109 148 161 -63 61 64 -32 63 33 -159 17 88 -16 159 89 -72 65 73 -24 72 25 -157 9 76 -8 157 75 -131 111 132 -101 131 38 -134 119 135 -153 134 98 -140 123 141 -155 140 94 -137 115 138 -85 137 108 -113 144 56 -132 113 39 -146 104 114 -146 139 109 -142 53 74 -22 142 23 -78 7 84 -78 83 79 -51 15 100 -51 99 50 -143 80 62 -30 143 31 -149 107 118 -149 120 67 -151 97 96 -151 124 66 -147 93 110 -147 112 90 -95 133 148 -95 160 96 -77 76 56 -116 77 144 -42 4 36 -21 42 43 -44 2 13 -12 44 45 -46 3 28 -20 46 47 -40 1 5 -29 40 41 diff --git a/triangle.grd b/triangle.grd deleted file mode 100644 index a6fa4b5..0000000 --- a/triangle.grd +++ /dev/null @@ -1,449 +0,0 @@ -# UCD geometry file from Gridgen 15.08R1, a product of Pointwise, Inc. -# 10-Jul-10 20:25:04 -# -161 284 0 0 0 -1 3.000000000e+000 3.000000000e+000 0.000000000e+000 -2 -3.000000000e+000 3.000000000e+000 0.000000000e+000 -3 -3.000000000e+000 -3.000000000e+000 0.000000000e+000 -4 3.000000000e+000 -3.000000000e+000 0.000000000e+000 -5 2.333333333e+000 3.000000000e+000 0.000000000e+000 -6 1.666666667e+000 3.000000000e+000 0.000000000e+000 -7 1.000000000e+000 3.000000000e+000 0.000000000e+000 -8 3.333333333e-001 3.000000000e+000 0.000000000e+000 -9 -3.333333333e-001 3.000000000e+000 0.000000000e+000 -10 -1.000000000e+000 3.000000000e+000 0.000000000e+000 -11 -1.666666667e+000 3.000000000e+000 0.000000000e+000 -12 -2.333333333e+000 3.000000000e+000 0.000000000e+000 -13 -3.000000000e+000 2.333333333e+000 0.000000000e+000 -14 -3.000000000e+000 1.666666667e+000 0.000000000e+000 -15 -3.000000000e+000 1.000000000e+000 0.000000000e+000 -16 -3.000000000e+000 3.333333333e-001 0.000000000e+000 -17 -3.000000000e+000 -3.333333333e-001 0.000000000e+000 -18 -3.000000000e+000 -1.000000000e+000 0.000000000e+000 -19 -3.000000000e+000 -1.666666667e+000 0.000000000e+000 -20 -3.000000000e+000 -2.333333333e+000 0.000000000e+000 -21 2.333333333e+000 -3.000000000e+000 0.000000000e+000 -22 1.666666667e+000 -3.000000000e+000 0.000000000e+000 -23 1.000000000e+000 -3.000000000e+000 0.000000000e+000 -24 3.333333333e-001 -3.000000000e+000 0.000000000e+000 -25 -3.333333333e-001 -3.000000000e+000 0.000000000e+000 -26 -1.000000000e+000 -3.000000000e+000 0.000000000e+000 -27 -1.666666667e+000 -3.000000000e+000 0.000000000e+000 -28 -2.333333333e+000 -3.000000000e+000 0.000000000e+000 -29 3.000000000e+000 2.333333333e+000 0.000000000e+000 -30 3.000000000e+000 1.666666667e+000 0.000000000e+000 -31 3.000000000e+000 1.000000000e+000 0.000000000e+000 -32 3.000000000e+000 3.333333333e-001 0.000000000e+000 -33 3.000000000e+000 -3.333333333e-001 0.000000000e+000 -34 3.000000000e+000 -1.000000000e+000 0.000000000e+000 -35 3.000000000e+000 -1.666666667e+000 0.000000000e+000 -36 3.000000000e+000 -2.333333333e+000 0.000000000e+000 -37 -1.996794872e+000 1.996794872e+000 0.000000000e+000 -38 -1.786508761e+000 1.395640906e+000 0.000000000e+000 -39 -1.381601534e+000 1.747001174e+000 0.000000000e+000 -40 2.686999678e+000 2.686999678e+000 0.000000000e+000 -41 2.414665378e+000 2.414665378e+000 0.000000000e+000 -42 2.686999678e+000 -2.686999678e+000 0.000000000e+000 -43 2.414665378e+000 -2.414665378e+000 0.000000000e+000 -44 -2.686999678e+000 2.686999678e+000 0.000000000e+000 -45 -2.414665378e+000 2.414665378e+000 0.000000000e+000 -46 -2.686999678e+000 -2.686999678e+000 0.000000000e+000 -47 -2.414665378e+000 -2.414665378e+000 0.000000000e+000 -48 2.439026814e+000 -1.396247864e+000 0.000000000e+000 -49 2.558251394e+000 -1.924004801e+000 0.000000000e+000 -50 -2.591268003e+000 1.865443892e+000 0.000000000e+000 -51 -2.709003073e+000 1.333932309e+000 0.000000000e+000 -52 8.213088311e-001 -2.027533399e+000 0.000000000e+000 -53 1.358555186e+000 -2.289308558e+000 0.000000000e+000 -54 1.347484832e+000 -1.741104037e+000 0.000000000e+000 -55 1.996794872e+000 -1.996794872e+000 0.000000000e+000 -56 -7.889343091e-001 2.048816309e+000 0.000000000e+000 -57 -1.394139893e+000 2.433171006e+000 0.000000000e+000 -58 -1.491504497e+000 -2.317436097e+000 0.000000000e+000 -59 -1.924004801e+000 -2.558251394e+000 0.000000000e+000 -60 2.085412440e+000 8.478870805e-001 0.000000000e+000 -61 2.339115223e+000 2.287397616e-001 0.000000000e+000 -62 2.583167729e+000 8.672457389e-001 0.000000000e+000 -63 2.714035283e+000 2.220446049e-016 0.000000000e+000 -64 2.464297567e+000 -3.693099428e-001 0.000000000e+000 -65 1.910696370e-001 -2.295472060e+000 0.000000000e+000 -66 4.117096533e-001 -1.805212040e+000 0.000000000e+000 -67 1.813940672e+000 4.192436782e-001 0.000000000e+000 -68 -2.085412440e+000 -8.478870805e-001 0.000000000e+000 -69 -2.442360051e+000 -1.389242338e+000 0.000000000e+000 -70 -1.811324489e+000 -1.347318654e+000 0.000000000e+000 -71 -1.996794872e+000 -1.996794872e+000 0.000000000e+000 -72 -4.132981970e-002 -2.676600911e+000 0.000000000e+000 -73 -4.155339731e-001 -2.412628465e+000 0.000000000e+000 -74 8.460816214e-001 -2.562098801e+000 0.000000000e+000 -75 2.287397616e-001 2.339115223e+000 0.000000000e+000 -76 -3.627269269e-001 2.469069400e+000 0.000000000e+000 -77 -2.818566154e-001 2.031116292e+000 0.000000000e+000 -78 1.345644491e+000 2.702399751e+000 0.000000000e+000 -79 1.855582896e+000 2.566670511e+000 0.000000000e+000 -80 2.289558446e+000 1.388149273e+000 0.000000000e+000 -81 1.736746487e+000 1.348400601e+000 0.000000000e+000 -82 1.996794872e+000 1.996794872e+000 0.000000000e+000 -83 1.376392634e+000 2.286163064e+000 0.000000000e+000 -84 8.553328834e-001 2.568848413e+000 0.000000000e+000 -85 8.478870805e-001 2.085412440e+000 0.000000000e+000 -86 -7.876174466e-001 2.597530569e+000 0.000000000e+000 -87 -2.587740815e+000 -7.853703336e-001 0.000000000e+000 -88 -2.410931584e+000 -3.563889158e-001 0.000000000e+000 -89 -2.288023379e+000 2.067171397e-001 0.000000000e+000 -90 -1.913731499e+000 -3.326098615e-001 0.000000000e+000 -91 -1.491079463e+000 -7.673882457e-001 0.000000000e+000 -92 -9.669133572e-001 -9.553703940e-001 0.000000000e+000 -93 -9.247222620e-001 -4.699110269e-001 0.000000000e+000 -94 -1.454343342e+000 -1.792451530e+000 0.000000000e+000 -95 -3.004159163e-002 -7.981915120e-001 0.000000000e+000 -96 -7.087405694e-002 -1.224309397e+000 0.000000000e+000 -97 3.750386586e-001 -1.018423943e+000 0.000000000e+000 -98 1.787991827e+000 -1.396357332e+000 0.000000000e+000 -99 -2.291775925e+000 1.354896713e+000 0.000000000e+000 -100 -2.562369136e+000 8.461277626e-001 0.000000000e+000 -101 -2.085412440e+000 8.478870805e-001 0.000000000e+000 -102 -1.446504788e-001 5.855193921e-001 0.000000000e+000 -103 1.795072924e-002 1.199873800e+000 0.000000000e+000 -104 -4.801200716e-001 1.086734787e+000 0.000000000e+000 -105 1.473251844e+000 7.740283463e-001 0.000000000e+000 -106 9.535508755e-001 9.441750991e-001 0.000000000e+000 -107 9.128963449e-001 4.653299898e-001 0.000000000e+000 -108 1.384444476e+000 1.773672512e+000 0.000000000e+000 -109 -5.906434787e-001 1.110977934e-001 0.000000000e+000 -110 -1.166445722e+000 8.733918611e-002 0.000000000e+000 -111 -1.368369160e+000 5.995738609e-001 0.000000000e+000 -112 -1.688483099e+000 1.336771601e-001 0.000000000e+000 -113 -8.808509060e-001 1.454020967e+000 0.000000000e+000 -114 -9.260327871e-001 8.808493333e-001 0.000000000e+000 -115 5.981481493e-001 1.355919902e+000 0.000000000e+000 -116 1.126102619e-001 1.731899692e+000 0.000000000e+000 -117 6.099608418e-001 -1.491138191e-002 0.000000000e+000 -118 1.163893262e+000 -4.500984824e-002 0.000000000e+000 -119 1.466649760e+000 -6.312373202e-001 0.000000000e+000 -120 1.710317460e+000 -1.110223025e-016 0.000000000e+000 -121 7.729520570e-001 -1.472004897e+000 0.000000000e+000 -122 8.731094594e-001 -9.052849301e-001 0.000000000e+000 -123 -6.312373202e-001 -1.466649760e+000 0.000000000e+000 -124 1.387778781e-017 -1.710317460e+000 0.000000000e+000 -125 2.567236408e+000 1.857542336e+000 0.000000000e+000 -126 1.852609988e+000 -2.567194760e+000 0.000000000e+000 -127 -1.924004801e+000 2.558251394e+000 0.000000000e+000 -128 -2.558251394e+000 -1.924004801e+000 0.000000000e+000 -129 -9.683338586e-001 -2.626305670e+000 0.000000000e+000 -130 4.503314736e-001 8.213846332e-001 0.000000000e+000 -131 -1.669106639e+000 9.269438537e-001 0.000000000e+000 -132 -1.329697818e+000 1.178058902e+000 0.000000000e+000 -133 3.033073575e-001 -4.665725709e-001 0.000000000e+000 -134 1.676346038e+000 -1.024267782e+000 0.000000000e+000 -135 1.320727966e+000 -1.206746125e+000 0.000000000e+000 -136 8.551587302e-001 -3.948412698e-001 0.000000000e+000 -137 9.253812189e-001 1.664114608e+000 0.000000000e+000 -138 1.191016842e+000 1.309871520e+000 0.000000000e+000 -139 -9.452340023e-001 4.337069851e-001 0.000000000e+000 -140 -1.024267782e+000 -1.676346038e+000 0.000000000e+000 -141 -1.222156611e+000 -1.311644350e+000 0.000000000e+000 -142 1.345644491e+000 -2.702399751e+000 0.000000000e+000 -143 2.702399751e+000 1.345644491e+000 0.000000000e+000 -144 -4.337468421e-001 1.609804753e+000 0.000000000e+000 -145 2.597747364e+000 -7.893556441e-001 0.000000000e+000 -146 -6.095777425e-001 5.830158392e-001 0.000000000e+000 -147 -1.481222327e+000 -2.841096559e-001 0.000000000e+000 -148 -2.860104688e-001 -4.255206929e-001 0.000000000e+000 -149 1.428376434e+000 3.056008927e-001 0.000000000e+000 -150 3.640932214e-001 3.774896164e-001 0.000000000e+000 -151 3.056008927e-001 -1.428376434e+000 0.000000000e+000 -152 5.464263888e-001 1.855568184e+000 0.000000000e+000 -153 2.085412440e+000 -8.478870805e-001 0.000000000e+000 -154 -1.855242834e+000 5.416174205e-001 0.000000000e+000 -155 -9.029646811e-001 -2.027769461e+000 0.000000000e+000 -156 2.002485293e+000 -3.213547110e-001 0.000000000e+000 -157 2.220446049e-016 2.714035283e+000 0.000000000e+000 -158 -3.517332675e-001 -1.982567441e+000 0.000000000e+000 -159 -2.714035283e+000 2.220446049e-016 0.000000000e+000 -160 -4.716694485e-001 -8.561309558e-001 0.000000000e+000 -161 0.000000000e+000 -2.775557562e-017 0.000000000e+000 -1 0 tri 37 38 39 -2 0 tri 40 5 41 -3 0 tri 42 36 43 -4 0 tri 44 13 45 -5 0 tri 46 28 47 -6 0 tri 35 48 49 -7 0 tri 21 4 42 -8 0 tri 50 13 14 -9 0 tri 51 50 14 -10 0 tri 52 53 54 -11 0 tri 49 55 43 -12 0 tri 50 37 45 -13 0 tri 56 57 39 -14 0 tri 27 58 59 -15 0 tri 20 3 46 -16 0 tri 60 61 62 -17 0 tri 63 64 33 -18 0 tri 65 52 66 -19 0 tri 61 60 67 -20 0 tri 68 69 70 -21 0 tri 59 71 47 -22 0 tri 72 73 25 -23 0 tri 52 65 74 -24 0 tri 24 65 72 -25 0 tri 75 76 77 -26 0 tri 78 79 6 -27 0 tri 79 5 6 -28 0 tri 60 80 81 -29 0 tri 79 82 41 -30 0 tri 83 84 85 -31 0 tri 86 9 10 -32 0 tri 9 86 76 -33 0 tri 17 87 88 -34 0 tri 87 17 18 -35 0 tri 89 88 90 -36 0 tri 32 61 63 -37 0 tri 91 92 93 -38 0 tri 71 94 70 -39 0 tri 95 96 97 -40 0 tri 55 98 54 -41 0 tri 99 100 101 -42 0 tri 102 103 104 -43 0 tri 105 106 107 -44 0 tri 82 108 81 -45 0 tri 109 110 93 -46 0 tri 110 111 112 -47 0 tri 113 114 104 -48 0 tri 115 116 103 -49 0 tri 117 118 107 -50 0 tri 119 120 118 -51 0 tri 121 122 97 -52 0 tri 123 124 96 -53 0 tri 29 41 125 -54 0 tri 84 83 78 -55 0 tri 21 43 126 -56 0 tri 34 48 35 -57 0 tri 12 45 127 -58 0 tri 100 99 51 -59 0 tri 20 47 128 -60 0 tri 27 129 58 -61 0 tri 103 102 130 -62 0 tri 131 132 38 -63 0 tri 97 133 95 -64 0 tri 134 135 98 -65 0 tri 118 117 136 -66 0 tri 137 138 108 -67 0 tri 110 109 139 -68 0 tri 140 141 94 -69 0 tri 126 142 22 -70 0 tri 122 121 135 -71 0 tri 37 99 38 -72 0 tri 16 89 100 -73 0 tri 82 83 108 -74 0 tri 8 75 84 -75 0 tri 125 143 30 -76 0 tri 106 105 138 -77 0 tri 69 87 18 -78 0 tri 92 91 141 -79 0 tri 57 86 10 -80 0 tri 104 144 113 -81 0 tri 55 48 98 -82 0 tri 33 64 145 -83 0 tri 71 58 94 -84 0 tri 25 73 129 -85 0 tri 109 102 146 -86 0 tri 75 77 116 -87 0 tri 90 91 147 -88 0 tri 93 148 109 -89 0 tri 67 105 149 -90 0 tri 130 102 150 -91 0 tri 66 121 151 -92 0 tri 117 133 136 -93 0 tri 80 60 62 -94 0 tri 29 125 30 -95 0 tri 6 7 78 -96 0 tri 152 137 85 -97 0 tri 34 145 48 -98 0 tri 153 119 134 -99 0 tri 53 52 74 -100 0 tri 21 126 22 -101 0 tri 14 15 51 -102 0 tri 154 131 101 -103 0 tri 57 56 86 -104 0 tri 12 127 11 -105 0 tri 69 68 87 -106 0 tri 20 128 19 -107 0 tri 27 26 129 -108 0 tri 155 123 140 -109 0 tri 61 156 64 -110 0 tri 32 31 62 -111 0 tri 8 9 157 -112 0 tri 75 116 152 -113 0 tri 65 158 73 -114 0 tri 24 23 74 -115 0 tri 16 17 159 -116 0 tri 89 112 154 -117 0 tri 37 57 127 -118 0 tri 12 2 44 -119 0 tri 36 35 49 -120 0 tri 55 53 126 -121 0 tri 28 27 59 -122 0 tri 71 69 128 -123 0 tri 82 80 125 -124 0 tri 29 1 40 -125 0 tri 119 153 156 -126 0 tri 119 136 122 -127 0 tri 137 152 115 -128 0 tri 115 130 106 -129 0 tri 123 155 158 -130 0 tri 123 160 92 -131 0 tri 111 139 114 -132 0 tri 131 154 111 -133 0 tri 88 68 90 -134 0 tri 88 89 159 -135 0 tri 61 120 156 -136 0 tri 64 153 145 -137 0 tri 56 144 77 -138 0 tri 76 75 157 -139 0 tri 65 124 158 -140 0 tri 73 155 129 -141 0 tri 102 104 146 -142 0 tri 161 117 150 -143 0 tri 121 97 151 -144 0 tri 121 52 54 -145 0 tri 105 107 149 -146 0 tri 105 60 81 -147 0 tri 91 93 147 -148 0 tri 91 68 70 -149 0 tri 93 160 148 -150 0 tri 109 161 102 -151 0 tri 107 130 150 -152 0 tri 117 161 133 -153 0 tri 133 161 148 -154 0 tri 133 97 122 -155 0 tri 56 39 113 -156 0 tri 144 104 103 -157 0 tri 108 83 85 -158 0 tri 108 138 81 -159 0 tri 38 99 101 -160 0 tri 38 132 39 -161 0 tri 98 48 153 -162 0 tri 98 135 54 -163 0 tri 94 58 155 -164 0 tri 94 141 70 -165 0 tri 122 135 119 -166 0 tri 122 136 133 -167 0 tri 106 138 115 -168 0 tri 107 106 130 -169 0 tri 92 141 123 -170 0 tri 93 92 160 -171 0 tri 103 130 115 -172 0 tri 103 116 144 -173 0 tri 81 80 82 -174 0 tri 81 138 105 -175 0 tri 39 57 37 -176 0 tri 113 132 114 -177 0 tri 70 69 71 -178 0 tri 70 141 91 -179 0 tri 54 53 55 -180 0 tri 54 135 121 -181 0 tri 100 15 16 -182 0 tri 101 100 89 -183 0 tri 62 61 32 -184 0 tri 62 31 143 -185 0 tri 74 65 24 -186 0 tri 74 23 142 -187 0 tri 84 7 8 -188 0 tri 85 84 75 -189 0 tri 50 99 37 -190 0 tri 50 45 13 -191 0 tri 126 43 55 -192 0 tri 126 53 142 -193 0 tri 49 48 55 -194 0 tri 49 43 36 -195 0 tri 79 83 82 -196 0 tri 79 41 5 -197 0 tri 125 41 82 -198 0 tri 125 80 143 -199 0 tri 128 47 71 -200 0 tri 19 128 69 -201 0 tri 59 58 71 -202 0 tri 59 47 28 -203 0 tri 127 45 37 -204 0 tri 11 127 57 -205 0 tri 118 136 119 -206 0 tri 118 120 149 -207 0 tri 114 132 111 -208 0 tri 114 139 146 -209 0 tri 110 139 111 -210 0 tri 110 112 147 -211 0 tri 96 160 123 -212 0 tri 96 124 151 -213 0 tri 87 68 88 -214 0 tri 18 19 69 -215 0 tri 129 26 25 -216 0 tri 58 129 155 -217 0 tri 86 56 76 -218 0 tri 10 11 57 -219 0 tri 145 34 33 -220 0 tri 48 145 153 -221 0 tri 150 102 161 -222 0 tri 150 117 107 -223 0 tri 90 68 91 -224 0 tri 90 112 89 -225 0 tri 158 124 123 -226 0 tri 73 158 155 -227 0 tri 156 120 119 -228 0 tri 64 156 153 -229 0 tri 154 112 111 -230 0 tri 89 154 101 -231 0 tri 66 52 121 -232 0 tri 65 66 124 -233 0 tri 67 60 105 -234 0 tri 61 67 120 -235 0 tri 152 116 115 -236 0 tri 75 152 85 -237 0 tri 148 160 95 -238 0 tri 109 148 161 -239 0 tri 63 61 64 -240 0 tri 32 63 33 -241 0 tri 159 17 88 -242 0 tri 16 159 89 -243 0 tri 72 65 73 -244 0 tri 24 72 25 -245 0 tri 157 9 76 -246 0 tri 8 157 75 -247 0 tri 131 111 132 -248 0 tri 101 131 38 -249 0 tri 134 119 135 -250 0 tri 153 134 98 -251 0 tri 140 123 141 -252 0 tri 155 140 94 -253 0 tri 137 115 138 -254 0 tri 85 137 108 -255 0 tri 113 144 56 -256 0 tri 132 113 39 -257 0 tri 146 104 114 -258 0 tri 146 139 109 -259 0 tri 142 53 74 -260 0 tri 22 142 23 -261 0 tri 78 7 84 -262 0 tri 78 83 79 -263 0 tri 51 15 100 -264 0 tri 51 99 50 -265 0 tri 143 80 62 -266 0 tri 30 143 31 -267 0 tri 149 107 118 -268 0 tri 149 120 67 -269 0 tri 151 97 96 -270 0 tri 151 124 66 -271 0 tri 147 93 110 -272 0 tri 147 112 90 -273 0 tri 95 133 148 -274 0 tri 95 160 96 -275 0 tri 77 76 56 -276 0 tri 116 77 144 -277 0 tri 42 4 36 -278 0 tri 21 42 43 -279 0 tri 44 2 13 -280 0 tri 12 44 45 -281 0 tri 46 3 28 -282 0 tri 20 46 47 -283 0 tri 40 1 5 -284 0 tri 29 40 41 diff --git a/triangle_hardcode.dat b/triangle_hardcode.dat deleted file mode 100644 index 95031d0..0000000 --- a/triangle_hardcode.dat +++ /dev/null @@ -1,447 +0,0 @@ -VARIABLES="X","Y","U" -ZONE F=FEPOINT ET=TRIANGLE N=161 E=284 -3.000000 3.000000 0.000000 --3.000000 3.000000 0.000000 --3.000000 -3.000000 0.000000 -3.000000 -3.000000 0.000000 -2.333333 3.000000 0.000000 -1.666667 3.000000 0.000000 -1.000000 3.000000 0.000000 -0.333333 3.000000 0.000000 --0.333333 3.000000 0.000000 --1.000000 3.000000 0.000000 --1.666667 3.000000 0.000000 --2.333333 3.000000 0.000000 --3.000000 2.333333 0.000000 --3.000000 1.666667 0.000000 --3.000000 1.000000 0.000000 --3.000000 0.333333 0.000000 --3.000000 -0.333333 0.000000 --3.000000 -1.000000 0.000000 --3.000000 -1.666667 0.000000 --3.000000 -2.333333 0.000000 -2.333333 -3.000000 0.000000 -1.666667 -3.000000 0.000000 -1.000000 -3.000000 0.000000 -0.333333 -3.000000 0.000000 --0.333333 -3.000000 0.000000 --1.000000 -3.000000 0.000000 --1.666667 -3.000000 0.000000 --2.333333 -3.000000 0.000000 -3.000000 2.333333 0.000000 -3.000000 1.666667 0.000000 -3.000000 1.000000 0.000000 -3.000000 0.333333 0.000000 -3.000000 -0.333333 0.000000 -3.000000 -1.000000 0.000000 -3.000000 -1.666667 0.000000 -3.000000 -2.333333 0.000000 --1.996795 1.996795 25.520632 --1.786509 1.395641 40.948450 --1.381602 1.747001 42.244250 -2.687000 2.687000 3.204465 -2.414665 2.414665 10.355239 -2.687000 -2.687000 3.191939 -2.414665 -2.414665 10.311753 --2.687000 2.687000 3.184532 --2.414665 2.414665 10.286036 --2.687000 -2.687000 3.177874 --2.414665 -2.414665 10.262920 -2.439027 -1.396248 21.895350 -2.558251 -1.924005 12.893389 --2.591268 1.865444 12.551084 --2.709003 1.333932 12.003944 -0.821309 -2.027533 40.803573 -1.358555 -2.289309 27.038654 -1.347485 -1.741104 42.866249 -1.996795 -1.996795 25.489815 --0.788934 2.048816 40.333959 --1.394140 2.433171 22.112389 --1.491504 -2.317436 24.841395 --1.924005 -2.558251 13.014498 -2.085412 0.847887 38.608280 -2.339115 0.228740 31.776046 -2.583168 0.867246 19.336907 -2.714035 0.000000 14.433707 -2.464298 -0.369310 25.835176 -0.191070 -2.295472 33.635743 -0.411710 -1.805212 50.452125 -1.813941 0.419244 50.111056 --2.085412 -0.847887 38.503812 --2.442360 -1.389242 21.857794 --1.811324 -1.347319 41.100377 --1.996795 -1.996795 25.478650 --0.041330 -2.676601 16.154792 --0.415534 -2.412628 27.914657 -0.846082 -2.562099 20.281043 -0.228740 2.339115 31.724182 --0.362727 2.469069 25.642301 --0.281857 2.031116 43.234973 -1.345644 2.702400 12.167832 -1.855583 2.566671 13.314946 -2.289558 1.388149 26.692551 -1.736746 1.348401 42.930422 -1.996795 1.996795 25.358348 -1.376393 2.286163 26.891977 -0.855333 2.568848 19.948148 -0.847887 2.085412 38.519837 --0.787617 2.597531 18.819553 --2.587741 -0.785370 19.208383 --2.410932 -0.356389 28.213422 --2.288023 0.206717 33.951666 --1.913731 -0.332610 47.438060 --1.491079 -0.767388 57.134469 --0.966913 -0.955370 65.063699 --0.924722 -0.469911 71.695923 --1.454343 -1.792452 39.964900 --0.030042 -0.798192 74.937473 --0.070874 -1.224309 67.292074 -0.375039 -1.018424 70.338823 -1.787992 -1.396357 40.945606 --2.291776 1.354897 26.951240 --2.562369 0.846128 20.253104 --2.085412 0.847887 38.561220 --0.144650 0.585519 77.850957 -0.017951 1.199874 67.981281 --0.480120 1.086735 68.401245 -1.473252 0.774028 57.388562 -0.953551 0.944175 65.315382 -0.912896 0.465330 71.737189 -1.384444 1.773673 41.431751 --0.590643 0.111098 77.902113 --1.166446 0.087339 68.606763 --1.368369 0.599574 61.575274 --1.688483 0.133677 55.191589 --0.880851 1.454021 56.538629 --0.926033 0.880849 66.780758 -0.598148 1.355920 61.897548 -0.112610 1.731900 53.854354 -0.609961 -0.014911 77.527139 -1.163893 -0.045010 68.645166 -1.466650 -0.631237 59.179027 -1.710317 -0.000000 54.608136 -0.772952 -1.472005 57.470278 -0.873109 -0.905285 67.363692 --0.631237 -1.466650 59.161784 -0.000000 -1.710317 54.586747 -2.567236 1.857542 13.301943 -1.852610 -2.567195 13.332587 --1.924005 2.558251 12.898566 --2.558251 -1.924005 12.872511 --0.968334 -2.626306 16.964120 -0.450331 0.821385 73.134987 --1.669107 0.926944 50.242047 --1.329698 1.178059 54.920269 -0.303307 -0.466573 78.314594 -1.676346 -1.024268 48.795778 -1.320728 -1.206746 54.625739 -0.855159 -0.394841 72.828656 -0.925381 1.664115 50.371905 -1.191017 1.309872 55.101347 --0.945234 0.433707 71.106298 --1.024268 -1.676346 48.863898 --1.222157 -1.311644 54.589592 -1.345644 -2.702400 12.200057 -2.702400 1.345644 12.177502 --0.433747 1.609805 56.346666 -2.597747 -0.789356 18.754670 --0.609578 0.583016 74.384192 --1.481222 -0.284110 60.500534 --0.286010 -0.425521 78.635744 -1.428376 0.305601 61.670063 -0.364093 0.377490 78.223581 -0.305601 -1.428376 61.643591 -0.546426 1.855568 48.096963 -2.085412 -0.847887 38.518010 --1.855243 0.541617 48.179900 --0.902965 -2.027769 40.076374 -2.002485 -0.321355 44.195071 -0.000000 2.714035 14.421741 --0.351733 -1.982567 44.790095 --2.714035 0.000000 14.365843 --0.471669 -0.856131 72.490166 -0.000000 -0.000000 80.965887 -37 38 39 -40 5 41 -42 36 43 -44 13 45 -46 28 47 -35 48 49 -21 4 42 -50 13 14 -51 50 14 -52 53 54 -49 55 43 -50 37 45 -56 57 39 -27 58 59 -20 3 46 -60 61 62 -63 64 33 -65 52 66 -61 60 67 -68 69 70 -59 71 47 -72 73 25 -52 65 74 -24 65 72 -75 76 77 -78 79 6 -79 5 6 -60 80 81 -79 82 41 -83 84 85 -86 9 10 -9 86 76 -17 87 88 -87 17 18 -89 88 90 -32 61 63 -91 92 93 -71 94 70 -95 96 97 -55 98 54 -99 100 101 -102 103 104 -105 106 107 -82 108 81 -109 110 93 -110 111 112 -113 114 104 -115 116 103 -117 118 107 -119 120 118 -121 122 97 -123 124 96 -29 41 125 -84 83 78 -21 43 126 -34 48 35 -12 45 127 -100 99 51 -20 47 128 -27 129 58 -103 102 130 -131 132 38 -97 133 95 -134 135 98 -118 117 136 -137 138 108 -110 109 139 -140 141 94 -126 142 22 -122 121 135 -37 99 38 -16 89 100 -82 83 108 -8 75 84 -125 143 30 -106 105 138 -69 87 18 -92 91 141 -57 86 10 -104 144 113 -55 48 98 -33 64 145 -71 58 94 -25 73 129 -109 102 146 -75 77 116 -90 91 147 -93 148 109 -67 105 149 -130 102 150 -66 121 151 -117 133 136 -80 60 62 -29 125 30 -6 7 78 -152 137 85 -34 145 48 -153 119 134 -53 52 74 -21 126 22 -14 15 51 -154 131 101 -57 56 86 -12 127 11 -69 68 87 -20 128 19 -27 26 129 -155 123 140 -61 156 64 -32 31 62 -8 9 157 -75 116 152 -65 158 73 -24 23 74 -16 17 159 -89 112 154 -37 57 127 -12 2 44 -36 35 49 -55 53 126 -28 27 59 -71 69 128 -82 80 125 -29 1 40 -119 153 156 -119 136 122 -137 152 115 -115 130 106 -123 155 158 -123 160 92 -111 139 114 -131 154 111 -88 68 90 -88 89 159 -61 120 156 -64 153 145 -56 144 77 -76 75 157 -65 124 158 -73 155 129 -102 104 146 -161 117 150 -121 97 151 -121 52 54 -105 107 149 -105 60 81 -91 93 147 -91 68 70 -93 160 148 -109 161 102 -107 130 150 -117 161 133 -133 161 148 -133 97 122 -56 39 113 -144 104 103 -108 83 85 -108 138 81 -38 99 101 -38 132 39 -98 48 153 -98 135 54 -94 58 155 -94 141 70 -122 135 119 -122 136 133 -106 138 115 -107 106 130 -92 141 123 -93 92 160 -103 130 115 -103 116 144 -81 80 82 -81 138 105 -39 57 37 -113 132 114 -70 69 71 -70 141 91 -54 53 55 -54 135 121 -100 15 16 -101 100 89 -62 61 32 -62 31 143 -74 65 24 -74 23 142 -84 7 8 -85 84 75 -50 99 37 -50 45 13 -126 43 55 -126 53 142 -49 48 55 -49 43 36 -79 83 82 -79 41 5 -125 41 82 -125 80 143 -128 47 71 -19 128 69 -59 58 71 -59 47 28 -127 45 37 -11 127 57 -118 136 119 -118 120 149 -114 132 111 -114 139 146 -110 139 111 -110 112 147 -96 160 123 -96 124 151 -87 68 88 -18 19 69 -129 26 25 -58 129 155 -86 56 76 -10 11 57 -145 34 33 -48 145 153 -150 102 161 -150 117 107 -90 68 91 -90 112 89 -158 124 123 -73 158 155 -156 120 119 -64 156 153 -154 112 111 -89 154 101 -66 52 121 -65 66 124 -67 60 105 -61 67 120 -152 116 115 -75 152 85 -148 160 95 -109 148 161 -63 61 64 -32 63 33 -159 17 88 -16 159 89 -72 65 73 -24 72 25 -157 9 76 -8 157 75 -131 111 132 -101 131 38 -134 119 135 -153 134 98 -140 123 141 -155 140 94 -137 115 138 -85 137 108 -113 144 56 -132 113 39 -146 104 114 -146 139 109 -142 53 74 -22 142 23 -78 7 84 -78 83 79 -51 15 100 -51 99 50 -143 80 62 -30 143 31 -149 107 118 -149 120 67 -151 97 96 -151 124 66 -147 93 110 -147 112 90 -95 133 148 -95 160 96 -77 76 56 -116 77 144 -42 4 36 -21 42 43 -44 2 13 -12 44 45 -46 3 28 -20 46 47 -40 1 5 -29 40 41 diff --git a/triangle_neumann.dat b/triangle_neumann.dat deleted file mode 100644 index 95031d0..0000000 --- a/triangle_neumann.dat +++ /dev/null @@ -1,447 +0,0 @@ -VARIABLES="X","Y","U" -ZONE F=FEPOINT ET=TRIANGLE N=161 E=284 -3.000000 3.000000 0.000000 --3.000000 3.000000 0.000000 --3.000000 -3.000000 0.000000 -3.000000 -3.000000 0.000000 -2.333333 3.000000 0.000000 -1.666667 3.000000 0.000000 -1.000000 3.000000 0.000000 -0.333333 3.000000 0.000000 --0.333333 3.000000 0.000000 --1.000000 3.000000 0.000000 --1.666667 3.000000 0.000000 --2.333333 3.000000 0.000000 --3.000000 2.333333 0.000000 --3.000000 1.666667 0.000000 --3.000000 1.000000 0.000000 --3.000000 0.333333 0.000000 --3.000000 -0.333333 0.000000 --3.000000 -1.000000 0.000000 --3.000000 -1.666667 0.000000 --3.000000 -2.333333 0.000000 -2.333333 -3.000000 0.000000 -1.666667 -3.000000 0.000000 -1.000000 -3.000000 0.000000 -0.333333 -3.000000 0.000000 --0.333333 -3.000000 0.000000 --1.000000 -3.000000 0.000000 --1.666667 -3.000000 0.000000 --2.333333 -3.000000 0.000000 -3.000000 2.333333 0.000000 -3.000000 1.666667 0.000000 -3.000000 1.000000 0.000000 -3.000000 0.333333 0.000000 -3.000000 -0.333333 0.000000 -3.000000 -1.000000 0.000000 -3.000000 -1.666667 0.000000 -3.000000 -2.333333 0.000000 --1.996795 1.996795 25.520632 --1.786509 1.395641 40.948450 --1.381602 1.747001 42.244250 -2.687000 2.687000 3.204465 -2.414665 2.414665 10.355239 -2.687000 -2.687000 3.191939 -2.414665 -2.414665 10.311753 --2.687000 2.687000 3.184532 --2.414665 2.414665 10.286036 --2.687000 -2.687000 3.177874 --2.414665 -2.414665 10.262920 -2.439027 -1.396248 21.895350 -2.558251 -1.924005 12.893389 --2.591268 1.865444 12.551084 --2.709003 1.333932 12.003944 -0.821309 -2.027533 40.803573 -1.358555 -2.289309 27.038654 -1.347485 -1.741104 42.866249 -1.996795 -1.996795 25.489815 --0.788934 2.048816 40.333959 --1.394140 2.433171 22.112389 --1.491504 -2.317436 24.841395 --1.924005 -2.558251 13.014498 -2.085412 0.847887 38.608280 -2.339115 0.228740 31.776046 -2.583168 0.867246 19.336907 -2.714035 0.000000 14.433707 -2.464298 -0.369310 25.835176 -0.191070 -2.295472 33.635743 -0.411710 -1.805212 50.452125 -1.813941 0.419244 50.111056 --2.085412 -0.847887 38.503812 --2.442360 -1.389242 21.857794 --1.811324 -1.347319 41.100377 --1.996795 -1.996795 25.478650 --0.041330 -2.676601 16.154792 --0.415534 -2.412628 27.914657 -0.846082 -2.562099 20.281043 -0.228740 2.339115 31.724182 --0.362727 2.469069 25.642301 --0.281857 2.031116 43.234973 -1.345644 2.702400 12.167832 -1.855583 2.566671 13.314946 -2.289558 1.388149 26.692551 -1.736746 1.348401 42.930422 -1.996795 1.996795 25.358348 -1.376393 2.286163 26.891977 -0.855333 2.568848 19.948148 -0.847887 2.085412 38.519837 --0.787617 2.597531 18.819553 --2.587741 -0.785370 19.208383 --2.410932 -0.356389 28.213422 --2.288023 0.206717 33.951666 --1.913731 -0.332610 47.438060 --1.491079 -0.767388 57.134469 --0.966913 -0.955370 65.063699 --0.924722 -0.469911 71.695923 --1.454343 -1.792452 39.964900 --0.030042 -0.798192 74.937473 --0.070874 -1.224309 67.292074 -0.375039 -1.018424 70.338823 -1.787992 -1.396357 40.945606 --2.291776 1.354897 26.951240 --2.562369 0.846128 20.253104 --2.085412 0.847887 38.561220 --0.144650 0.585519 77.850957 -0.017951 1.199874 67.981281 --0.480120 1.086735 68.401245 -1.473252 0.774028 57.388562 -0.953551 0.944175 65.315382 -0.912896 0.465330 71.737189 -1.384444 1.773673 41.431751 --0.590643 0.111098 77.902113 --1.166446 0.087339 68.606763 --1.368369 0.599574 61.575274 --1.688483 0.133677 55.191589 --0.880851 1.454021 56.538629 --0.926033 0.880849 66.780758 -0.598148 1.355920 61.897548 -0.112610 1.731900 53.854354 -0.609961 -0.014911 77.527139 -1.163893 -0.045010 68.645166 -1.466650 -0.631237 59.179027 -1.710317 -0.000000 54.608136 -0.772952 -1.472005 57.470278 -0.873109 -0.905285 67.363692 --0.631237 -1.466650 59.161784 -0.000000 -1.710317 54.586747 -2.567236 1.857542 13.301943 -1.852610 -2.567195 13.332587 --1.924005 2.558251 12.898566 --2.558251 -1.924005 12.872511 --0.968334 -2.626306 16.964120 -0.450331 0.821385 73.134987 --1.669107 0.926944 50.242047 --1.329698 1.178059 54.920269 -0.303307 -0.466573 78.314594 -1.676346 -1.024268 48.795778 -1.320728 -1.206746 54.625739 -0.855159 -0.394841 72.828656 -0.925381 1.664115 50.371905 -1.191017 1.309872 55.101347 --0.945234 0.433707 71.106298 --1.024268 -1.676346 48.863898 --1.222157 -1.311644 54.589592 -1.345644 -2.702400 12.200057 -2.702400 1.345644 12.177502 --0.433747 1.609805 56.346666 -2.597747 -0.789356 18.754670 --0.609578 0.583016 74.384192 --1.481222 -0.284110 60.500534 --0.286010 -0.425521 78.635744 -1.428376 0.305601 61.670063 -0.364093 0.377490 78.223581 -0.305601 -1.428376 61.643591 -0.546426 1.855568 48.096963 -2.085412 -0.847887 38.518010 --1.855243 0.541617 48.179900 --0.902965 -2.027769 40.076374 -2.002485 -0.321355 44.195071 -0.000000 2.714035 14.421741 --0.351733 -1.982567 44.790095 --2.714035 0.000000 14.365843 --0.471669 -0.856131 72.490166 -0.000000 -0.000000 80.965887 -37 38 39 -40 5 41 -42 36 43 -44 13 45 -46 28 47 -35 48 49 -21 4 42 -50 13 14 -51 50 14 -52 53 54 -49 55 43 -50 37 45 -56 57 39 -27 58 59 -20 3 46 -60 61 62 -63 64 33 -65 52 66 -61 60 67 -68 69 70 -59 71 47 -72 73 25 -52 65 74 -24 65 72 -75 76 77 -78 79 6 -79 5 6 -60 80 81 -79 82 41 -83 84 85 -86 9 10 -9 86 76 -17 87 88 -87 17 18 -89 88 90 -32 61 63 -91 92 93 -71 94 70 -95 96 97 -55 98 54 -99 100 101 -102 103 104 -105 106 107 -82 108 81 -109 110 93 -110 111 112 -113 114 104 -115 116 103 -117 118 107 -119 120 118 -121 122 97 -123 124 96 -29 41 125 -84 83 78 -21 43 126 -34 48 35 -12 45 127 -100 99 51 -20 47 128 -27 129 58 -103 102 130 -131 132 38 -97 133 95 -134 135 98 -118 117 136 -137 138 108 -110 109 139 -140 141 94 -126 142 22 -122 121 135 -37 99 38 -16 89 100 -82 83 108 -8 75 84 -125 143 30 -106 105 138 -69 87 18 -92 91 141 -57 86 10 -104 144 113 -55 48 98 -33 64 145 -71 58 94 -25 73 129 -109 102 146 -75 77 116 -90 91 147 -93 148 109 -67 105 149 -130 102 150 -66 121 151 -117 133 136 -80 60 62 -29 125 30 -6 7 78 -152 137 85 -34 145 48 -153 119 134 -53 52 74 -21 126 22 -14 15 51 -154 131 101 -57 56 86 -12 127 11 -69 68 87 -20 128 19 -27 26 129 -155 123 140 -61 156 64 -32 31 62 -8 9 157 -75 116 152 -65 158 73 -24 23 74 -16 17 159 -89 112 154 -37 57 127 -12 2 44 -36 35 49 -55 53 126 -28 27 59 -71 69 128 -82 80 125 -29 1 40 -119 153 156 -119 136 122 -137 152 115 -115 130 106 -123 155 158 -123 160 92 -111 139 114 -131 154 111 -88 68 90 -88 89 159 -61 120 156 -64 153 145 -56 144 77 -76 75 157 -65 124 158 -73 155 129 -102 104 146 -161 117 150 -121 97 151 -121 52 54 -105 107 149 -105 60 81 -91 93 147 -91 68 70 -93 160 148 -109 161 102 -107 130 150 -117 161 133 -133 161 148 -133 97 122 -56 39 113 -144 104 103 -108 83 85 -108 138 81 -38 99 101 -38 132 39 -98 48 153 -98 135 54 -94 58 155 -94 141 70 -122 135 119 -122 136 133 -106 138 115 -107 106 130 -92 141 123 -93 92 160 -103 130 115 -103 116 144 -81 80 82 -81 138 105 -39 57 37 -113 132 114 -70 69 71 -70 141 91 -54 53 55 -54 135 121 -100 15 16 -101 100 89 -62 61 32 -62 31 143 -74 65 24 -74 23 142 -84 7 8 -85 84 75 -50 99 37 -50 45 13 -126 43 55 -126 53 142 -49 48 55 -49 43 36 -79 83 82 -79 41 5 -125 41 82 -125 80 143 -128 47 71 -19 128 69 -59 58 71 -59 47 28 -127 45 37 -11 127 57 -118 136 119 -118 120 149 -114 132 111 -114 139 146 -110 139 111 -110 112 147 -96 160 123 -96 124 151 -87 68 88 -18 19 69 -129 26 25 -58 129 155 -86 56 76 -10 11 57 -145 34 33 -48 145 153 -150 102 161 -150 117 107 -90 68 91 -90 112 89 -158 124 123 -73 158 155 -156 120 119 -64 156 153 -154 112 111 -89 154 101 -66 52 121 -65 66 124 -67 60 105 -61 67 120 -152 116 115 -75 152 85 -148 160 95 -109 148 161 -63 61 64 -32 63 33 -159 17 88 -16 159 89 -72 65 73 -24 72 25 -157 9 76 -8 157 75 -131 111 132 -101 131 38 -134 119 135 -153 134 98 -140 123 141 -155 140 94 -137 115 138 -85 137 108 -113 144 56 -132 113 39 -146 104 114 -146 139 109 -142 53 74 -22 142 23 -78 7 84 -78 83 79 -51 15 100 -51 99 50 -143 80 62 -30 143 31 -149 107 118 -149 120 67 -151 97 96 -151 124 66 -147 93 110 -147 112 90 -95 133 148 -95 160 96 -77 76 56 -116 77 144 -42 4 36 -21 42 43 -44 2 13 -12 44 45 -46 3 28 -20 46 47 -40 1 5 -29 40 41