From fa30613a7c9ceaf4070001f0a54d13778b64bd89 Mon Sep 17 00:00:00 2001 From: Sam Mish Date: Fri, 31 May 2024 16:14:33 -0700 Subject: [PATCH 01/10] adding preliminary stress extrapolation implementation (untested) --- src/serac/physics/fit.hpp | 62 ++++++++++++++++++++++ src/serac/physics/tests/CMakeLists.txt | 1 + src/serac/physics/tests/fit_test.cpp | 72 ++++++++++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 src/serac/physics/fit.hpp create mode 100644 src/serac/physics/tests/fit_test.cpp diff --git a/src/serac/physics/fit.hpp b/src/serac/physics/fit.hpp new file mode 100644 index 0000000000..925e6e4e39 --- /dev/null +++ b/src/serac/physics/fit.hpp @@ -0,0 +1,62 @@ +// Copyright (c) 2019-2024, Lawrence Livermore National Security, LLC and +// other Serac Project Developers. See the top-level LICENSE file for +// details. +// +// SPDX-License-Identifier: (BSD-3-Clause) + +#include +#include + +#include "serac/numerics/functional/functional.hpp" +#include "serac/numerics/functional/tensor.hpp" +#include "serac/physics/state/finite_element_state.hpp" + +namespace serac { + +namespace detail { + +// note: mesh is passed by non-const ref because mfem mutates the +// mesh when creating ParGridFunctions +template < int dim, typename signature, int ... i, typename func, typename ... T > +FiniteElementState fit(std::integer_sequence, func f, mfem::ParMesh & mesh, const T & ... solution_fields) { + + // signature looks like return_type(arg0_type, arg1_type); + // so this unpacks the return type + using output_space = FunctionSignature< signature >::return_type; + + FiniteElementState fitted_field(mesh, output_space{}, "displacement"); + fitted_field = 0.0; + + // mass term + serac::Functional< output_space(output_space) > phi_phi(&fitted_field.space(), {&fitted_field.space()}); + phi_phi.AddDomainIntegral(Dimension{}, DependsOn<0>{}, + [](double /*t*/, auto /*x*/, auto u){ + return tuple{get<0>(u), zero{}}; + }, mesh); + auto M = get<1>(phi_phi(DifferentiateWRT<0>{}, 0.0 /* t */, fitted_field)); + + // rhs + std::array< const mfem::ParFiniteElementSpace *, sizeof ... (T) > trial_spaces = {&solution_fields.space() ...}; + serac::Functional< signature > phi_f(&fitted_field.space(), trial_spaces); + phi_f.AddDomainIntegral(Dimension{}, DependsOn{}, f, mesh); + mfem::Vector b = phi_f(0.0, solution_fields ...); + + mfem::CGSolver cg; + cg.SetOperator(M); + cg.Mult(b, fitted_field); + + return fitted_field; + +} + +} + +// note: mesh is passed by non-const ref because mfem mutates the +// mesh when creating ParGridFunctions +template < int dim, typename signature, int ... n, typename func, typename ... T > +FiniteElementState fit(func f, mfem::ParMesh & mesh, const T & ... solution_fields) { + auto iseq = std::make_integer_sequence{}; + return detail::fit(iseq, f, mesh, solution_fields...); +} + +} diff --git a/src/serac/physics/tests/CMakeLists.txt b/src/serac/physics/tests/CMakeLists.txt index fa923b7bce..52a9ee18b2 100644 --- a/src/serac/physics/tests/CMakeLists.txt +++ b/src/serac/physics/tests/CMakeLists.txt @@ -8,6 +8,7 @@ set(test_dependencies serac_physics serac_mesh gtest) set(serial_solver_tests beam_bending.cpp + fit_test.cpp thermal_finite_diff.cpp thermal_statics_patch.cpp thermal_dynamics_patch.cpp diff --git a/src/serac/physics/tests/fit_test.cpp b/src/serac/physics/tests/fit_test.cpp new file mode 100644 index 0000000000..dfecfee16d --- /dev/null +++ b/src/serac/physics/tests/fit_test.cpp @@ -0,0 +1,72 @@ +// Copyright (c) 2019-2024, Lawrence Livermore National Security, LLC and +// other Serac Project Developers. See the top-level LICENSE file for +// details. +// +// SPDX-License-Identifier: (BSD-3-Clause) + +#include "serac/physics/fit.hpp" +#include "serac/numerics/functional/functional.hpp" + +#include "serac/mesh/mesh_utils.hpp" +#include "serac/physics/state/state_manager.hpp" + +#include + +using namespace serac; +using namespace serac::profiling; + +int num_procs, myid; +int nsamples = 1; // because mfem doesn't take in unsigned int + +double t = 0.0; + +std::unique_ptr mesh2D; +std::unique_ptr mesh3D; + +template +void stress_extrapolation_test(mfem::ParMesh& mesh) { + + double lambda = 100.0; + double mu = 100.0; + + using output_space = L2

; + using input_space = H1<2,dim>; + + FiniteElementState u(mesh, input_space{}, "displacement"); + + FiniteElementState sigma_01 = fit< dim, output_space(input_space) >([&](double /*t*/, auto /*x*/, auto displacement){ + auto du_dx = get<1>(displacement); + auto stress = lambda * tr(du_dx) * Identity() + mu * (du_dx + transpose(du_dx)); + return tuple{stress[0][1], zero{}}; + }, mesh, u); + +} + +TEST(StressExtrapolation, PiecewiseConstant2D) { stress_extrapolation_test< 0, 2 >(*mesh2D); } +TEST(StressExtrapolation, PiecewiseConstant3D) { stress_extrapolation_test< 0, 3 >(*mesh3D); } + +TEST(StressExtrapolation, PiecewiseLinear2D) { stress_extrapolation_test< 1, 2 >(*mesh2D); } +TEST(StressExtrapolation, PiecewiseLinear3D) { stress_extrapolation_test< 1, 3 >(*mesh3D); } + +int main(int argc, char* argv[]) +{ + ::testing::InitGoogleTest(&argc, argv); + MPI_Init(&argc, &argv); + MPI_Comm_size(MPI_COMM_WORLD, &num_procs); + MPI_Comm_rank(MPI_COMM_WORLD, &myid); + + axom::slic::SimpleLogger logger; + + int serial_refinement = 1; + int parallel_refinement = 0; + + std::string meshfile2D = SERAC_REPO_DIR "/data/meshes/patch2D_tris_and_quads.mesh"; + mesh2D = mesh::refineAndDistribute(buildMeshFromFile(meshfile2D), serial_refinement, parallel_refinement); + + std::string meshfile3D = SERAC_REPO_DIR "/data/meshes/patch3D_tets_and_hexes.mesh"; + mesh3D = mesh::refineAndDistribute(buildMeshFromFile(meshfile3D), serial_refinement, parallel_refinement); + + int result = RUN_ALL_TESTS(); + MPI_Finalize(); + return result; +} From 7b30197dbd7a1072515efe427d55e422ece8137c Mon Sep 17 00:00:00 2001 From: Sam Mish Date: Fri, 31 May 2024 16:16:22 -0700 Subject: [PATCH 02/10] add TODOs --- src/serac/physics/tests/fit_test.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/serac/physics/tests/fit_test.cpp b/src/serac/physics/tests/fit_test.cpp index dfecfee16d..8d605e03bf 100644 --- a/src/serac/physics/tests/fit_test.cpp +++ b/src/serac/physics/tests/fit_test.cpp @@ -34,12 +34,18 @@ void stress_extrapolation_test(mfem::ParMesh& mesh) { FiniteElementState u(mesh, input_space{}, "displacement"); + // TODO + // set u := u(x, y) + FiniteElementState sigma_01 = fit< dim, output_space(input_space) >([&](double /*t*/, auto /*x*/, auto displacement){ auto du_dx = get<1>(displacement); auto stress = lambda * tr(du_dx) * Identity() + mu * (du_dx + transpose(du_dx)); return tuple{stress[0][1], zero{}}; }, mesh, u); + // TODO: + // verify sigma_01 := f(x, y) + } TEST(StressExtrapolation, PiecewiseConstant2D) { stress_extrapolation_test< 0, 2 >(*mesh2D); } From c3a378a7d9936b9c3cbf412098a3ad62578caced Mon Sep 17 00:00:00 2001 From: Sam Mish Date: Thu, 1 Aug 2024 12:28:47 -0700 Subject: [PATCH 03/10] making a more interesting test --- data/meshes/notched_plate.mesh | 3295 ++++++++++++++++++++++++++ src/serac/physics/tests/fit_test.cpp | 56 +- 2 files changed, 3349 insertions(+), 2 deletions(-) create mode 100644 data/meshes/notched_plate.mesh diff --git a/data/meshes/notched_plate.mesh b/data/meshes/notched_plate.mesh new file mode 100644 index 0000000000..a24fc9ce2c --- /dev/null +++ b/data/meshes/notched_plate.mesh @@ -0,0 +1,3295 @@ +MFEM mesh v1.0 + +dimension +2 + +elements +2033 +1 2 125 109 716 +1 2 78 1058 1088 +1 2 990 1061 1060 +1 2 113 717 126 +1 2 40 39 118 +1 2 1054 137 1055 +1 2 243 244 242 +1 2 1061 1056 1058 +1 2 317 420 429 +1 2 717 719 126 +1 2 801 717 113 +1 2 806 4 3 +1 2 923 922 136 +1 2 106 119 158 +1 2 56 983 982 +1 2 104 40 118 +1 2 32 129 134 +1 2 924 154 926 +1 2 39 38 132 +1 2 800 711 142 +1 2 727 806 928 +1 2 740 128 721 +1 2 105 42 120 +1 2 720 127 117 +1 2 104 120 41 +1 2 802 147 721 +1 2 831 934 81 +1 2 701 50 685 +1 2 19 18 127 +1 2 105 119 43 +1 2 43 119 44 +1 2 26 25 125 +1 2 44 119 106 +1 2 23 133 123 +1 2 38 37 107 +1 2 107 132 38 +1 2 455 499 498 +1 2 737 738 163 +1 2 47 114 129 +1 2 148 658 604 +1 2 37 121 107 +1 2 36 35 108 +1 2 36 108 121 +1 2 37 36 121 +1 2 159 158 119 +1 2 979 980 738 +1 2 121 165 107 +1 2 172 139 164 +1 2 603 152 116 +1 2 142 829 800 +1 2 458 500 633 +1 2 943 48 862 +1 2 50 701 702 +1 2 652 498 499 +1 2 24 23 123 +1 2 715 693 143 +1 2 930 10 931 +1 2 713 793 797 +1 2 157 136 727 +1 2 466 151 589 +1 2 117 17 135 +1 2 24 123 109 +1 2 916 976 977 +1 2 722 132 107 +1 2 1053 15 14 +1 2 112 22 21 +1 2 976 978 723 +1 2 986 985 916 +1 2 133 23 22 +1 2 724 133 112 +1 2 123 711 109 +1 2 804 157 118 +1 2 26 125 110 +1 2 454 151 455 +1 2 27 26 110 +1 2 124 27 110 +1 2 25 24 109 +1 2 125 25 109 +1 2 27 124 28 +1 2 111 28 124 +1 2 28 111 150 +1 2 864 803 832 +1 2 466 537 618 +1 2 110 712 124 +1 2 161 121 108 +1 2 16 131 135 +1 2 20 19 113 +1 2 113 126 20 +1 2 642 635 638 +1 2 152 131 16 +1 2 21 126 112 +1 2 21 20 126 +1 2 1018 1019 145 +1 2 155 724 803 +1 2 161 165 121 +1 2 22 112 133 +1 2 185 175 184 +1 2 712 143 714 +1 2 122 35 34 +1 2 617 585 584 +1 2 159 119 105 +1 2 148 584 616 +1 2 45 128 46 +1 2 128 45 106 +1 2 922 4 806 +1 2 162 166 167 +1 2 114 46 128 +1 2 366 439 442 +1 2 739 150 111 +1 2 643 688 705 +1 2 281 327 338 +1 2 114 47 46 +1 2 171 167 170 +1 2 620 52 652 +1 2 32 47 129 +1 2 140 33 156 +1 2 42 41 120 +1 2 122 108 35 +1 2 104 160 120 +1 2 139 161 164 +1 2 186 175 476 +1 2 43 42 105 +1 2 33 32 134 +1 2 45 44 106 +1 2 134 581 156 +1 2 122 34 140 +1 2 286 269 331 +1 2 29 149 30 +1 2 149 116 152 +1 2 342 353 349 +1 2 686 703 858 +1 2 356 372 373 +1 2 128 106 721 +1 2 1010 1015 1016 +1 2 178 141 167 +1 2 424 423 389 +1 2 64 1062 1090 +1 2 1029 1030 1027 +1 2 545 731 732 +1 2 1064 1009 1066 +1 2 350 354 392 +1 2 1025 1028 146 +1 2 216 200 214 +1 2 796 920 921 +1 2 144 795 793 +1 2 199 205 291 +1 2 1071 832 1069 +1 2 874 852 889 +1 2 147 936 937 +1 2 114 616 584 +1 2 28 150 29 +1 2 232 236 228 +1 2 978 711 723 +1 2 149 29 150 +1 2 55 244 243 +1 2 532 534 536 +1 2 272 297 252 +1 2 802 831 147 +1 2 41 40 104 +1 2 149 130 537 +1 2 150 130 149 +1 2 149 152 30 +1 2 717 718 1021 +1 2 117 127 18 +1 2 118 39 132 +1 2 18 17 117 +1 2 503 504 516 +1 2 127 113 19 +1 2 725 804 722 +1 2 16 31 152 +1 2 1024 1026 1018 +1 2 104 118 157 +1 2 16 135 17 +1 2 153 602 536 +1 2 521 505 529 +1 2 1055 105 805 +1 2 238 240 242 +1 2 716 144 793 +1 2 829 929 11 +1 2 273 337 276 +1 2 404 474 511 +1 2 192 478 176 +1 2 581 187 115 +1 2 901 1001 1000 +1 2 133 724 723 +1 2 285 289 319 +1 2 830 933 80 +1 2 527 505 508 +1 2 503 456 501 +1 2 138 727 928 +1 2 882 1050 974 +1 2 1013 1005 1004 +1 2 579 734 174 +1 2 1082 1083 1080 +1 2 33 140 34 +1 2 166 164 161 +1 2 904 905 882 +1 2 1007 1057 138 +1 2 171 140 115 +1 2 245 247 249 +1 2 301 321 299 +1 2 138 1059 160 +1 2 685 621 143 +1 2 643 658 688 +1 2 152 31 30 +1 2 187 591 179 +1 2 809 722 107 +1 2 927 5 925 +1 2 126 719 112 +1 2 13 986 987 +1 2 140 156 115 +1 2 33 134 156 +1 2 132 804 118 +1 2 727 160 104 +1 2 830 932 933 +1 2 802 721 106 +1 2 120 805 105 +1 2 158 159 137 +1 2 727 104 157 +1 2 726 1059 1057 +1 2 166 162 164 +1 2 165 161 736 +1 2 169 162 167 +1 2 173 172 168 +1 2 139 172 734 +1 2 58 807 579 +1 2 166 161 108 +1 2 172 164 580 +1 2 736 161 139 +1 2 165 163 809 +1 2 122 170 108 +1 2 167 141 169 +1 2 166 170 167 +1 2 122 171 170 +1 2 176 162 169 +1 2 59 173 513 +1 2 190 141 182 +1 2 580 176 168 +1 2 108 170 166 +1 2 122 140 171 +1 2 180 141 178 +1 2 167 171 178 +1 2 580 164 162 +1 2 168 513 173 +1 2 174 58 579 +1 2 172 173 734 +1 2 180 182 141 +1 2 173 59 174 +1 2 175 185 195 +1 2 141 190 169 +1 2 480 176 478 +1 2 183 177 193 +1 2 184 182 181 +1 2 179 178 171 +1 2 178 179 180 +1 2 171 115 179 +1 2 187 179 115 +1 2 179 177 180 +1 2 182 180 183 +1 2 483 182 183 +1 2 203 201 202 +1 2 183 180 177 +1 2 181 185 184 +1 2 177 591 193 +1 2 411 482 188 +1 2 184 175 186 +1 2 182 184 190 +1 2 194 409 410 +1 2 195 198 201 +1 2 479 478 476 +1 2 176 169 192 +1 2 582 583 585 +1 2 193 477 188 +1 2 385 348 344 +1 2 409 376 377 +1 2 206 208 374 +1 2 201 481 197 +1 2 184 186 190 +1 2 169 190 186 +1 2 60 592 191 +1 2 478 192 476 +1 2 169 186 192 +1 2 192 186 476 +1 2 193 591 477 +1 2 410 411 219 +1 2 212 214 211 +1 2 204 231 291 +1 2 375 198 195 +1 2 195 201 197 +1 2 231 211 200 +1 2 189 201 203 +1 2 476 197 479 +1 2 175 195 197 +1 2 375 195 185 +1 2 198 196 205 +1 2 205 204 291 +1 2 202 201 198 +1 2 212 213 210 +1 2 216 214 217 +1 2 205 202 198 +1 2 481 201 189 +1 2 202 199 203 +1 2 359 203 199 +1 2 62 189 203 +1 2 211 208 206 +1 2 224 229 200 +1 2 205 199 202 +1 2 208 205 196 +1 2 374 375 209 +1 2 213 212 194 +1 2 205 208 204 +1 2 226 229 230 +1 2 374 208 196 +1 2 209 375 376 +1 2 206 374 194 +1 2 217 218 343 +1 2 368 325 333 +1 2 208 211 204 +1 2 212 211 206 +1 2 194 212 206 +1 2 214 212 210 +1 2 209 409 194 +1 2 194 219 213 +1 2 214 210 217 +1 2 200 211 214 +1 2 213 222 210 +1 2 347 346 286 +1 2 223 216 215 +1 2 221 233 230 +1 2 217 210 222 +1 2 216 217 215 +1 2 378 218 222 +1 2 333 324 331 +1 2 412 411 484 +1 2 222 218 217 +1 2 325 332 306 +1 2 278 287 239 +1 2 200 216 224 +1 2 225 224 216 +1 2 219 378 213 +1 2 218 378 305 +1 2 332 325 223 +1 2 224 225 221 +1 2 225 216 223 +1 2 230 229 224 +1 2 223 227 225 +1 2 236 225 267 +1 2 295 235 292 +1 2 229 231 200 +1 2 223 220 227 +1 2 220 268 267 +1 2 240 270 239 +1 2 236 232 234 +1 2 230 224 221 +1 2 231 229 226 +1 2 234 221 236 +1 2 233 235 230 +1 2 295 293 294 +1 2 231 204 211 +1 2 235 233 251 +1 2 235 226 230 +1 2 234 233 221 +1 2 247 245 55 +1 2 238 234 232 +1 2 238 244 245 +1 2 251 233 248 +1 2 207 266 293 +1 2 221 225 236 +1 2 267 225 227 +1 2 228 267 268 +1 2 228 270 240 +1 2 240 238 232 +1 2 317 310 312 +1 2 457 443 445 +1 2 228 240 232 +1 2 290 242 240 +1 2 239 270 278 +1 2 55 243 254 +1 2 290 240 239 +1 2 242 241 243 +1 2 243 241 253 +1 2 260 258 254 +1 2 245 244 55 +1 2 242 244 238 +1 2 246 248 247 +1 2 234 238 245 +1 2 246 237 248 +1 2 55 246 247 +1 2 247 248 249 +1 2 248 237 251 +1 2 249 233 234 +1 2 233 249 248 +1 2 234 245 249 +1 2 263 296 253 +1 2 321 285 274 +1 2 237 207 251 +1 2 292 251 207 +1 2 254 253 260 +1 2 257 55 256 +1 2 263 253 241 +1 2 259 271 255 +1 2 253 254 243 +1 2 258 262 271 +1 2 254 258 256 +1 2 254 256 55 +1 2 257 256 259 +1 2 259 256 258 +1 2 260 262 258 +1 2 257 259 255 +1 2 271 264 255 +1 2 253 250 260 +1 2 262 261 271 +1 2 261 262 265 +1 2 276 264 261 +1 2 260 250 262 +1 2 307 319 280 +1 2 287 288 290 +1 2 316 318 314 +1 2 279 276 261 +1 2 272 255 264 +1 2 250 274 262 +1 2 265 262 274 +1 2 294 62 359 +1 2 359 291 294 +1 2 220 267 227 +1 2 228 236 267 +1 2 268 220 368 +1 2 228 268 270 +1 2 220 223 325 +1 2 298 300 304 +1 2 269 283 268 +1 2 283 275 278 +1 2 258 271 259 +1 2 261 264 271 +1 2 276 307 273 +1 2 297 272 264 +1 2 308 273 307 +1 2 296 277 250 +1 2 250 277 274 +1 2 283 286 275 +1 2 300 303 304 +1 2 279 261 265 +1 2 327 273 309 +1 2 263 241 288 +1 2 319 289 280 +1 2 283 278 270 +1 2 275 284 287 +1 2 319 307 279 +1 2 276 279 307 +1 2 265 274 285 +1 2 309 308 360 +1 2 309 273 308 +1 2 281 252 297 +1 2 300 299 263 +1 2 321 301 282 +1 2 268 283 270 +1 2 283 269 286 +1 2 322 275 286 +1 2 299 277 263 +1 2 321 274 277 +1 2 285 282 289 +1 2 381 218 305 +1 2 322 349 328 +1 2 275 287 278 +1 2 288 287 284 +1 2 288 284 300 +1 2 241 242 290 +1 2 317 312 315 +1 2 312 310 311 +1 2 287 290 239 +1 2 241 290 288 +1 2 320 226 295 +1 2 207 293 292 +1 2 251 292 235 +1 2 266 294 293 +1 2 295 292 293 +1 2 62 294 266 +1 2 291 231 320 +1 2 320 294 291 +1 2 235 295 226 +1 2 253 296 250 +1 2 263 277 296 +1 2 276 297 264 +1 2 327 281 297 +1 2 303 300 284 +1 2 330 398 400 +1 2 263 288 300 +1 2 299 298 301 +1 2 303 275 302 +1 2 298 299 300 +1 2 335 329 330 +1 2 316 314 315 +1 2 302 275 322 +1 2 398 323 371 +1 2 275 303 284 +1 2 303 302 304 +1 2 302 322 328 +1 2 326 336 334 +1 2 383 381 413 +1 2 393 358 392 +1 2 373 345 348 +1 2 347 352 342 +1 2 319 279 265 +1 2 308 307 280 +1 2 312 311 280 +1 2 339 338 309 +1 2 313 360 311 +1 2 281 338 54 +1 2 366 397 367 +1 2 308 280 311 +1 2 312 280 289 +1 2 313 311 310 +1 2 289 316 315 +1 2 289 315 312 +1 2 429 420 421 +1 2 362 365 363 +1 2 298 334 301 +1 2 417 317 314 +1 2 316 289 282 +1 2 315 314 317 +1 2 301 369 282 +1 2 334 336 369 +1 2 418 417 314 +1 2 428 430 438 +1 2 335 304 329 +1 2 403 399 401 +1 2 285 319 265 +1 2 226 320 231 +1 2 294 320 295 +1 2 285 321 282 +1 2 299 321 277 +1 2 329 328 323 +1 2 323 328 370 +1 2 692 610 691 +1 2 304 302 329 +1 2 343 345 332 +1 2 470 426 469 +1 2 332 223 215 +1 2 325 306 333 +1 2 326 334 335 +1 2 398 330 323 +1 2 337 327 297 +1 2 327 309 338 +1 2 346 322 286 +1 2 349 322 346 +1 2 328 329 302 +1 2 329 323 330 +1 2 323 370 371 +1 2 399 403 406 +1 2 269 368 333 +1 2 347 331 324 +1 2 215 343 332 +1 2 218 345 343 +1 2 333 306 372 +1 2 331 269 333 +1 2 335 334 298 +1 2 326 407 336 +1 2 304 335 298 +1 2 326 335 330 +1 2 318 316 336 +1 2 369 336 316 +1 2 276 337 297 +1 2 273 327 337 +1 2 360 361 309 +1 2 341 340 54 +1 2 361 363 339 +1 2 341 54 338 +1 2 338 339 341 +1 2 365 339 363 +1 2 367 341 339 +1 2 354 350 352 +1 2 469 426 461 +1 2 217 343 215 +1 2 218 344 345 +1 2 305 378 412 +1 2 422 423 390 +1 2 348 345 344 +1 2 306 332 345 +1 2 347 286 331 +1 2 346 342 349 +1 2 354 352 347 +1 2 346 347 342 +1 2 413 381 305 +1 2 388 389 422 +1 2 355 342 352 +1 2 349 351 370 +1 2 1034 844 839 +1 2 357 388 422 +1 2 349 353 351 +1 2 351 391 426 +1 2 354 347 324 +1 2 342 355 353 +1 2 350 388 355 +1 2 353 357 391 +1 2 333 372 324 +1 2 356 354 324 +1 2 352 350 355 +1 2 355 388 357 +1 2 344 381 383 +1 2 354 356 392 +1 2 461 426 391 +1 2 353 355 357 +1 2 356 348 487 +1 2 458 654 662 +1 2 203 359 62 +1 2 291 359 199 +1 2 311 360 308 +1 2 361 360 313 +1 2 438 363 361 +1 2 309 361 339 +1 2 428 313 310 +1 2 430 431 362 +1 2 438 361 313 +1 2 362 364 365 +1 2 431 587 496 +1 2 366 442 53 +1 2 366 365 364 +1 2 341 367 340 +1 2 396 442 439 +1 2 367 397 340 +1 2 339 365 367 +1 2 366 367 365 +1 2 268 368 269 +1 2 325 368 220 +1 2 282 369 316 +1 2 334 369 301 +1 2 349 370 328 +1 2 370 351 486 +1 2 353 391 351 +1 2 511 474 540 +1 2 373 372 306 +1 2 324 372 356 +1 2 345 373 306 +1 2 356 373 348 +1 2 375 374 196 +1 2 194 374 209 +1 2 198 375 196 +1 2 376 375 185 +1 2 185 181 376 +1 2 376 181 377 +1 2 482 377 483 +1 2 193 482 183 +1 2 213 378 222 +1 2 412 378 219 +1 2 415 387 416 +1 2 416 593 386 +1 2 407 433 406 +1 2 380 445 463 +1 2 413 382 383 +1 2 344 218 381 +1 2 485 379 484 +1 2 656 630 492 +1 2 383 382 386 +1 2 344 383 385 +1 2 382 413 414 +1 2 663 654 667 +1 2 386 385 383 +1 2 393 487 427 +1 2 386 382 416 +1 2 386 384 488 +1 2 558 387 415 +1 2 630 632 601 +1 2 358 389 350 +1 2 388 350 389 +1 2 393 394 358 +1 2 655 598 596 +1 2 358 394 424 +1 2 468 471 465 +1 2 460 390 464 +1 2 453 357 460 +1 2 393 392 356 +1 2 350 392 358 +1 2 385 427 348 +1 2 488 491 490 +1 2 436 449 450 +1 2 452 425 451 +1 2 317 417 420 +1 2 364 496 439 +1 2 498 432 396 +1 2 455 396 441 +1 2 475 398 371 +1 2 366 53 397 +1 2 433 330 400 +1 2 399 400 401 +1 2 405 407 406 +1 2 401 400 398 +1 2 400 399 433 +1 2 562 403 404 +1 2 561 552 554 +1 2 401 398 475 +1 2 608 520 518 +1 2 404 403 401 +1 2 402 586 406 +1 2 486 426 371 +1 2 473 472 467 +1 2 443 444 564 +1 2 318 407 408 +1 2 402 406 403 +1 2 408 407 405 +1 2 336 407 318 +1 2 433 407 326 +1 2 443 408 405 +1 2 457 417 418 +1 2 376 409 209 +1 2 410 409 377 +1 2 411 410 377 +1 2 194 410 219 +1 2 411 377 482 +1 2 484 411 188 +1 2 411 412 219 +1 2 414 413 412 +1 2 305 412 413 +1 2 414 412 379 +1 2 415 414 379 +1 2 416 387 593 +1 2 379 485 415 +1 2 544 415 485 +1 2 382 414 416 +1 2 415 416 414 +1 2 418 314 318 +1 2 380 506 420 +1 2 318 408 418 +1 2 418 408 457 +1 2 501 445 434 +1 2 447 395 446 +1 2 380 420 417 +1 2 421 420 419 +1 2 419 522 446 +1 2 395 428 429 +1 2 423 422 389 +1 2 357 422 390 +1 2 424 450 449 +1 2 837 626 836 +1 2 358 424 389 +1 2 451 423 449 +1 2 423 451 390 +1 2 423 424 449 +1 2 453 391 357 +1 2 391 453 461 +1 2 488 427 385 +1 2 393 427 494 +1 2 429 428 310 +1 2 430 428 395 +1 2 317 429 310 +1 2 395 429 421 +1 2 431 430 395 +1 2 362 363 438 +1 2 395 421 446 +1 2 448 588 447 +1 2 439 366 364 +1 2 396 432 442 +1 2 433 326 330 +1 2 406 433 399 +1 2 586 443 405 +1 2 509 506 507 +1 2 419 506 509 +1 2 435 522 523 +1 2 427 488 490 +1 2 625 664 623 +1 2 599 600 597 +1 2 1047 1075 1074 +1 2 428 438 313 +1 2 362 438 430 +1 2 364 362 496 +1 2 439 440 441 +1 2 462 587 588 +1 2 439 441 396 +1 2 454 441 440 +1 2 441 454 455 +1 2 443 586 444 +1 2 432 53 442 +1 2 445 443 434 +1 2 404 472 474 +1 2 570 574 608 +1 2 463 445 501 +1 2 457 445 380 +1 2 419 446 421 +1 2 447 446 435 +1 2 448 447 435 +1 2 395 447 431 +1 2 531 534 533 +1 2 466 535 537 +1 2 450 424 394 +1 2 451 449 436 +1 2 450 394 495 +1 2 500 452 436 +1 2 452 451 436 +1 2 451 425 390 +1 2 436 450 500 +1 2 661 663 625 +1 2 460 357 390 +1 2 453 437 461 +1 2 587 462 589 +1 2 587 589 440 +1 2 594 499 455 +1 2 432 498 52 +1 2 564 434 443 +1 2 518 520 517 +1 2 457 380 417 +1 2 443 457 408 +1 2 490 495 494 +1 2 668 673 666 +1 2 627 596 624 +1 2 452 662 425 +1 2 464 390 425 +1 2 437 453 460 +1 2 468 461 437 +1 2 467 469 468 +1 2 462 448 535 +1 2 589 151 454 +1 2 456 508 507 +1 2 420 506 419 +1 2 459 510 425 +1 2 425 510 464 +1 2 464 600 460 +1 2 905 1081 1080 +1 2 533 535 448 +1 2 130 150 739 +1 2 404 470 472 +1 2 470 371 426 +1 2 468 437 599 +1 2 467 468 465 +1 2 468 469 461 +1 2 469 467 470 +1 2 472 470 467 +1 2 475 404 401 +1 2 597 510 598 +1 2 473 728 730 +1 2 728 473 467 +1 2 541 524 538 +1 2 542 524 541 +1 2 472 473 474 +1 2 474 538 540 +1 2 511 561 562 +1 2 371 470 475 +1 2 404 475 470 +1 2 197 476 175 +1 2 592 479 191 +1 2 187 582 548 +1 2 733 544 485 +1 2 480 478 592 +1 2 512 191 479 +1 2 512 197 481 +1 2 513 480 60 +1 2 168 176 480 +1 2 189 61 481 +1 2 481 61 512 +1 2 482 193 188 +1 2 483 377 181 +1 2 182 483 181 +1 2 183 482 483 +1 2 484 188 485 +1 2 412 484 379 +1 2 477 514 188 +1 2 485 188 514 +1 2 370 486 371 +1 2 351 426 486 +1 2 356 487 393 +1 2 348 427 487 +1 2 386 488 385 +1 2 488 384 491 +1 2 384 593 491 +1 2 491 492 489 +1 2 629 495 489 +1 2 489 495 490 +1 2 384 386 593 +1 2 490 491 489 +1 2 544 557 415 +1 2 629 631 493 +1 2 495 629 493 +1 2 500 458 452 +1 2 393 494 394 +1 2 427 490 494 +1 2 450 495 493 +1 2 394 494 495 +1 2 431 496 362 +1 2 439 496 440 +1 2 594 590 799 +1 2 124 712 714 +1 2 396 455 498 +1 2 151 594 455 +1 2 595 499 497 +1 2 620 652 595 +1 2 493 633 450 +1 2 493 631 633 +1 2 434 564 503 +1 2 456 463 501 +1 2 562 561 402 +1 2 612 611 609 +1 2 434 503 501 +1 2 504 503 502 +1 2 551 524 560 +1 2 527 731 528 +1 2 505 507 508 +1 2 448 435 523 +1 2 380 463 506 +1 2 507 506 463 +1 2 456 507 463 +1 2 507 505 509 +1 2 456 516 508 +1 2 518 508 516 +1 2 509 505 521 +1 2 446 522 435 +1 2 510 622 598 +1 2 622 510 459 +1 2 474 473 538 +1 2 511 540 552 +1 2 191 512 61 +1 2 479 197 512 +1 2 477 543 514 +1 2 480 513 168 +1 2 543 549 733 +1 2 558 559 492 +1 2 676 675 672 +1 2 503 516 456 +1 2 518 516 504 +1 2 636 741 135 +1 2 529 153 521 +1 2 570 502 567 +1 2 518 517 527 +1 2 745 746 747 +1 2 504 608 518 +1 2 519 650 732 +1 2 657 135 131 +1 2 529 505 527 +1 2 523 531 448 +1 2 419 509 522 +1 2 523 522 509 +1 2 509 521 523 +1 2 523 521 531 +1 2 730 728 465 +1 2 556 547 563 +1 2 548 543 477 +1 2 604 549 525 +1 2 647 762 821 +1 2 557 558 415 +1 2 518 527 508 +1 2 517 731 527 +1 2 520 732 731 +1 2 657 602 636 +1 2 527 528 529 +1 2 153 529 528 +1 2 519 608 574 +1 2 1029 810 833 +1 2 521 153 531 +1 2 603 532 536 +1 2 149 537 116 +1 2 448 531 533 +1 2 534 531 153 +1 2 533 532 535 +1 2 536 534 153 +1 2 532 533 534 +1 2 537 535 532 +1 2 589 535 466 +1 2 602 153 528 +1 2 603 536 131 +1 2 116 537 532 +1 2 590 619 618 +1 2 473 730 541 +1 2 538 524 540 +1 2 752 753 471 +1 2 842 847 751 +1 2 551 540 524 +1 2 553 552 540 +1 2 473 541 538 +1 2 541 539 886 +1 2 627 626 750 +1 2 577 578 565 +1 2 477 591 548 +1 2 549 543 525 +1 2 733 485 514 +1 2 915 557 526 +1 2 637 634 545 +1 2 528 634 602 +1 2 576 614 573 +1 2 914 569 606 +1 2 553 605 547 +1 2 444 554 556 +1 2 187 581 582 +1 2 525 543 548 +1 2 525 617 604 +1 2 526 544 733 +1 2 680 765 658 +1 2 776 674 687 +1 2 560 524 542 +1 2 552 553 547 +1 2 553 540 551 +1 2 554 552 547 +1 2 546 605 551 +1 2 553 551 605 +1 2 556 554 547 +1 2 586 561 444 +1 2 546 614 576 +1 2 567 568 570 +1 2 563 547 555 +1 2 502 503 564 +1 2 526 557 544 +1 2 557 550 558 +1 2 559 558 550 +1 2 593 558 492 +1 2 915 647 550 +1 2 677 674 676 +1 2 573 560 542 +1 2 551 560 614 +1 2 552 561 511 +1 2 444 561 554 +1 2 403 562 402 +1 2 404 511 562 +1 2 555 569 568 +1 2 564 567 502 +1 2 444 556 564 +1 2 564 556 567 +1 2 577 565 573 +1 2 884 883 865 +1 2 566 568 569 +1 2 574 649 519 +1 2 556 563 567 +1 2 568 567 563 +1 2 555 568 563 +1 2 568 566 570 +1 2 605 606 555 +1 2 606 569 555 +1 2 570 566 574 +1 2 504 502 570 +1 2 651 660 682 +1 2 914 566 569 +1 2 571 682 660 +1 2 748 835 895 +1 2 542 887 577 +1 2 573 565 576 +1 2 609 566 914 +1 2 574 566 609 +1 2 867 869 886 +1 2 912 911 913 +1 2 651 576 565 +1 2 682 606 546 +1 2 542 577 573 +1 2 577 575 912 +1 2 897 903 910 +1 2 710 681 707 +1 2 735 808 57 +1 2 736 579 737 +1 2 172 580 168 +1 2 162 176 580 +1 2 156 581 115 +1 2 581 134 582 +1 2 129 583 134 +1 2 582 134 583 +1 2 584 583 129 +1 2 582 585 548 +1 2 114 584 129 +1 2 617 584 148 +1 2 584 585 583 +1 2 525 548 585 +1 2 406 586 405 +1 2 561 586 402 +1 2 496 587 440 +1 2 588 587 431 +1 2 447 588 431 +1 2 462 588 448 +1 2 589 454 440 +1 2 535 589 462 +1 2 798 799 828 +1 2 151 466 619 +1 2 179 591 177 +1 2 548 591 187 +1 2 480 592 60 +1 2 479 592 478 +1 2 558 593 387 +1 2 491 593 492 +1 2 594 151 619 +1 2 497 499 594 +1 2 497 621 595 +1 2 685 694 621 +1 2 622 624 596 +1 2 842 751 838 +1 2 599 597 471 +1 2 464 510 597 +1 2 655 596 749 +1 2 597 598 752 +1 2 468 599 471 +1 2 600 437 460 +1 2 597 600 464 +1 2 437 600 599 +1 2 601 629 630 +1 2 678 644 646 +1 2 528 731 634 +1 2 657 131 536 +1 2 152 603 131 +1 2 532 603 116 +1 2 644 647 607 +1 2 549 604 764 +1 2 606 605 546 +1 2 547 605 555 +1 2 682 546 576 +1 2 571 914 606 +1 2 648 822 784 +1 2 559 550 644 +1 2 608 519 520 +1 2 570 608 504 +1 2 612 609 572 +1 2 609 611 649 +1 2 612 690 691 +1 2 938 641 747 +1 2 640 641 639 +1 2 649 650 519 +1 2 612 572 690 +1 2 611 612 610 +1 2 684 571 660 +1 2 791 1013 1014 +1 2 551 614 546 +1 2 573 614 560 +1 2 659 651 565 +1 2 789 689 700 +1 2 740 114 128 +1 2 616 757 756 +1 2 604 617 148 +1 2 585 617 525 +1 2 537 130 618 +1 2 739 618 130 +1 2 618 619 466 +1 2 594 619 590 +1 2 828 799 590 +1 2 595 51 620 +1 2 459 425 662 +1 2 625 624 622 +1 2 596 598 622 +1 2 624 625 623 +1 2 754 626 627 +1 2 625 622 459 +1 2 754 627 624 +1 2 459 662 661 +1 2 625 459 661 +1 2 754 668 671 +1 2 71 940 849 +1 2 754 624 623 +1 2 627 750 749 +1 2 750 751 628 +1 2 867 729 868 +1 2 630 629 489 +1 2 631 629 601 +1 2 489 492 630 +1 2 630 656 632 +1 2 601 515 631 +1 2 633 631 515 +1 2 678 632 656 +1 2 665 669 675 +1 2 633 515 672 +1 2 633 500 450 +1 2 545 638 637 +1 2 602 634 636 +1 2 635 637 638 +1 2 741 742 743 +1 2 637 636 634 +1 2 135 741 117 +1 2 545 732 638 +1 2 637 635 742 +1 2 530 640 638 +1 2 640 642 638 +1 2 641 640 530 +1 2 896 956 957 +1 2 649 611 650 +1 2 640 639 642 +1 2 610 745 611 +1 2 641 611 745 +1 2 813 642 639 +1 2 743 742 744 +1 2 756 688 148 +1 2 761 706 648 +1 2 647 915 645 +1 2 644 607 646 +1 2 765 763 764 +1 2 762 647 645 +1 2 769 767 770 +1 2 674 677 766 +1 2 550 647 644 +1 2 648 821 762 +1 2 705 706 643 +1 2 773 783 771 +1 2 609 649 574 +1 2 611 641 650 +1 2 641 530 650 +1 2 650 530 732 +1 2 659 565 578 +1 2 651 615 660 +1 2 498 652 52 +1 2 595 652 499 +1 2 701 143 693 +1 2 595 694 51 +1 2 669 665 667 +1 2 663 664 625 +1 2 867 868 850 +1 2 597 752 471 +1 2 492 559 656 +1 2 678 656 559 +1 2 602 657 536 +1 2 135 657 636 +1 2 756 148 616 +1 2 680 658 643 +1 2 689 659 578 +1 2 651 659 789 +1 2 615 683 660 +1 2 572 914 684 +1 2 663 661 654 +1 2 458 662 452 +1 2 654 661 662 +1 2 654 669 667 +1 2 668 664 673 +1 2 667 670 663 +1 2 695 666 673 +1 2 515 676 672 +1 2 918 786 859 +1 2 623 664 668 +1 2 670 664 663 +1 2 669 654 458 +1 2 667 665 670 +1 2 673 664 670 +1 2 668 666 671 +1 2 672 458 633 +1 2 672 669 458 +1 2 665 675 704 +1 2 856 875 876 +1 2 817 671 666 +1 2 751 837 838 +1 2 676 515 677 +1 2 669 672 675 +1 2 673 670 696 +1 2 696 695 673 +1 2 766 767 687 +1 2 703 686 696 +1 2 708 697 704 +1 2 708 704 675 +1 2 677 515 601 +1 2 675 676 674 +1 2 601 632 677 +1 2 766 677 632 +1 2 644 678 559 +1 2 632 678 646 +1 2 757 760 679 +1 2 819 945 818 +1 2 761 680 643 +1 2 680 645 763 +1 2 689 707 681 +1 2 901 973 894 +1 2 606 682 571 +1 2 651 682 576 +1 2 615 789 700 +1 2 683 690 684 +1 2 660 683 684 +1 2 690 683 613 +1 2 50 653 685 +1 2 685 653 694 +1 2 709 665 704 +1 2 898 66 1046 +1 2 770 767 646 +1 2 778 918 708 +1 2 148 688 658 +1 2 679 818 705 +1 2 578 913 707 +1 2 689 681 700 +1 2 690 613 691 +1 2 572 684 690 +1 2 692 691 613 +1 2 612 691 610 +1 2 615 791 683 +1 2 950 951 884 +1 2 143 712 715 +1 2 693 827 49 +1 2 51 694 653 +1 2 621 694 595 +1 2 852 853 854 +1 2 851 853 855 +1 2 709 670 665 +1 2 695 696 686 +1 2 775 774 769 +1 2 787 782 777 +1 2 760 818 679 +1 2 994 878 993 +1 2 910 903 575 +1 2 1086 1076 900 +1 2 824 700 681 +1 2 615 700 791 +1 2 143 701 685 +1 2 702 693 49 +1 2 709 696 670 +1 2 693 702 701 +1 2 859 823 858 +1 2 708 675 674 +1 2 709 697 703 +1 2 679 705 688 +1 2 698 944 705 +1 2 994 877 878 +1 2 881 879 857 +1 2 578 707 689 +1 2 707 699 1085 +1 2 774 776 687 +1 2 687 767 769 +1 2 697 709 704 +1 2 696 709 703 +1 2 911 909 699 +1 2 790 973 901 +1 2 723 123 133 +1 2 800 716 109 +1 2 792 715 110 +1 2 714 143 621 +1 2 125 792 110 +1 2 797 793 795 +1 2 798 714 621 +1 2 124 714 828 +1 2 110 715 712 +1 2 715 713 826 +1 2 800 109 711 +1 2 716 793 792 +1 2 113 127 801 +1 2 717 145 719 +1 2 1027 1022 1025 +1 2 1019 1018 94 +1 2 1019 1020 145 +1 2 803 724 112 +1 2 117 741 743 +1 2 1028 801 720 +1 2 802 106 158 +1 2 740 616 114 +1 2 809 738 154 +1 2 154 725 722 +1 2 155 976 723 +1 2 711 123 723 +1 2 803 112 719 +1 2 723 724 155 +1 2 725 924 923 +1 2 136 157 725 +1 2 1007 138 928 +1 2 137 990 933 +1 2 806 727 136 +1 2 138 160 727 +1 2 467 465 728 +1 2 465 729 730 +1 2 815 471 753 +1 2 753 729 815 +1 2 729 539 730 +1 2 541 730 539 +1 2 520 731 517 +1 2 634 731 545 +1 2 519 732 520 +1 2 638 732 530 +1 2 543 733 514 +1 2 526 733 549 +1 2 174 734 173 +1 2 736 734 579 +1 2 738 737 979 +1 2 736 737 163 +1 2 165 736 163 +1 2 734 736 139 +1 2 807 737 579 +1 2 154 722 809 +1 2 735 979 737 +1 2 979 57 917 +1 2 111 590 739 +1 2 618 739 590 +1 2 147 758 721 +1 2 756 757 679 +1 2 636 742 741 +1 2 117 743 720 +1 2 637 742 636 +1 2 642 744 635 +1 2 742 635 744 +1 2 720 743 810 +1 2 833 810 744 +1 2 720 810 146 +1 2 692 746 610 +1 2 745 610 746 +1 2 834 746 692 +1 2 747 641 745 +1 2 834 866 746 +1 2 835 748 813 +1 2 813 639 938 +1 2 958 957 96 +1 2 627 749 596 +1 2 628 655 749 +1 2 750 626 837 +1 2 628 749 750 +1 2 626 754 836 +1 2 842 846 840 +1 2 598 655 752 +1 2 752 655 753 +1 2 628 816 655 +1 2 655 816 753 +1 2 668 754 623 +1 2 754 671 836 +1 2 817 666 851 +1 2 855 856 876 +1 2 757 616 740 +1 2 688 756 679 +1 2 758 740 721 +1 2 758 757 740 +1 2 937 759 760 +1 2 757 758 760 +1 2 83 1032 82 +1 2 818 1031 819 +1 2 937 760 758 +1 2 818 698 705 +1 2 706 761 643 +1 2 762 761 648 +1 2 645 680 762 +1 2 761 762 680 +1 2 915 763 645 +1 2 526 549 764 +1 2 765 764 604 +1 2 526 764 763 +1 2 658 765 604 +1 2 763 765 680 +1 2 767 766 632 +1 2 674 766 687 +1 2 632 646 767 +1 2 820 770 646 +1 2 821 784 820 +1 2 87 963 899 +1 2 784 779 783 +1 2 687 769 774 +1 2 820 646 607 +1 2 769 770 768 +1 2 785 998 972 +1 2 769 768 773 +1 2 775 780 772 +1 2 776 778 708 +1 2 783 773 768 +1 2 774 775 772 +1 2 775 769 773 +1 2 776 774 772 +1 2 773 771 775 +1 2 780 775 771 +1 2 778 776 772 +1 2 674 776 708 +1 2 780 781 777 +1 2 965 788 967 +1 2 782 772 780 +1 2 782 778 772 +1 2 822 877 879 +1 2 881 857 880 +1 2 781 780 771 +1 2 780 777 782 +1 2 892 779 881 +1 2 890 893 781 +1 2 777 919 998 +1 2 778 782 786 +1 2 784 783 768 +1 2 783 779 892 +1 2 820 784 768 +1 2 648 706 822 +1 2 959 962 898 +1 2 703 859 858 +1 2 787 786 782 +1 2 1068 785 1017 +1 2 919 777 781 +1 2 786 787 785 +1 2 890 891 893 +1 2 970 966 969 +1 2 651 789 615 +1 2 689 789 659 +1 2 681 861 824 +1 2 999 949 865 +1 2 824 791 700 +1 2 1002 790 1000 +1 2 716 792 125 +1 2 715 792 713 +1 2 795 796 794 +1 2 713 792 793 +1 2 48 825 862 +1 2 827 693 826 +1 2 796 795 144 +1 2 795 794 797 +1 2 931 989 829 +1 2 920 9 921 +1 2 797 794 825 +1 2 797 825 827 +1 2 621 497 798 +1 2 799 798 497 +1 2 594 799 497 +1 2 828 590 111 +1 2 929 829 142 +1 2 144 716 800 +1 2 720 801 127 +1 2 717 801 718 +1 2 158 932 934 +1 2 802 934 831 +1 2 1069 803 719 +1 2 864 155 803 +1 2 722 804 132 +1 2 157 804 725 +1 2 160 805 120 +1 2 726 1054 1055 +1 2 806 136 922 +1 2 806 3 928 +1 2 808 807 58 +1 2 737 807 735 +1 2 165 809 107 +1 2 807 808 735 +1 2 163 738 809 +1 2 743 744 810 +1 2 744 642 833 +1 2 811 833 813 +1 2 1030 957 958 +1 2 834 883 812 +1 2 1045 97 885 +1 2 813 938 835 +1 2 811 813 748 +1 2 814 836 817 +1 2 841 838 814 +1 2 729 465 815 +1 2 471 815 465 +1 2 751 847 848 +1 2 850 868 870 +1 2 851 666 695 +1 2 817 755 843 +1 2 759 1031 760 +1 2 1032 819 1031 +1 2 84 946 947 +1 2 993 84 948 +1 2 770 820 768 +1 2 821 820 607 +1 2 647 821 607 +1 2 648 784 821 +1 2 877 822 706 +1 2 779 784 822 +1 2 959 961 962 +1 2 860 854 941 +1 2 861 681 710 +1 2 824 790 1005 +1 2 862 825 794 +1 2 827 863 49 +1 2 715 826 693 +1 2 713 797 826 +1 2 797 827 826 +1 2 863 827 825 +1 2 124 828 111 +1 2 798 828 714 +1 2 931 10 796 +1 2 989 144 800 +1 2 137 932 158 +1 2 81 830 1033 +1 2 82 936 935 +1 2 936 82 759 +1 2 145 1020 1069 +1 2 91 1053 1008 +1 2 813 833 642 +1 2 833 811 1029 +1 2 692 1011 883 +1 2 834 812 866 +1 2 747 746 866 +1 2 866 895 835 +1 2 817 836 671 +1 2 837 836 814 +1 2 838 837 814 +1 2 837 751 750 +1 2 839 841 843 +1 2 849 846 844 +1 2 69 876 875 +1 2 1034 69 70 +1 2 906 908 888 +1 2 628 848 816 +1 2 843 841 814 +1 2 844 841 839 +1 2 838 841 844 +1 2 840 845 847 +1 2 817 843 814 +1 2 843 755 876 +1 2 844 939 849 +1 2 838 844 846 +1 2 873 869 850 +1 2 867 539 729 +1 2 838 846 842 +1 2 939 844 70 +1 2 840 847 842 +1 2 848 847 845 +1 2 848 845 870 +1 2 751 848 628 +1 2 940 1048 72 +1 2 846 849 1038 +1 2 850 870 872 +1 2 887 886 869 +1 2 851 695 853 +1 2 755 817 851 +1 2 695 686 941 +1 2 856 874 68 +1 2 854 853 695 +1 2 855 853 852 +1 2 686 858 860 +1 2 1046 889 898 +1 2 856 855 852 +1 2 851 855 755 +1 2 874 856 852 +1 2 69 839 876 +1 2 877 706 944 +1 2 952 86 891 +1 2 859 703 697 +1 2 860 858 823 +1 2 918 859 697 +1 2 1068 859 786 +1 2 860 961 959 +1 2 996 898 962 +1 2 894 861 710 +1 2 824 861 973 +1 2 921 862 794 +1 2 943 942 8 +1 2 832 1071 1063 +1 2 825 48 863 +1 2 1008 1053 988 +1 2 999 1004 1002 +1 2 99 884 949 +1 2 885 866 812 +1 2 747 866 835 +1 2 868 729 753 +1 2 867 850 869 +1 2 753 816 868 +1 2 870 868 816 +1 2 850 872 873 +1 2 869 873 910 +1 2 848 870 816 +1 2 872 845 871 +1 2 840 1035 845 +1 2 888 897 906 +1 2 845 872 870 +1 2 872 871 873 +1 2 873 871 897 +1 2 910 887 869 +1 2 889 852 854 +1 2 68 874 67 +1 2 843 876 839 +1 2 856 68 875 +1 2 876 755 855 +1 2 877 944 878 +1 2 879 877 857 +1 2 945 878 944 +1 2 946 993 945 +1 2 953 85 954 +1 2 822 879 779 +1 2 880 891 890 +1 2 879 881 779 +1 2 880 890 881 +1 2 771 783 892 +1 2 904 882 894 +1 2 1051 101 974 +1 2 692 883 834 +1 2 865 949 884 +1 2 951 950 98 +1 2 812 883 884 +1 2 885 812 951 +1 2 896 748 895 +1 2 541 886 542 +1 2 867 886 539 +1 2 577 887 575 +1 2 886 887 542 +1 2 845 1035 871 +1 2 908 909 888 +1 2 889 854 898 +1 2 67 874 889 +1 2 952 891 880 +1 2 892 781 771 +1 2 87 899 955 +1 2 891 899 893 +1 2 881 890 892 +1 2 781 892 890 +1 2 891 955 899 +1 2 893 967 919 +1 2 710 1086 904 +1 2 894 882 901 +1 2 866 885 895 +1 2 895 885 896 +1 2 885 97 896 +1 2 957 956 96 +1 2 1037 906 897 +1 2 897 888 903 +1 2 860 959 854 +1 2 854 959 898 +1 2 963 87 88 +1 2 899 965 967 +1 2 909 1075 699 +1 2 1080 1081 1079 +1 2 882 974 901 +1 2 974 1003 1001 +1 2 940 1039 1038 +1 2 1042 1043 1040 +1 2 911 903 888 +1 2 577 912 578 +1 2 710 904 894 +1 2 905 904 900 +1 2 1076 1078 900 +1 2 1091 102 1050 +1 2 1037 897 871 +1 2 1041 908 906 +1 2 1040 1041 1039 +1 2 1044 1043 73 +1 2 1041 906 902 +1 2 908 907 909 +1 2 1043 1044 1073 +1 2 1047 1086 1085 +1 2 887 910 575 +1 2 897 910 873 +1 2 909 911 888 +1 2 913 911 699 +1 2 575 903 912 +1 2 911 912 903 +1 2 707 913 699 +1 2 912 913 578 +1 2 684 914 571 +1 2 914 572 609 +1 2 557 915 550 +1 2 763 915 526 +1 2 977 155 864 +1 2 985 986 12 +1 2 56 982 981 +1 2 926 982 983 +1 2 708 918 697 +1 2 778 786 918 +1 2 893 919 781 +1 2 788 972 998 +1 2 862 921 9 +1 2 796 10 920 +1 2 794 796 921 +1 2 923 136 725 +1 2 4 922 925 +1 2 924 725 154 +1 2 923 924 927 +1 2 980 926 154 +1 2 927 925 923 +1 2 4 925 5 +1 2 922 923 925 +1 2 982 917 981 +1 2 926 983 1006 +1 2 1006 924 926 +1 2 6 5 927 +1 2 3 2 928 +1 2 1007 2 984 +1 2 929 142 978 +1 2 11 929 12 +1 2 989 796 144 +1 2 829 11 930 +1 2 829 930 931 +1 2 932 137 933 +1 2 932 830 934 +1 2 990 137 1054 +1 2 991 80 933 +1 2 934 802 158 +1 2 81 934 830 +1 2 147 831 936 +1 2 831 81 935 +1 2 936 831 935 +1 2 147 937 758 +1 2 759 937 936 +1 2 641 938 639 +1 2 747 835 938 +1 2 1040 907 1041 +1 2 71 849 939 +1 2 902 1037 1036 +1 2 695 941 854 +1 2 686 860 941 +1 2 705 944 706 +1 2 862 9 942 +1 2 942 943 862 +1 2 945 944 698 +1 2 818 945 698 +1 2 946 945 819 +1 2 947 819 83 +1 2 992 85 948 +1 2 948 85 953 +1 2 819 947 946 +1 2 945 993 878 +1 2 999 975 1052 +1 2 995 99 949 +1 2 885 951 98 +1 2 884 99 950 +1 2 812 884 951 +1 2 953 952 880 +1 2 954 86 952 +1 2 880 857 953 +1 2 953 857 994 +1 2 95 1070 1049 +1 2 953 954 952 +1 2 891 86 955 +1 2 896 97 956 +1 2 896 957 748 +1 2 95 94 1026 +1 2 958 1027 1030 +1 2 960 961 823 +1 2 1017 785 971 +1 2 785 972 971 +1 2 971 964 1067 +1 2 823 961 860 +1 2 961 960 962 +1 2 1010 964 970 +1 2 898 996 66 +1 2 966 963 88 +1 2 899 963 965 +1 2 970 964 966 +1 2 788 965 968 +1 2 966 965 963 +1 2 965 966 968 +1 2 969 89 970 +1 2 966 964 968 +1 2 919 967 788 +1 2 899 967 893 +1 2 971 968 964 +1 2 998 785 787 +1 2 90 997 89 +1 2 966 88 969 +1 2 89 997 970 +1 2 1010 970 997 +1 2 971 1016 1017 +1 2 788 968 972 +1 2 971 972 968 +1 2 824 973 790 +1 2 894 973 861 +1 2 882 905 1050 +1 2 1001 1003 975 +1 2 1052 100 995 +1 2 790 901 1000 +1 2 977 976 155 +1 2 978 976 916 +1 2 977 988 987 +1 2 987 986 916 +1 2 978 916 985 +1 2 978 142 711 +1 2 57 979 735 +1 2 980 979 917 +1 2 926 980 917 +1 2 154 738 980 +1 2 56 7 983 +1 2 917 57 981 +1 2 926 917 982 +1 2 7 6 983 +1 2 983 6 1006 +1 2 1 1087 2 +1 2 1088 1087 1 +1 2 12 929 985 +1 2 978 985 929 +1 2 987 916 977 +1 2 12 986 13 +1 2 988 977 864 +1 2 14 13 987 +1 2 988 864 1008 +1 2 14 987 988 +1 2 829 989 800 +1 2 796 989 931 +1 2 1056 990 726 +1 2 991 1060 79 +1 2 84 993 946 +1 2 1060 991 933 +1 2 948 84 992 +1 2 994 993 948 +1 2 953 994 948 +1 2 994 857 877 +1 2 1064 962 1009 +1 2 1052 995 949 +1 2 1065 66 996 +1 2 90 1062 997 +1 2 64 65 1066 +1 2 777 998 787 +1 2 788 998 919 +1 2 1004 865 1011 +1 2 1002 1000 975 +1 2 1001 901 974 +1 2 1002 975 999 +1 2 1003 974 101 +1 2 975 1000 1001 +1 2 1004 999 865 +1 2 824 1005 791 +1 2 101 100 1003 +1 2 1052 1003 100 +1 2 1012 1011 692 +1 2 1014 1012 613 +1 2 790 1002 1005 +1 2 1004 1005 1002 +1 2 6 927 1006 +1 2 924 1006 927 +1 2 2 1007 928 +1 2 984 1056 1057 +1 2 1063 864 832 +1 2 91 1008 1063 +1 2 1015 962 960 +1 2 1062 1066 1092 +1 2 1092 997 1062 +1 2 1015 1009 962 +1 2 883 1011 865 +1 2 1012 692 613 +1 2 613 683 1014 +1 2 1004 1011 1012 +1 2 1005 1013 791 +1 2 1004 1012 1013 +1 2 791 1014 683 +1 2 1012 1014 1013 +1 2 1016 1015 960 +1 2 1092 1015 1010 +1 2 1017 1016 960 +1 2 1016 971 1067 +1 2 960 823 1017 +1 2 1068 1017 823 +1 2 145 1021 1018 +1 2 1021 1024 1018 +1 2 94 93 1019 +1 2 1019 93 1020 +1 2 92 1063 1071 +1 2 1020 1071 1069 +1 2 717 1021 145 +1 2 1024 1021 718 +1 2 1024 718 1025 +1 2 1070 958 1049 +1 2 801 1028 718 +1 2 93 1023 1071 +1 2 1026 1024 1022 +1 2 1027 1025 146 +1 2 1022 1024 1025 +1 2 1026 1022 1070 +1 2 94 1018 1026 +1 2 1029 1027 146 +1 2 1070 1027 958 +1 2 146 1028 720 +1 2 718 1028 1025 +1 2 810 1029 146 +1 2 1030 1029 811 +1 2 811 748 1030 +1 2 957 1030 748 +1 2 760 1031 818 +1 2 1032 1031 759 +1 2 82 1032 759 +1 2 819 1032 83 +1 2 69 1034 839 +1 2 830 80 1033 +1 2 70 844 1034 +1 2 1036 1035 840 +1 2 1037 902 906 +1 2 1038 1036 840 +1 2 1039 1036 1038 +1 2 871 1035 1037 +1 2 1037 1035 1036 +1 2 846 1038 840 +1 2 940 1038 849 +1 2 1039 940 1040 +1 2 902 1036 1039 +1 2 940 72 1040 +1 2 1043 1042 73 +1 2 908 1041 907 +1 2 1039 1041 902 +1 2 1044 1072 74 +1 2 1040 72 1042 +1 2 907 1040 1043 +1 2 1076 1047 1074 +1 2 907 1073 909 +1 2 66 67 1046 +1 2 885 98 1045 +1 2 889 1046 67 +1 2 1073 1074 1075 +1 2 1086 1047 1076 +1 2 1091 905 1084 +1 2 940 71 1048 +1 2 958 96 1049 +1 2 1051 1050 102 +1 2 999 1052 949 +1 2 1050 1051 974 +1 2 1003 1052 975 +1 2 15 1053 91 +1 2 14 988 1053 +1 2 1055 137 159 +1 2 726 990 1054 +1 2 105 1055 159 +1 2 726 1055 805 +1 2 1057 1056 726 +1 2 1058 1056 984 +1 2 726 805 1059 +1 2 984 1057 1007 +1 2 1087 1058 984 +1 2 78 79 1061 +1 2 160 1059 805 +1 2 138 1057 1059 +1 2 933 990 1060 +1 2 990 1056 1061 +1 2 78 1061 1058 +1 2 79 1060 1061 +1 2 1090 1089 63 +1 2 1062 64 1066 +1 2 91 1063 92 +1 2 864 1063 1008 +1 2 1065 1064 65 +1 2 962 1064 996 +1 2 1064 1066 65 +1 2 1064 1065 996 +1 2 1066 1009 1092 +1 2 964 1010 1067 +1 2 1016 1067 1010 +1 2 859 1068 823 +1 2 785 1068 786 +1 2 803 1069 832 +1 2 145 1069 719 +1 2 1026 1070 95 +1 2 1027 1070 1022 +1 2 93 1071 1020 +1 2 92 1071 1023 +1 2 1043 1073 907 +1 2 1044 73 1072 +1 2 1073 1044 1074 +1 2 74 1077 1044 +1 2 1077 1076 1074 +1 2 1075 1047 1085 +1 2 1073 1075 909 +1 2 1074 1044 1077 +1 2 1076 1077 1078 +1 2 74 75 1077 +1 2 1077 75 1078 +1 2 1079 1078 75 +1 2 900 1078 1081 +1 2 75 76 1079 +1 2 1079 76 1080 +1 2 1083 103 1084 +1 2 1084 1080 1083 +1 2 900 1081 905 +1 2 1078 1079 1081 +1 2 1091 103 102 +1 2 1080 76 1082 +1 2 1082 77 1083 +1 2 905 1080 1084 +1 2 707 1085 710 +1 2 1075 1085 699 +1 2 904 1086 900 +1 2 1085 1086 710 +1 2 2 1087 984 +1 2 1088 1 0 +1 2 78 1088 0 +1 2 1058 1087 1088 +1 2 905 1091 1050 +1 2 1062 90 1089 +1 2 1089 1090 1062 +1 2 103 1091 1084 +1 2 1015 1092 1009 +1 2 997 1092 1010 + +boundary +155 +3 1 1 0 +3 1 0 78 +3 1 2 1 +3 1 3 2 +3 1 4 3 +3 1 5 4 +3 1 6 5 +3 1 7 6 +3 1 56 7 +3 1 942 8 +3 1 8 943 +3 1 920 9 +3 1 9 942 +3 1 10 920 +3 1 930 10 +3 1 12 11 +3 1 11 930 +3 1 13 12 +3 1 14 13 +3 1 15 14 +3 1 91 15 +3 1 17 16 +3 1 16 31 +3 1 18 17 +3 1 19 18 +3 1 20 19 +3 1 21 20 +3 1 22 21 +3 1 23 22 +3 1 24 23 +3 1 25 24 +3 1 26 25 +3 1 27 26 +3 1 28 27 +3 1 29 28 +3 1 30 29 +3 1 31 30 +3 1 33 32 +3 1 32 47 +3 1 34 33 +3 1 35 34 +3 1 36 35 +3 1 37 36 +3 1 38 37 +3 1 39 38 +3 1 40 39 +3 1 41 40 +3 1 42 41 +3 1 43 42 +3 1 44 43 +3 1 45 44 +3 1 46 45 +3 1 47 46 +3 1 48 863 +3 1 943 48 +3 1 49 702 +3 1 863 49 +3 1 50 653 +3 1 702 50 +3 1 51 620 +3 1 653 51 +3 1 52 432 +3 1 620 52 +3 1 53 397 +3 1 432 53 +3 1 54 281 +3 1 340 54 +3 1 55 246 +3 1 257 55 +3 1 981 56 +3 1 808 57 +3 1 57 981 +3 1 174 58 +3 1 58 808 +3 1 59 174 +3 1 513 59 +3 1 191 60 +3 1 60 513 +3 1 189 61 +3 1 61 191 +3 1 62 189 +3 1 266 62 +3 1 1089 63 +3 1 63 1090 +3 1 64 65 +3 1 1090 64 +3 1 65 1065 +3 1 66 67 +3 1 1065 66 +3 1 67 68 +3 1 68 875 +3 1 69 70 +3 1 875 69 +3 1 70 939 +3 1 939 71 +3 1 71 1048 +3 1 72 1042 +3 1 1048 72 +3 1 1042 73 +3 1 73 1072 +3 1 74 75 +3 1 1072 74 +3 1 75 76 +3 1 76 1082 +3 1 1082 77 +3 1 77 1083 +3 1 78 79 +3 1 79 991 +3 1 991 80 +3 1 80 1033 +3 1 81 935 +3 1 1033 81 +3 1 82 83 +3 1 935 82 +3 1 83 947 +3 1 947 84 +3 1 84 992 +3 1 85 954 +3 1 992 85 +3 1 954 86 +3 1 86 955 +3 1 87 88 +3 1 955 87 +3 1 88 969 +3 1 89 90 +3 1 969 89 +3 1 90 1089 +3 1 92 91 +3 1 1023 92 +3 1 94 93 +3 1 93 1023 +3 1 95 94 +3 1 1049 95 +3 1 956 96 +3 1 96 1049 +3 1 97 956 +3 1 1045 97 +3 1 950 98 +3 1 98 1045 +3 1 99 950 +3 1 995 99 +3 1 101 100 +3 1 100 995 +3 1 1051 101 +3 1 103 102 +3 1 102 1051 +3 1 1083 103 +3 1 237 207 +3 1 207 266 +3 1 246 237 +3 1 252 272 +3 1 281 252 +3 1 255 257 +3 1 272 255 +3 1 397 340 + +vertices +1093 +2 +-1.0000000000000129 -1.0000000000000142 +-1.0000000000000142 -0.8685714285714287 +-1.0000000000000142 -0.7371428571428573 +-1.0000000000000142 -0.6057142857142859 +-1.0000000000000142 -0.47428571428571453 +-1.0000000000000142 -0.3428571428571432 +-1.0000000000000142 -0.21142857142857174 +-0.9999999999999973 -0.08000000000000279 +-0.9999999999999997 0.08 +-1.0000000000000142 0.21142857142857116 +-1.0000000000000142 0.34285714285714264 +-1.0000000000000142 0.4742857142857141 +-1.0000000000000142 0.6057142857142855 +-1.0000000000000142 0.737142857142857 +-1.0000000000000142 0.8685714285714284 +-1.0000000000000129 1.0000000000000142 +-0.374999999999999 0.5 +-0.3850903212891824 0.5492012778144729 +-0.4137322518172297 0.5904592484131634 +-0.45491624881001647 0.6165866861122654 +-0.5 0.625000000000001 +-0.5492012778144729 0.6149096787108176 +-0.5904592484131634 0.5862677481827703 +-0.6165866861122654 0.5450837511899836 +-0.625000000000001 0.5 +-0.6149096787108176 0.450798722185527 +-0.5862677481827703 0.40954075158683667 +-0.5450837511899836 0.3834133138877346 +-0.5 0.374999999999999 +-0.450798722185527 0.3850903212891824 +-0.40954075158683656 0.4137322518172297 +-0.3834133138877346 0.45491624881001647 +-0.374999999999999 -0.5 +-0.3850903212891824 -0.450798722185527 +-0.4137322518172297 -0.40954075158683656 +-0.45491624881001647 -0.3834133138877346 +-0.5 -0.374999999999999 +-0.5492012778144729 -0.3850903212891824 +-0.5904592484131634 -0.4137322518172297 +-0.6165866861122654 -0.45491624881001647 +-0.625000000000001 -0.5 +-0.6149096787108176 -0.5492012778144729 +-0.5862677481827703 -0.5904592484131632 +-0.5450837511899836 -0.6165866861122654 +-0.5 -0.625000000000001 +-0.450798722185527 -0.6149096787108176 +-0.40954075158683656 -0.5862677481827703 +-0.3834133138877346 -0.5450837511899836 +-0.8749999999999993 0.07000000000000016 +-0.7499999999999989 0.06000000000000015 +-0.6249999999999982 0.05000000000000014 +-0.4999999999999978 0.040000000000000126 +-0.3749999999999972 0.03000000000000012 +-0.24999999999999664 0.020000000000000108 +-0.12499999999999609 0.010000000000000099 +4.88640012733244e-15 -3.552713678800489e-16 +-0.8749999999999992 -0.07000000000000309 +-0.7499999999999987 -0.06000000000000308 +-0.6249999999999981 -0.05000000000000307 +-0.49999999999999756 -0.04000000000000306 +-0.374999999999997 -0.03000000000000305 +-0.2499999999999965 -0.020000000000002596 +-0.12499999999999595 -0.010000000000002585 +1.0000000000000142 -1.0000000000000142 +1.0000000000000142 -0.8571428571428572 +1.0000000000000142 -0.7142857142857143 +1.0000000000000142 -0.5714285714285714 +1.0000000000000142 -0.4285714285714286 +1.0000000000000142 -0.2857142857142858 +1.0000000000000142 -0.1428571428571429 +1.0000000000000142 0. +1.0000000000000142 0.1428571428571428 +1.0000000000000142 0.2857142857142856 +1.0000000000000142 0.4285714285714284 +1.0000000000000142 0.5714285714285714 +1.0000000000000142 0.7142857142857142 +1.0000000000000142 0.857142857142857 +1.0000000000000142 1.0000000000000124 +-0.8571428571428572 -1.0000000000000142 +-0.7142857142857143 -1.0000000000000142 +-0.5714285714285714 -1.0000000000000142 +-0.4285714285714286 -1.0000000000000142 +-0.2857142857142858 -1.0000000000000142 +-0.1428571428571429 -1.0000000000000142 +0. -1.0000000000000142 +0.1428571428571428 -1.0000000000000142 +0.2857142857142856 -1.0000000000000142 +0.4285714285714284 -1.0000000000000142 +0.5714285714285714 -1.0000000000000142 +0.7142857142857142 -1.0000000000000142 +0.857142857142857 -1.0000000000000142 +-0.8571428571428572 1.0000000000000142 +-0.7142857142857143 1.0000000000000142 +-0.5714285714285714 1.0000000000000142 +-0.4285714285714286 1.0000000000000142 +-0.2857142857142858 1.0000000000000142 +-0.1428571428571429 1.0000000000000142 +0. 1.0000000000000142 +0.1428571428571428 1.0000000000000142 +0.2857142857142856 1.0000000000000142 +0.4285714285714284 1.0000000000000142 +0.5714285714285714 1.0000000000000142 +0.7142857142857142 1.0000000000000142 +0.857142857142857 1.0000000000000142 +-0.7071751319408466 -0.5424879949723013 +-0.6119924890445799 -0.6765308326497387 +-0.4575120050276987 -0.7071751319408467 +-0.6206045045936441 -0.3262722863697469 +-0.46254363983270796 -0.29928560317638253 +-0.7071751319408467 0.4575120050276987 +-0.6119924890445798 0.3234691673502613 +-0.4575120050276987 0.2928248680591533 +-0.6206045045936442 0.6737277136302531 +-0.46254363983270796 0.7007143968236175 +-0.32346916735026127 -0.6119924890445797 +-0.32627228636974703 -0.37939549540635575 +-0.32346916735026127 0.3880075109554203 +-0.3262722863697469 0.6206045045936442 +-0.6959814438674389 -0.4634268808626838 +-0.5361743436401446 -0.6938445575542642 +-0.6642573872037073 -0.6140300553987131 +-0.5392849109870473 -0.3084433821287207 +-0.3957270917564327 -0.33563734075309715 +-0.695981443867439 0.5365731191373162 +-0.5361743436401446 0.30615544244573584 +-0.6642573872037073 0.38596994460128675 +-0.5392849109870473 0.6915566178712793 +-0.3957270917564327 0.6643626592469029 +-0.3859699446012867 -0.6642573872037074 +-0.306155442445736 -0.5361743436401446 +-0.3859699446012867 0.3357426127962925 +-0.306155442445736 0.4638256563598554 +-0.6629916920787488 -0.39659684364767667 +-0.6629916920787489 0.6034031563523236 +-0.3106717103861973 -0.4611720801533147 +-0.3106717103861973 0.5388279198466853 +-0.8417318329151869 -0.48311411692582573 +-0.6047758743230432 -0.8195923512248753 +-0.8125405966573046 -0.6543403470405131 +-0.5163270627920392 -0.17470687682730263 +-0.3750512365588452 -0.3798196322904925 +-0.2834285522676665 -0.23439220837658964 +-0.8417318329151872 0.5168858830741743 +-0.6034940161046602 0.18602100542282227 +-0.8125405966573047 0.3456596529594866 +-0.5171484911688178 0.8321766107655203 +-0.28342855226766644 0.7656077916234105 +-0.34565965295948675 -0.8125405966573049 +-0.18040764877512522 -0.6047758743230426 +-0.3719877551568152 0.38252517138634645 +-0.43573884669333585 0.3376175992297389 +-0.34565965295948686 0.18745940334269506 +-0.3416327066436727 0.4320412528272201 +-0.18040764877512522 0.39522412567695736 +-0.7664641382071817 -0.2862937747986417 +-0.7664641382071814 0.7137062252013584 +-0.34357195267416785 -0.4250721235289139 +-0.7660802283890393 -0.49382507733734216 +-0.5117938032916486 -0.7887319575715519 +-0.5882088035942443 -0.7470438624179795 +-0.744083786715813 -0.6132734295226729 +-0.5079405121535124 -0.24498533189270516 +-0.3976103674908555 -0.19887238084851733 +-0.6104819934743851 -0.22158230728411746 +-0.4604054685926838 -0.20367320022700852 +-0.5645126786647513 -0.25651227270274 +-0.42510733882826524 -0.25229267834380575 +-0.35269682363983557 -0.25577757192890826 +-0.4359003435066477 -0.11111931468675963 +-0.3336572870791951 -0.19457319688558763 +-0.39048563440992057 -0.2869388274999574 +-0.3357631899701743 -0.3174599726690607 +-0.46903398159032056 -0.1518676579273463 +-0.4932321935387683 -0.0983462789389642 +-0.5624999999999978 -0.04500000000000306 +-0.24235691838246376 -0.13099396238873715 +-0.36981573158735787 -0.13451431757877275 +-0.22122314228672244 -0.3316029801756051 +-0.3082862819526927 -0.27675116237997 +-0.2787161350450456 -0.32633723593473923 +-0.2558146404413121 -0.27907020043115743 +-0.19406538578725172 -0.21003254046237582 +-0.23514587177366472 -0.23542295900283078 +-0.19894919797021374 -0.27928095451429846 +-0.2390196759390494 -0.1832269860657055 +-0.19108814353089382 -0.15394144960944034 +-0.2897737792982758 -0.16024661574868215 +-0.25597695511487495 -0.39455981110577076 +-0.11733365252008159 -0.3449275259851828 +-0.18749999999999623 -0.015000000000002591 +-0.27555184833029334 -0.19637383424356908 +-0.3124999999999968 -0.0250000000000026 +-0.33137069219744764 -0.15228251830683615 +-0.1673992914617242 -0.3236141452461556 +-0.09314273422439209 -0.1872648242353132 +-0.20285540918435496 -0.11148608534725743 +-0.1380169967506791 -0.11637339294070478 +-0.23791207621860833 -0.07166116671454524 +-0.16955632339912366 -0.10225664649396182 +-0.13418372673542264 -0.06551857411324366 +-0.04594879709799811 -0.09774131379360626 +-0.19631762204342273 -0.07038895051413227 +-0.16499203843288265 -0.07125331416015535 +-0.15581164457854335 -0.03495049669087273 +-0.09461050248264272 -0.09407335350109067 +-0.12314713303710673 -0.0919223555669124 +-0.09806962362267305 -0.14073512881791253 +-0.06249999999999566 -0.0050000000000025805 +-0.11059889121234123 -0.11634720864017868 +-0.14173110974624348 -0.16739654093508907 +-0.03994731574465397 -0.15810642703189953 +-0.07203582393982717 -0.11920595801953791 +-0.0689977166852234 -0.14938479966477552 +-0.06241877715364941 -0.18021338782791302 +-0.04298542299925773 -0.1279275853866619 +0.012032391536505281 -0.13763128015859394 +-0.011385960850805843 -0.10958688652534193 +-0.01684498793018532 -0.14053836907482947 +0.00274716848347787 -0.19027645211230101 +-0.06528050419311048 -0.2382042062104621 +0.05003818874855961 -0.08209480489594434 +-0.01170409924501212 -0.05416889441636519 +-0.030585139796971986 -0.1900974333391219 +0.02320320924932298 -0.10450324112165284 +-0.021219719533755968 -0.08193343001785518 +0.009293603943470872 -0.07687823891433304 +-0.056221707807815435 -0.054424456914447465 +0.029057130882582632 -0.0842413541335959 +0.032228139460656266 -0.04552451535404184 +-0.04352313906950159 -0.07428947463214661 +-0.03396353129557918 -0.05418732166322308 +-0.07141185673495479 -0.07812589254619622 +0.019237432334747277 -0.0329729323158012 +-0.02284488450528903 -0.04080688193710711 +0.0011953059506748659 -0.03208840761962206 +-0.04585244979389572 -0.032127355630840196 +0.010783727382189287 -0.05249811204200904 +-0.031249999999995517 -0.0025000000000025783 +0.01456489255554205 -0.015523918578379325 +0.04783345020490691 -0.01596530141530949 +0.03113692497248322 -0.020436337973421016 +0.03155927317994426 0.01139751353233372 +0.026858701811508866 -0.004459850188378425 +0.01507149048746765 0.0076595858748066716 +0.01144302143206812 -0.003858413300747022 +0.0021223872955222585 -0.012603243677359457 +-0.015624999999995452 -0.0012500000000025772 +-0.007246449626795792 -0.0077006296649979175 +-0.022119341673764073 -0.018351979077895292 +-0.00854849744832449 -0.021592002359001553 +0.016689067265574717 0.038756839991997014 +-0.038600449281439554 -0.017289416568072948 +-0.0624999999999958 0.005000000000000094 +0.020265796838377266 0.022980092727407565 +0.0030736063473700637 0.012609782486383017 +-0.031249999999995663 0.0025000000000000916 +-0.007187977043572522 0.008431536955288064 +-0.015624999999995594 0.00125000000000009 +-0.0071908423773292636 0.021451359251856966 +-0.020001718717427504 0.014938628438245042 +0.006286746183412046 0.026718951706103063 +-0.025141555636277457 0.040905143505647126 +-0.006654608900713404 0.039954941014230264 +0.04644525267754603 0.03720902119275307 +-0.04249873618436661 0.02397749686549343 +-0.014213635380158463 0.07320229889456237 +-0.09374999999999581 -0.007500000000002583 +0.026558513796544378 -0.06454843470914413 +0.047851854736764336 -0.06053759931257397 +0.0871600003331762 -0.06744043503744963 +0.05424450365763606 -0.038248806949092766 +-0.02830564538805004 0.026786890882293087 +-0.04687499999999573 0.0037500000000000927 +-0.06382819363429448 0.06321081303433737 +0.006094042901402395 0.06033641742081701 +0.09054148497211167 -0.01574202500477921 +-0.047630551549416526 0.04660216068607444 +0.032713196361035465 0.060015012972266316 +0.0692189553431885 -0.021876601855408996 +-0.03196372721145146 0.06121080147210887 +-0.044346298174533116 0.09867256634620003 +-0.09374999999999595 0.007500000000000097 +0.018747862349105963 0.10276926954470007 +0.07784028509025497 -0.044796015280282445 +0.070822575472024 0.012673199851599239 +0.006436821857283805 0.08333735964180139 +0.1138274676780972 -0.04322490525312084 +0.06257974261232822 -0.0042563278494097325 +0.051200007091168356 0.011755805716393368 +-0.013369325945042913 0.10950126789141951 +0.04227588943940339 -0.001225392743461538 +-0.10054309363981867 -0.060596085875322336 +-0.06068640252336841 -0.02255885192532467 +-0.07739210051402613 -0.015411243574622516 +-0.09653534214007822 -0.03412624023892619 +-0.07621705475622727 -0.03576131853022161 +0.03187887068761587 0.043975442032587686 +-0.061363290742170416 0.023830847478808086 +0.08000795653740801 0.07295516471867662 +0.05818547287574112 0.0598153031636385 +0.07204521164933127 0.03826577267722504 +0.052411592528379514 0.09409563291312914 +0.11649307665197514 0.023316870044749784 +0.09214648649777454 0.024479981784996274 +0.10574069748426582 0.05364144723644782 +-0.014178435199094022 -0.23849501665088912 +0.07634467469238404 -0.14087003879162824 +-0.046965856307890776 0.07702935725629165 +-0.07259977029509729 0.09111205723255632 +-0.10661493769156136 0.06508896536782269 +-0.071875731202838 0.1449779236753619 +-0.06464126895267687 0.1179428821960331 +-0.03683467449103204 0.12690581604027798 +-0.11618417056091135 0.11863569711125332 +0.005751462319763902 0.1598011316365471 +-0.01090251490206184 0.13734772596093145 +0.018740221577840374 0.13276426687475779 +-0.03724379294813443 0.17428832412343084 +0.06017474460877618 0.16930818625790292 +-0.024492971901021336 0.0916006987278366 +-0.07884889805851539 -0.05751463670758058 +0.03169082688507264 0.08333902450450421 +0.12477900500083115 -0.010339336157074362 +0.16487399689691468 0.05754016068476358 +0.14342118806211013 -0.10260673308948909 +0.05490260200610401 -0.11519231745660125 +0.09968489420725996 0.12722318163142318 +-0.08919628632418164 0.038748712460497506 +0.15815723371103 0.015726228645292745 +0.13585716672743053 0.04725147773775989 +0.13521409254785394 0.09512706023230352 +0.12024995270492535 -0.07708929994916218 +0.043837371231627044 -0.1462237084115054 +0.0923472448995991 -0.10571574340870561 +0.08127848523739216 0.10319580639264725 +0.10642578497795203 0.08699225828854933 +0.06528195020906608 0.1345140042552785 +-0.06893695558602843 0.04312391586055166 +-0.118356106188646 0.03839504969015933 +-0.15980647048205324 0.07255586028038086 +-0.18749999999999636 0.015000000000000104 +-0.1546961501952247 0.03192312255964426 +0.17760027832303882 -0.04619617521707682 +0.02132045626447457 -0.1664108708616573 +0.05434090421926988 -0.21126897697656116 +0.05223226646259275 -0.1782387891531945 +0.1461328989939032 -0.035716922808059354 +0.15351443997880668 -0.07016240837419063 +0.11183999643259629 -0.1910158500246062 +0.17073057667852024 -0.01433952877973304 +0.20804287905990831 -0.1008768387063271 +0.21774219897693792 0.02298241845121951 +0.18511018941592483 -0.0778297018474637 +0.21474866407996135 -0.02151631163723633 +0.1759498244630084 -0.10987755216671179 +0.21031332097251326 -0.055138186244774345 +0.14891778652708423 -0.15441542770395944 +0.2721333010597322 -0.04618988870835376 +0.2071086055946176 -0.15926163354072523 +-0.12475032824527275 -0.038560160210419775 +-0.10149050830129454 0.09363315765460789 +-0.13369572017633968 0.09152548529427458 +-0.172998872123462 0.1361237378226838 +-0.16340371508178111 0.10496217998513822 +-0.22344213922166178 0.10353339245048723 +-0.1929714676490015 0.08527721400260847 +-0.22919540386592152 0.05937405326828454 +-0.18734109728866463 0.05036397037670562 +0.07409897533885677 -0.08869967850570303 +0.04254277963466498 0.11949647273236234 +0.18633094994942195 0.032646993940479554 +0.2188125428186007 0.08233899650486909 +0.11460510862493142 -0.13706714395522224 +0.09788889612274042 -0.1632555785987142 +-0.12675535419056563 -0.1428399125375136 +-0.15812053259560516 -0.14055675633681872 +-0.17251140913242066 -0.1830520380481651 +-0.13545940969364084 -0.2347515438462374 +-0.03962585389135656 -0.22014193637193424 +-0.040174236563823476 -0.31650535827101467 +0.009935630435352852 0.24326345452347925 +0.01941581000340587 -0.22320733358043685 +0.02971953212790171 -0.2904045043360499 +0.04911697038383081 -0.253041636092146 +0.10565230949217304 -0.3061093771403066 +0.09596269672857528 -0.23768701644777152 +0.06990071448642374 -0.2875484531730158 +0.054873114130656084 -0.36020663043787526 +0.24544177667678813 -0.07980762172591699 +0.24950107399673574 -0.13074012526535497 +0.30614314939985254 -0.10059776382705089 +0.2571293662746911 -0.0020173056514647125 +0.17922103421516103 -0.14233541336572383 +0.17618656277793862 -0.17877183070264213 +0.2262337815464091 -0.22383298368287513 +-0.12644576034962382 0.1863312039387485 +-0.3046010978356992 0.09165267394122523 +-0.2187499999999965 0.017500000000000106 +0.1785585341638184 0.09883445622064671 +0.15236622790669074 0.14982663184387926 +0.15500637365058195 0.11895977990425907 +0.19131940195042535 0.1376120916899108 +0.1934958250402658 0.21277259347435817 +0.18180803678173474 0.17549927458703513 +0.2537272428417483 0.17341670971644782 +0.12157661898025227 0.21485515834494548 +0.1461421293176539 0.18668302711920673 +0.10384524730462294 0.1745974006668038 +0.0773662840903147 0.21029369173231735 +-0.12669262813327775 -0.19996573963776054 +-0.09981690955063438 -0.2252366192615932 +-0.10278779487807743 -0.28562291211428437 +-0.039928084859887275 -0.2732508542749708 +-0.003085290283944886 -0.2736301488180951 +-0.0020269652488559275 -0.31202503813222043 +-0.013158229270066487 -0.3818897866924651 +0.032626199811906606 -0.32879024978023874 +-0.003926802051904293 0.20212236911557535 +0.028975896322250443 0.18737948834785298 +-0.069927380793169 0.2472671804400224 +-0.04329367865245297 0.21538698437058382 +-0.08672499199919763 0.20616852890550227 +0.27128051966585026 -0.1033762995284421 +0.29191257018577765 -0.14214705621459758 +0.25834519442252873 -0.1824046934323198 +0.3726832931420232 -0.14659930122865325 +0.26368725395307185 0.05184185655582739 +0.1527827900997425 -0.23098065826309122 +-0.10756202817325854 0.15456818269396883 +-0.08302852971284576 0.17466850341055548 +-0.14300004291274634 0.1549944787457703 +-0.1902742706486188 0.2000090175562612 +-0.3124999999999969 0.025000000000000112 +0.12145333426901764 0.14918128896699515 +0.09138522958648877 0.2909471526523504 +-0.13295187448020096 0.24904416067154703 +0.3288423475427263 -0.20706290644824726 +0.3429371376953981 0.002494240112421959 +-0.1439677407346622 0.12621255536464196 +-0.2640447832603038 0.09775127492960782 +-0.25329824983985805 0.16773707518288453 +-0.2907849959847577 0.13767529792320793 +-0.27835611362277873 0.05502197073337867 +0.09574998300697961 0.24864338791631505 +0.15917356161834587 0.270357691820179 +0.051619434898504866 0.26546720573177546 +-0.11790300281804864 0.21891143127232388 +-0.15644616445202 0.218486440457911 +-0.19886942755647347 0.2754141953994567 +0.2982140342146841 -0.1815245943780019 +0.27938124529722175 -0.2318689686297568 +0.33663201412047294 -0.1665851400954903 +0.3760367570640354 -0.1951567276723285 +0.3006694967450706 -0.011862650167675482 +-0.2979069602368446 0.18496001259471842 +-0.3479847255836295 0.12976166821731513 +0.026333415413668515 0.34870096312704446 +0.04452259998653401 0.2285612804826644 +0.3735459227583512 -0.28477248578948844 +0.46043894682500697 -0.164933248024799 +0.3180401348117894 -0.055327515839677516 +0.30827631647969694 0.035140185859336745 +-0.2529062320380952 0.23513386639335576 +0.007749083291708391 0.29759736654531266 +0.3619115242602418 -0.09105526551062741 +0.3834789829771435 0.08026128724518188 +-0.31851212076691254 0.2487081116156557 +0.31227933327786805 0.1136985493117499 +0.35224089324312546 0.047095213522439394 +0.29780464759082925 0.07505495030412285 +0.26126646451833 0.1107736950897185 +0.4266542374150381 0.00830173482490397 +0.28487200886698977 0.14538986126672573 +0.3547556246003092 0.17812983070967509 +0.303245327548917 0.19712536254694768 +0.22455787152869347 0.11967092169774271 +-0.28378018189204535 -0.11690556823219578 +-0.18462359305792841 -0.39287780706775294 +-0.3315921350122285 -0.10228580556921431 +-0.2956302518736784 -0.07016847775659871 +-0.38082601620980905 -0.0826747279062906 +-0.2170546890267436 -0.03869138716566212 +-0.15173435512621122 -0.279073216771798 +-0.17453138503661456 -0.2455532120059929 +-0.08189730673809195 -0.32218296242900474 +-0.07066011385203119 -0.37866810607341966 +0.23128397386675195 0.05242616671027597 +0.14626114235931678 -0.1967071384347234 +0.12834609358348562 -0.26799832729174544 +0.18455957936102407 -0.32728367095729505 +0.17987042516504126 -0.27543678797323806 +0.1480920680732098 -0.3055685560286412 +0.12778881343593823 -0.3777690894183028 +0.2479116434883698 -0.29541847051789655 +0.19058099868231757 -0.23843024155049275 +0.2193578428699558 -0.26681216416689885 +-0.21534928738514056 0.14634045695996853 +-0.44910435678210364 0.16273224813318427 +-0.3549319083842675 0.07810427524308344 +-0.40978368178639785 0.11177690166678439 +0.3249498211139076 -0.26101512267122584 +0.05088465083673736 0.3108416746517942 +0.10572310748602237 0.3732938864334713 +0.06949650036535998 0.3498014227391301 +0.04596414657712317 0.4257674353073712 +-0.07355132962126157 0.3560940588955261 +-0.028810251107253812 0.2689151652787957 +-0.03855898768755443 0.31898224722473645 +-0.02235702669032493 0.3693117718388259 +-0.09490262555113256 0.30090927983326865 +0.42668458129183556 -0.1073102070639676 +0.25311888850967845 0.2382535867161245 +-0.26625739431268813 -0.05104876001010904 +-0.4374999999999973 -0.035000000000003056 +-0.12524207428781975 -0.40501946874733485 +0.3151767876380648 -0.3425868028785269 +0.016099001031413762 0.39234137266402647 +-0.04395414199935294 0.4489985006759591 +0.0006899866592326009 0.43616366677393037 +0.041756717037389306 0.5112241469553447 +-0.00807846616280257 0.48972537717956055 +-0.1367996138314434 0.34884231280557815 +-0.10095179626996505 0.26545767783011276 +-0.13335374778554449 0.2892283726425483 +0.3626743137930225 0.2789411433399729 +-0.17532554936847547 -0.49868378634181826 +-0.047620322545166655 -0.48221392490859794 +-0.05819538041524764 0.40236871936039015 +-0.12214222610703071 0.44738838071827586 +-0.10991987720603975 0.3938479449410637 +-0.021272262586846606 0.5888187940285717 +-0.1733859458218937 0.3168209513385583 +-0.2550194453235015 0.3385164967573248 +-0.21746267242598502 0.3154024586145823 +-0.214378666927608 0.36248251716025076 +-0.2610303241316859 0.2866807172287025 +-0.24434758124038014 0.42757082924885126 +-0.3201276092291826 0.31980004109956534 +0.3444979640349765 0.2296522272218243 +0.4409617900353918 0.22207503140414286 +0.3024967589098864 0.2731369948882457 +0.3937984578247843 0.239467526300156 +0.4482122193756822 0.3143788560826621 +-0.16422556035071473 -0.4443968012815613 +-0.04453757686359611 -0.42719180839918985 +-0.08454582900551579 0.5209196925126868 +0.3222963823161084 0.38271727295619534 +0.22982946212017885 0.3236092202237695 +-0.21929409445601353 -0.4364025945228644 +-0.11239850575984173 -0.48327210419260996 +0.0498967341536628 -0.460080133900576 +0.32785022693651583 0.3251348743947797 +0.2569889579418659 0.2851646376818022 +0.2787621728549372 0.3293623242520383 +0.20785315204964805 0.27926805538648747 +0.24554655206737652 0.4009021693417457 +0.1746288588972819 0.3233511534982599 +0.007521575716693502 -0.42973284137848305 +0.05356298014843147 -0.4102020809643828 +0.11054790861633035 -0.4394644807983274 +0.3894228419093203 0.33532935693527394 +0.215953047440956 0.2427214637263369 +0.23066592597913377 0.20829474877938367 +0.2020139687572501 0.36950981143522443 +0.13318693129106124 0.3066870357302705 +0.45595698911483346 0.42907145474262653 +0.16813026994096442 0.46237725142009056 +0.1536945306558032 0.36697399569136324 +0.17553350212534877 0.4124632628514338 +0.2167149080932432 0.4440772974360102 +0.11995401168703762 0.42972574182993056 +0.30247975076147077 0.4701354417627132 +0.224863359088365 0.539354435002586 +0.43590997835643447 0.3728173684637867 +0.10911313491363427 0.49758812785372786 +0.5456564600954807 0.36540659182534985 +0.38307467534146866 0.4233451168940501 +0.49182833060256637 0.3845890754888496 +0.5527476470816055 0.47042025787547753 +-0.5873952848170052 -0.12693393978741246 +-0.4137922071545005 -0.1537029142669051 +-0.2974441459212913 -0.41627228973260816 +-0.2645567962746244 -0.45035929423616755 +-0.277983164058697 -0.49684084192074507 +-0.2358190978433098 -0.5567963130020229 +-0.22882712780386288 -0.4858598437101764 +0.1580237848451997 0.23065134997278286 +-0.23071255698313134 0.20130523974107928 +-0.20935968847912473 0.236025995444169 +-0.28965920485631214 0.22283004707938994 +-0.39577350535770817 0.24631229849007763 +-0.22079073628229862 -0.37291260063061504 +-0.34123784783621347 -0.05890190204729562 +0.09632864274031738 -0.3482385299817222 +-0.39473827602659767 0.16403593045446851 +-0.4754624187326705 0.10174359020425566 +0.5457115194208328 -0.07628454914953575 +0.406763670879737 -0.0495094606427596 +0.47726929324909373 -0.05754306438024076 +0.3858632329851842 -0.009991059209870427 +0.3614330267716833 -0.04684332607360134 +0.24575530720377928 -0.37003997381143017 +-0.18711372418060768 0.4613367694129138 +-0.2901574002876976 0.42028642436406727 +-0.12840276024263353 -0.5540992826709386 +0.27950983515323413 0.37319031288308546 +0.29118053331572413 0.4216188685067149 +0.1167681871691798 -0.5572901080503164 +0.06840972087739887 0.4697044662842081 +0.16495187673322015 0.524114833158937 +0.16789200793617398 0.6379411647311908 +0.10291523257448884 0.5826683756169977 +0.1824744021358458 0.580613364323236 +0.2768095803451209 0.6351278266505704 +0.3693392431882569 0.37811763237307894 +0.4093646149268598 0.5554085223566412 +-0.2508413336977866 -0.6301324848272506 +-0.182751572154115 -0.5514958268428627 +-0.35825477531064714 0.2833693219439079 +-0.35656679662978463 0.22893453792388346 +-0.43749999999999745 0.03500000000000012 +-0.5283486499070439 0.1607899865801775 +0.4980980990186792 -0.115821315299338 +0.5919925887378209 -0.18045839165434957 +0.5541608451468996 -0.13489829942738252 +0.5230895363137356 -0.19918621148095855 +0.6538421919619284 -0.09061310066125376 +0.5977561589512371 -0.09869804931824779 +0.6114667918534512 0.00476948928591947 +0.22669582574652639 -0.33214730485395116 +0.20112206659259024 -0.36875020783271256 +0.2713290663577154 -0.33343707083266877 +0.22115228762102201 -0.4485175136140883 +0.30127872094426283 -0.2995503978454615 +-0.14379228570105904 0.5048351415511279 +-0.14268252902088507 0.6179050406461007 +-0.22337401675636182 0.5407713682157823 +-0.12729162412372652 0.5612135866742735 +-0.08182653635297882 0.603991626848059 +-0.024652152555802144 0.7037512329358697 +-0.039170657144666374 0.6458083614887009 +0.04353217019640309 0.64047696765184 +-0.10761022787146018 0.6937473368242524 +-0.06456958747884463 -0.6716278994634678 +0.09704158385598617 -0.49925451474797067 +0.018175706877619956 -0.5462108518458586 +0.1722502442076928 -0.5060610803943822 +0.06864904567193868 -0.5412756725092462 +0.05216108778841248 -0.633218567961369 +0.08231723977574865 0.5384019833203898 +0.04507480229038588 0.5826571112999117 +0.41484400452543013 0.4856692574774674 +-0.40355891581124476 0.06613855235940741 +-0.562499999999998 0.04500000000000013 +0.4537832279052366 -0.2515291319692172 +0.5306674546755517 0.0031190586131676426 +0.17007406521251964 -0.41894514301256386 +-0.25083917639842973 0.48731681779411523 +-0.11306075173289963 -0.6218657211158208 +0.48553685878909975 0.49378971123335186 +0.3534051645146935 0.5159269186513141 +0.4766350900315049 -0.20973179566112604 +0.42631370231698495 -0.20259763445203377 +0.5115556657012522 -0.25596949437174205 +0.5707527877899651 -0.2384306396934547 +0.47479790921037984 -0.356163907908105 +0.6841414914415826 -0.24709682340692474 +0.47904678103835374 -0.3008829057887082 +0.628669295893397 -0.2267729886163672 +0.42149599463251053 -0.324263363612873 +0.5698523874189192 -0.33566596620044126 +0.6822919553962435 -0.16627971573452555 +0.36926689269535645 -0.33882418908709344 +0.6334204795674151 -0.29967029344010354 +0.3488919164401829 -0.4365923306065718 +0.4137986293427 -0.3976054889853577 +0.3452915653226981 -0.384834860671371 +0.2899868869363504 -0.4146859212756846 +0.15195468167947246 -0.4629829194242627 +-0.17583180263501627 -0.7279873161201219 +-0.03917691792396856 -0.5983764073949904 +0.5605698468917842 0.6012511709984986 +0.35328772312590045 0.46484431620189726 +0.3413602582179689 0.5923968341074456 +0.29042988646667833 0.5347494941303303 +-0.5884356381261753 0.11392952342278603 +0.6654468313004138 -0.43035682089851574 +0.2906658596366488 -0.5030094661862802 +-0.12782357177084075 -0.6847588688344883 +0.5382082009254634 0.5369388471328682 +0.2607923108988115 0.5818412142115156 +0.22198971378505486 0.6225553738616869 +0.22221562364943287 0.7261485780268851 +-0.6841050761504173 0.13156464019557368 +-0.5332978668665779 0.09533175985177597 +0.7326257057984329 -0.34462631513159253 +0.6310034714896464 -0.3695301019500318 +0.5177627601865287 -0.48501959400009625 +-0.07291899332333497 -0.7903252486494524 +0.6633970325128185 0.5294539795942743 +0.4805055442367442 0.5930460637433083 +-0.640252390563882 0.10114479218854208 +-0.6874999999999987 0.05500000000000015 +0.5837457442368781 -0.43645516975781284 +0.47810834678871356 -0.42665090733409144 +-0.08548368980008955 -0.7297990916599807 +0.023497736014064755 -0.7387427472413013 +0.601858176830941 0.5508512798505332 +0.41694229739929917 -0.47636213179182313 +0.5315770505527065 -0.38881850035917465 +0.6705591152299328 0.649244044343501 +-0.7660802283890396 0.5061749226626578 +-0.5875146642129592 0.25599582781802854 +-0.7085661608967737 0.25025771546052133 +-0.5161820607348553 0.23433834480380467 +-0.6470761806926081 0.2327852894924702 +-0.7440837867158131 0.3867265704773269 +-0.5083856413223105 0.7587448059954467 +-0.39704807406479325 0.7995756085569206 +-0.6152503750959016 0.7832310505361657 +-0.3252996370342247 0.6991482238734675 +-0.38672657047732695 -0.7440837867158132 +-0.699172326605716 -0.3268530153394821 +-0.7644377745514768 0.6119231618142252 +-0.6991723266057159 0.673146984660518 +-0.7899790594676541 -0.3901032811510933 +-0.7219426420656976 -0.7528840315225533 +-0.8146738948019334 -0.5645231132455659 +0.3620319020731424 0.12711607025187704 +0.44630198775086344 0.13735351730813633 +0.400952668305635 0.1586932812839699 +-0.08358062628231101 0.47404905325206814 +-0.03348428781697094 0.5367677708398549 +-0.09135496251719422 -0.43963791508688604 +-0.5359213493821497 -0.1271079248118955 +-0.6818638382685751 -0.12545202164279415 +-0.5720286370960457 -0.1808220336561522 +-0.6270960163606745 -0.16738995262578277 +-0.7024916584692246 -0.22014727368119202 +-0.40898050768427985 0.29301258286596654 +-0.3059757788749382 -0.6964149963134354 +-0.26812532077262147 0.5893208829450663 +-0.20514452542676473 0.6024745761893109 +-0.26803945944460805 0.659161258079119 +-0.19139705698558496 0.6809625434963709 +0.10583157089641991 0.6450686465583466 +0.14505418419601535 0.7128377568201193 +0.069634627840289 0.7112532479593939 +-0.08386533828067458 0.8458110670687378 +0.5717650016186707 -0.030221419513768312 +0.6222878737154286 -0.047527358901436896 +0.7095852176771318 -0.0021961418394219195 +0.47815270833356105 -0.004487623772606543 +0.4936656869664949 0.07349249057171289 +0.6322501890952639 -0.14221297138540498 +0.8264831605971383 -0.20340955238719827 +-0.19774785746190185 -0.6671105479034685 +-0.2421874338766007 -0.7174924500128627 +-0.29344082153908885 -0.7655420286266511 +-0.23675727017859102 -0.8810303278698346 +-0.2200393780197913 -0.792477473246501 +-0.006794746406521307 -0.6506286421470748 +0.01316289286738672 -0.5983101021836008 +-0.03984032071370115 -0.5400365270286022 +-0.08744590160374423 -0.5261322121132845 +-0.0835662739854679 -0.5757873238148065 +0.2690411628885069 -0.45901132027920316 +0.2342106430063505 -0.503443456363194 +0.2072379598524474 -0.599612073224773 +0.2629004952451934 -0.5633570408047682 +0.205020479714993 -0.547123269635051 +0.2993393984840398 -0.6801588768425894 +0.37225217239855046 -0.5771076605631202 +0.26464786389577105 -0.6268967876110075 +0.31974933394690175 -0.5529515871763839 +0.3237349422691992 -0.6134240071019508 +0.368870472467184 -0.5153226554263305 +0.41237242128726687 -0.6812734985780295 +0.43104855852756074 -0.5429044893025872 +0.1875746402033787 -0.7150263528228755 +0.3560300552700486 -0.6630562241733018 +0.3550512121632705 -0.7623200297239223 +0.4328204871191772 -0.6135885481667402 +0.21368270161387695 -0.6600922501924995 +0.13436854338531057 -0.6379604699876316 +0.5425831992785102 -0.6836798031579561 +0.5159126054449333 -0.5761413316803625 +0.4778171615296962 -0.6641135599161077 +0.47487613611575497 -0.7862739100885623 +0.46180398434477854 0.5423423846031332 +0.5059923039142511 0.7390805389269646 +0.41071742035885844 0.6389041020615078 +-0.6831667267674242 0.317054352439327 +-0.7535507793896797 0.30559051370157625 +-0.8540772181983775 0.22105241062384073 +-0.815736060083154 0.2774982927399544 +-0.9058460171996608 0.31587830849354825 +-0.7760283911234916 0.20928199641580625 +-0.4894710648759822 0.19213923618065942 +-0.44095041092613096 0.21633409895234862 +-0.8146738948019336 0.4354768867544339 +-0.4022737870816311 0.7319116277857225 +-0.4311082803717258 -0.8172544952940597 +-0.6946588133096212 0.7567368742171557 +-0.7271567867036222 -0.4064800979592365 +-0.6868722383807663 -0.6860443000193605 +-0.9145806531522986 -0.5525280327511597 +-0.6342528748334478 -0.10218015067774046 +-0.6874999999999984 -0.05500000000000308 +-0.6602899454274838 -0.2722389892370342 +-0.24309919540900732 0.7171025754115944 +-0.16310459893746063 0.7764906023158975 +0.16003848993151926 0.8562791133255216 +-0.0742928600670811 0.7664305577411176 +0.7581320334118897 -0.09458303535323212 +0.43891018745196575 0.08237666280000083 +0.5697468347594044 0.06858100050623697 +0.7491512897092261 -0.20517932721309876 +-0.1464185392232744 -0.795546991852366 +-0.10227306852222123 -0.8970355378581432 +0.1561551270313657 -0.5909519843573591 +0.09507086650784415 -0.6042791186182457 +0.08954781763370023 -0.7000288394193188 +0.6330537742976152 -0.5467130328861367 +0.5138435660189522 0.6624690083492026 +-0.826352908288334 0.14023697435752575 +-0.7162075388250695 0.18681583590955608 +-0.7527368231680118 0.12863951385144842 +-0.47278846625477694 0.24947892360421586 +-0.9084627075403329 0.44950539108689697 +-0.5071865495595388 -0.9040830437513866 +-0.38324891046004633 -0.9079804775916822 +-0.6914665619579372 0.8794177602286009 +-0.15480191989724879 0.7220779002806956 +0.1727752821357922 0.7824452600091524 +0.016160299624767324 0.7870706978131862 +0.7051532936270463 -0.11450242268762534 +0.7143784667278941 -0.058625885592423585 +0.7788879795728244 -0.024727879997574836 +0.8812285572693748 -0.09314733324786098 +0.784179154629784 0.10939266761879898 +0.8194578581443505 -0.07479350812450926 +0.7626190974053951 0.04307858648615103 +0.8066416415689797 -0.13999345035553193 +0.879959011416495 0.015703020027050055 +0.6731890298592623 0.10881596852344158 +0.8280710923419804 0.05846065826166997 +0.7044001247601827 0.057576327399271716 +0.6439084655971888 0.05585511547835646 +0.9111869383375542 0.10646196256484697 +0.5546806318201417 0.18671393966680463 +0.7486850349140814 -0.2758267732130356 +0.8626179786955788 -0.3386953044649726 +0.7967854161846789 -0.3233285337219266 +0.8024606520885063 -0.4477148914329375 +0.8436408451949853 -0.2712954157848073 +0.9211435142547318 -0.285845288444886 +0.1201410824189541 -0.8279254503543272 +0.6282753721793697 -0.48269559857813027 +0.5737570749101203 -0.5189520165888725 +0.7194470618712502 -0.5080773954824911 +0.5938230859711608 0.6750741750735426 +-0.9201361214171412 0.1532272053432161 +-0.8124999999999991 0.06500000000000015 +-0.78159482272262 0.8203809917160545 +0.2972939396839127 0.841941005592439 +0.09512662904009207 0.8070659054790313 +0.4910767734107116 0.18270483781118485 +0.5263961705306232 0.12890523626422945 +0.5178657272483681 0.2642395645586511 +0.593920074424832 0.13169117011969272 +0.6630611793987341 0.22250226475662652 +0.6144171945707579 0.18781184719982835 +0.59650314399019 0.26438175199859315 +0.9418177454659238 -0.36756998849363803 +1.0000000000000142 -0.21428571428571436 +0.9152640525225665 -0.17857142857142863 +0.08538708802899096 -0.7686314060377266 +0.014136745840942917 -0.8371465446416269 +0.1512002692386418 -0.7698885471056296 +0.23855409485689483 -0.8539663687750813 +0.22576477065166511 -0.7798363669118462 +0.677980796719611 0.7981909206918156 +0.22664417039294232 0.8297534873969149 +0.24783664432916291 0.9177713544317193 +0.06615245137505138 0.9126983723102355 +0.4666174718579214 0.2664964591618776 +0.506416502082507 0.3217852751944277 +0.7040229394308893 0.361431044031021 +0.8783851288869072 -0.4185029517812937 +0.29514409044495415 -0.8060349010025807 +0.330337319798908 -0.9049576237140171 +0.2794975080078026 -0.7425054932350347 +0.36386706346226405 -0.837307300249437 +0.6532645900628408 0.7247641317606269 +0.04239452994059063 0.8493918251159395 +-0.02250099462557692 0.9098573190974346 +0.6639495045663824 0.2977433230891782 +0.8817869523017118 -0.540617864489254 +0.42216355489008134 -0.9083353627251456 +0.7957881341819463 0.717662510194838 +0.5851352341812096 0.7885704265705006 +0.7968869819259177 0.2585480384597323 +0.6249233387740866 0.36675058913980746 +0.7255278746295012 0.7413128307404355 +0.8025834984041672 0.85403972820892 +0.7359457931743437 0.29689330693357013 +0.8343919703828907 0.3857525887265474 +0.772637422412071 0.35520640766214373 +0.7561496372378229 0.46623640514938236 +0.5860301659178607 0.3224188205762791 +0.6697166004622249 0.4420590810013888 +0.5844513799973408 0.4155331673648745 +0.6175294100650107 0.4822113345111355 +0.24983663601851258 0.48923161704779594 +0.006062644723013787 -0.492843122454221 +-0.8835801084930928 0.6604629012492697 +-0.7754303447467569 -0.1546644238534824 +0.4850684686085798 -0.5299354140977618 +0.42028751937857556 -0.747665403696736 +-1.0000000000000142 0.2771428571428569 +-0.9314374187801593 0.24428571428571405 +-0.920565443078561 -0.47331328193081884 +-0.872086379495676 -0.40532087404690054 +-0.8448605142771523 -0.32310348606099537 +-0.9494122110109775 -0.40146617404548346 +-0.8429047681973082 -0.2253806356628959 +-0.9231116986007613 -0.3276284710467523 +-0.9119529957644252 -0.6519348088131991 +-0.9326898754638463 0.5402329902668325 +-1.0000000000000142 0.40857142857142836 +-0.9396428888489277 0.3757142857142855 +-0.5438088312350641 -0.8477782268131538 +-0.6114769365242914 -0.9141168552587821 +-0.4444711253435029 -0.8822898773010184 +-0.3571428571428572 -1.0000000000000142 +-0.3125416909556617 -0.8807064526293436 +-0.2746531307671434 -0.8278243278206855 +0.02043698290494954 0.7333205125632574 +1.0000000000000142 0.0714285714285714 +0.9188650843078187 0.2142857142857142 +0.7337672682277521 -0.4405077618189847 +-1.0000000000000142 0.14571428571428544 +-0.9374999999999998 0.07500000000000016 +-0.01384850601086065 -0.7848372075684943 +-0.05092204080443377 -0.8537687462304423 +-0.03146005395221531 -0.9289734137501431 +-0.07142857142857145 -1.0000000000000142 +0.07142857142857138 -0.9258812444280263 +0.34118427274050556 0.9246101505403511 +0.2142857142857142 1.0000000000000142 +0.1785714285714285 0.937468810347007 +0.2571506324076431 -0.9285925776396392 +0.16697659572251689 -0.9114333746015606 +0.2142857142857142 -1.0000000000000142 +0.357142857142857 -1.0000000000000142 +-0.07142857142857145 1.0000000000000142 +-0.10714285714285718 0.9252846514961925 +-0.21428571428571436 0.9199633371057347 +0.7993449840073128 -0.530693576851428 +0.7257791166090883 -0.6381465148574247 +0.7444894835563778 -0.5720469635182694 +0.8304790053659274 -0.632085340262859 +0.4999999999999999 -0.9489504492899968 +0.6262110562671012 -0.8478520722453399 +0.49340879777640034 -0.8666900565517075 +0.5773630168099784 -0.9162002874006414 +0.431683457709619 -0.8385716582422915 +0.5531854401648656 -0.8105703770198353 +0.6428571428571428 -1.0000000000000142 +0.6785714285714285 -0.9191080329943913 +0.6353360142724963 -0.7398181333676116 +0.5294689621472927 -0.748663770631271 +0.5666679917004808 0.7300761634175712 +0.6208167400939755 0.8970426831155256 +0.47755224412303215 0.8725877295583178 +-0.8135531749157614 0.6618570431467465 +-0.8501846790752303 0.7424330446850633 +-0.8472131623581611 0.5931754948282447 +-0.7203402160757187 -0.16666491220527457 +-0.7584356701254319 -0.20909789089882516 +-0.8124999999999989 -0.06500000000000308 +-0.8388779714850507 -0.12840035643685832 +-0.9318569027067717 -0.1455387161653508 +-0.8655105954186818 -0.7880188721706304 +-0.9307342050386186 0.609578943918471 +-0.9547504911523774 0.6791256031612039 +-0.9254058644083244 0.748666809886059 +-0.8801384854140408 0.8379423297652969 +-0.8693390106561796 0.38924455428822924 +-0.7053342898130406 -0.8599633099586471 +-0.6428571428571428 -1.0000000000000142 +0.0714285714285714 -1.0000000000000142 +0.019064625404298246 -0.8968275139688476 +0.07115680092695212 -0.8646560576990687 +0.357142857142857 1.0000000000000142 +0.9231855359529253 -0.6239641965083251 +0.7857142857142856 -0.9201338413148691 +0.47510080314716274 -0.7238251570651418 +0.38932720729429676 0.8460647166049005 +0.5160595395639492 0.8110078726832997 +0.5507675366200167 0.8755412539856768 +0.4406221526085777 0.7848981972913867 +0.5112561883508179 0.9460447302967918 +0.3471375359067773 0.7585924491526805 +0.4366274411077605 0.7096566361082723 +-0.9219466203259086 -0.22396952593870945 +-0.8636570747148444 -0.711419407705276 +-0.8161882067741709 0.9115282751144507 +0.8860598994267184 -0.7333623260520022 +0.7330563835448812 -0.8242056175141035 +0.276708061514781 0.7730525038939721 +0.2992517798035762 0.7041067211121788 +0.36731077731322087 0.6925773449043604 +0.3319402779369519 0.6482882986851424 +0.783267968902995 -0.7238847096977719 +0.7072412945338434 -0.7127191277205271 +0.6454751731376027 -0.657774397615588 +-0.4352799790744297 0.8962536188916062 +-0.5 0.9525286965186929 +-0.5843099821575427 0.9031439382439529 +-0.4522782004136347 0.8336330448429183 +-0.3223069395728147 0.8850309675064773 +-0.6428571428571428 1.0000000000000142 +-0.3816834478191929 0.8615501675270327 +-0.33027637654882613 0.8159135493234638 +-0.37479085817850327 0.9309345558524037 +-0.2519392791966177 0.8418992154259254 +-0.3462441781151341 0.7567442527518123 +-0.22461678440281818 0.7859775519009797 +-0.18478590621849458 0.8400738422778101 +-0.16661667300605845 -0.8646782404133279 +-0.1865181893075264 -0.9379192154945828 +-0.5 -1.0000000000000142 +0.9339684608721266 -0.03809963590011162 +0.7283623533788813 0.17102540851254888 +0.8033829939984543 0.182875557485442 +0.725355839870313 0.2343689458261335 +0.8482362836702891 0.13190292083985897 +0.8538503605170107 0.22532292878400445 +0.902106195395957 0.312570718465046 +0.8333979893670537 0.3169143937171889 +1.0000000000000142 0.357142857142857 +0.9246448905673064 0.3928571428571427 +0.920005799017586 0.4999999999999999 +0.0714285714285714 1.0000000000000142 +0.9554952056886568 -0.5 +0.768022199311313 0.5833077231024503 +1.0000000000000142 0.2142857142857142 +-0.21428571428571436 1.0000000000000142 +0.713921064648753 0.8849287941793567 +0.6428571428571428 1.0000000000000142 +0.4187105947433398 0.923088293422993 +-0.9213649913613389 0.9264526303617036 +-0.6710948485556973 -0.7998250141757638 +-0.651500598102797 -0.7391237375951982 +-0.7823164071594338 -0.8170758478604792 +-0.7961445359712117 -0.7435828877312493 +-0.8557817278344599 -0.8937905529412651 +-0.7546616751604704 -0.6898340096329877 +-0.6841290698994967 -0.9316232313723363 +-0.7712159217629291 -0.9184260776454 +0.894613621502924 -0.8946136215029241 +-0.7444647990184848 0.9318385835440237 +0.9373270399673643 -0.6897618859712488 +1.0000000000000142 -0.6428571428571428 +0.953392030859349 -0.7857142857142858 +0.6710484826712001 -0.7972368782811553 +0.5862273471260054 -0.6081755287516784 +-0.6289034666378 0.8507019992272339 +-0.2786247174427699 0.9344355925353719 +-0.6467929266030642 0.9314977069519854 +1.0000000000000142 0.4999999999999999 +0.8407401140711941 0.47019748182891874 +0.852967647623579 0.5579885742602682 +0.7958017831356768 0.521352834673102 +0.8312517580426181 0.6402870859743072 +0.9214236701445212 0.6200661958980384 +0.8957301912405298 0.7166543745145808 +0.9494608091128591 0.7857142857142856 +0.9010088303628091 0.873590173377978 +0.8649358932686844 0.7960451799421152 +1.0000000000000142 0.9285714285714285 +0.9375 1.0000000000000142 +0.8399938086049996 0.9232330753091124 +0.6997484123444537 0.5873897186393168 +0.7472757030302212 0.6576416866150985 +-0.9218319738297421 -0.8465325768445805 +-0.9392815287512679 -0.9342857142857144 +0.9285714285714285 -1.0000000000000142 +1.0000000000000142 -0.9285714285714286 +0.7653448464256106 0.942302017817262 +0.8322881793250515 -0.8170672137215466 diff --git a/src/serac/physics/tests/fit_test.cpp b/src/serac/physics/tests/fit_test.cpp index 8d605e03bf..a35ecd63c0 100644 --- a/src/serac/physics/tests/fit_test.cpp +++ b/src/serac/physics/tests/fit_test.cpp @@ -34,8 +34,60 @@ void stress_extrapolation_test(mfem::ParMesh& mesh) { FiniteElementState u(mesh, input_space{}, "displacement"); - // TODO - // set u := u(x, y) + // Create DataStore + axom::sidre::DataStore datastore; + serac::StateManager::initialize(datastore, "solid_mechanics_J2_test"); + + // Construct the appropriate dimension mesh and give it to the data store + std::string filename = SERAC_REPO_DIR "/data/meshes/beam-hex.mesh"; + + auto mesh = mesh::refineAndDistribute(buildMeshFromFile(filename), serial_refinement, parallel_refinement); + + std::string mesh_tag{"mesh"}; + + serac::StateManager::setMesh(std::move(mesh), mesh_tag); + + serac::LinearSolverOptions linear_options{.linear_solver = LinearSolver::SuperLU}; + + serac::NonlinearSolverOptions nonlinear_options{.nonlin_solver = NonlinearSolver::Newton, + .relative_tol = 1.0e-12, + .absolute_tol = 1.0e-12, + .max_iterations = 5000, + .print_level = 1}; + + SolidMechanics solid_solver(nonlinear_options, linear_options, solid_mechanics::default_quasistatic_options, + GeometricNonlinearities::Off, "solid_mechanics", mesh_tag); + + solid_mechanics::Neohookean mat{ + 1.0, // density + 100.0, // bulk modulus + 50.0 // shear modulus + }; + + solid_solver.setMaterial(mat); + + // prescribe zero displacement at the supported end of the beam, + std::set support = {1}; + auto zero_displacement = [](const mfem::Vector&, mfem::Vector& u) -> void { u = 0.0; }; + solid_solver.setDisplacementBCs(support, zero_displacement); + + // apply a displacement along z to the the tip of the beam + auto translated_in_z = [](const mfem::Vector&, double t, mfem::Vector& u) -> void { + u = 0.0; + u[2] = t * (t - 1); + }; + std::set tip = {2}; + solid_solver.setDisplacementBCs(tip, translated_in_z); + + solid_solver.setDisplacement(zero_displacement); + + // Finalize the data structures + solid_solver.completeSetup(); + + solid_solver.outputStateToDisk("paraview"); + + double dt = 1.0; + solid_solver.advanceTimestep(dt); FiniteElementState sigma_01 = fit< dim, output_space(input_space) >([&](double /*t*/, auto /*x*/, auto displacement){ auto du_dx = get<1>(displacement); From 2e091db351d3df308ac990cf1639c0d7ab12d103 Mon Sep 17 00:00:00 2001 From: Sam Mish Date: Mon, 5 Aug 2024 20:32:42 -0700 Subject: [PATCH 04/10] add an example showing how to output derived quantities (e.g. J2 stress) --- data/meshes/notched_plate.mesh | 3923 +++++++++++----------- src/serac/numerics/functional/tensor.hpp | 16 + src/serac/physics/fit.hpp | 3 + src/serac/physics/tests/fit_test.cpp | 101 +- 4 files changed, 2037 insertions(+), 2006 deletions(-) diff --git a/data/meshes/notched_plate.mesh b/data/meshes/notched_plate.mesh index a24fc9ce2c..885cf3d92f 100644 --- a/data/meshes/notched_plate.mesh +++ b/data/meshes/notched_plate.mesh @@ -1,5 +1,18 @@ MFEM mesh v1.0 +# +# MFEM Geometry Types (see fem/geom.hpp): +# +# POINT = 0 +# SEGMENT = 1 +# TRIANGLE = 2 +# SQUARE = 3 +# TETRAHEDRON = 4 +# CUBE = 5 +# PRISM = 6 +# PYRAMID = 7 +# + dimension 2 @@ -8,478 +21,478 @@ elements 1 2 125 109 716 1 2 78 1058 1088 1 2 990 1061 1060 -1 2 113 717 126 -1 2 40 39 118 -1 2 1054 137 1055 -1 2 243 244 242 -1 2 1061 1056 1058 -1 2 317 420 429 -1 2 717 719 126 +1 2 126 113 717 +1 2 39 118 40 +1 2 137 1055 1054 +1 2 242 243 244 +1 2 1056 1058 1061 +1 2 420 429 317 +1 2 719 126 717 1 2 801 717 113 -1 2 806 4 3 -1 2 923 922 136 -1 2 106 119 158 -1 2 56 983 982 +1 2 4 3 806 +1 2 136 923 922 +1 2 158 106 119 +1 2 983 982 56 1 2 104 40 118 1 2 32 129 134 -1 2 924 154 926 -1 2 39 38 132 -1 2 800 711 142 -1 2 727 806 928 -1 2 740 128 721 +1 2 926 924 154 +1 2 132 39 38 +1 2 142 800 711 +1 2 928 727 806 +1 2 721 740 128 1 2 105 42 120 -1 2 720 127 117 -1 2 104 120 41 -1 2 802 147 721 -1 2 831 934 81 -1 2 701 50 685 -1 2 19 18 127 -1 2 105 119 43 +1 2 127 117 720 +1 2 41 104 120 +1 2 721 802 147 +1 2 934 81 831 +1 2 50 685 701 +1 2 127 19 18 +1 2 43 105 119 1 2 43 119 44 -1 2 26 25 125 -1 2 44 119 106 -1 2 23 133 123 -1 2 38 37 107 -1 2 107 132 38 -1 2 455 499 498 -1 2 737 738 163 +1 2 25 125 26 +1 2 106 44 119 +1 2 123 23 133 +1 2 107 38 37 +1 2 38 107 132 +1 2 499 498 455 +1 2 738 163 737 1 2 47 114 129 -1 2 148 658 604 -1 2 37 121 107 -1 2 36 35 108 +1 2 604 148 658 +1 2 107 37 121 +1 2 35 108 36 1 2 36 108 121 -1 2 37 36 121 -1 2 159 158 119 -1 2 979 980 738 -1 2 121 165 107 -1 2 172 139 164 +1 2 36 121 37 +1 2 158 119 159 +1 2 980 738 979 +1 2 165 107 121 +1 2 139 164 172 1 2 603 152 116 1 2 142 829 800 -1 2 458 500 633 -1 2 943 48 862 -1 2 50 701 702 -1 2 652 498 499 -1 2 24 23 123 +1 2 633 458 500 +1 2 48 862 943 +1 2 701 702 50 +1 2 498 499 652 +1 2 23 123 24 1 2 715 693 143 -1 2 930 10 931 -1 2 713 793 797 -1 2 157 136 727 +1 2 10 931 930 +1 2 793 797 713 +1 2 136 727 157 1 2 466 151 589 1 2 117 17 135 -1 2 24 123 109 -1 2 916 976 977 -1 2 722 132 107 -1 2 1053 15 14 +1 2 109 24 123 +1 2 977 916 976 +1 2 132 107 722 +1 2 15 14 1053 1 2 112 22 21 -1 2 976 978 723 +1 2 978 723 976 1 2 986 985 916 1 2 133 23 22 -1 2 724 133 112 -1 2 123 711 109 +1 2 133 112 724 +1 2 109 123 711 1 2 804 157 118 -1 2 26 125 110 -1 2 454 151 455 -1 2 27 26 110 -1 2 124 27 110 -1 2 25 24 109 -1 2 125 25 109 +1 2 110 26 125 +1 2 455 454 151 +1 2 26 110 27 +1 2 27 110 124 +1 2 24 109 25 +1 2 25 109 125 1 2 27 124 28 1 2 111 28 124 1 2 28 111 150 -1 2 864 803 832 +1 2 803 832 864 1 2 466 537 618 -1 2 110 712 124 -1 2 161 121 108 +1 2 124 110 712 +1 2 121 108 161 1 2 16 131 135 -1 2 20 19 113 -1 2 113 126 20 -1 2 642 635 638 -1 2 152 131 16 -1 2 21 126 112 -1 2 21 20 126 -1 2 1018 1019 145 -1 2 155 724 803 -1 2 161 165 121 +1 2 19 113 20 +1 2 20 113 126 +1 2 638 642 635 +1 2 131 16 152 +1 2 112 21 126 +1 2 20 126 21 +1 2 1019 145 1018 +1 2 803 155 724 +1 2 121 161 165 1 2 22 112 133 1 2 185 175 184 -1 2 712 143 714 +1 2 143 714 712 1 2 122 35 34 1 2 617 585 584 -1 2 159 119 105 -1 2 148 584 616 +1 2 119 105 159 +1 2 616 148 584 1 2 45 128 46 -1 2 128 45 106 -1 2 922 4 806 -1 2 162 166 167 +1 2 45 106 128 +1 2 4 806 922 +1 2 167 162 166 1 2 114 46 128 1 2 366 439 442 1 2 739 150 111 1 2 643 688 705 -1 2 281 327 338 +1 2 338 281 327 1 2 114 47 46 1 2 171 167 170 1 2 620 52 652 -1 2 32 47 129 +1 2 47 129 32 1 2 140 33 156 -1 2 42 41 120 -1 2 122 108 35 -1 2 104 160 120 +1 2 120 42 41 +1 2 108 35 122 +1 2 120 104 160 1 2 139 161 164 1 2 186 175 476 -1 2 43 42 105 -1 2 33 32 134 -1 2 45 44 106 -1 2 134 581 156 +1 2 42 105 43 +1 2 32 134 33 +1 2 44 106 45 +1 2 156 134 581 1 2 122 34 140 1 2 286 269 331 1 2 29 149 30 -1 2 149 116 152 -1 2 342 353 349 +1 2 152 149 116 +1 2 353 349 342 1 2 686 703 858 -1 2 356 372 373 +1 2 373 356 372 1 2 128 106 721 -1 2 1010 1015 1016 -1 2 178 141 167 +1 2 1016 1010 1015 +1 2 141 167 178 1 2 424 423 389 1 2 64 1062 1090 1 2 1029 1030 1027 -1 2 545 731 732 -1 2 1064 1009 1066 -1 2 350 354 392 -1 2 1025 1028 146 +1 2 731 732 545 +1 2 1066 1064 1009 +1 2 392 350 354 +1 2 146 1025 1028 1 2 216 200 214 1 2 796 920 921 -1 2 144 795 793 -1 2 199 205 291 -1 2 1071 832 1069 +1 2 793 144 795 +1 2 205 291 199 +1 2 1069 1071 832 1 2 874 852 889 1 2 147 936 937 -1 2 114 616 584 +1 2 584 114 616 1 2 28 150 29 -1 2 232 236 228 +1 2 236 228 232 1 2 978 711 723 1 2 149 29 150 -1 2 55 244 243 -1 2 532 534 536 +1 2 243 55 244 +1 2 536 532 534 1 2 272 297 252 1 2 802 831 147 -1 2 41 40 104 -1 2 149 130 537 -1 2 150 130 149 -1 2 149 152 30 +1 2 40 104 41 +1 2 537 149 130 +1 2 149 150 130 +1 2 152 30 149 1 2 717 718 1021 -1 2 117 127 18 +1 2 18 117 127 1 2 118 39 132 -1 2 18 17 117 +1 2 17 117 18 1 2 503 504 516 -1 2 127 113 19 -1 2 725 804 722 -1 2 16 31 152 -1 2 1024 1026 1018 +1 2 113 19 127 +1 2 722 725 804 +1 2 152 16 31 +1 2 1026 1018 1024 1 2 104 118 157 1 2 16 135 17 -1 2 153 602 536 +1 2 536 153 602 1 2 521 505 529 -1 2 1055 105 805 +1 2 105 805 1055 1 2 238 240 242 -1 2 716 144 793 -1 2 829 929 11 -1 2 273 337 276 -1 2 404 474 511 +1 2 793 716 144 +1 2 11 829 929 +1 2 276 273 337 +1 2 474 511 404 1 2 192 478 176 -1 2 581 187 115 +1 2 187 115 581 1 2 901 1001 1000 -1 2 133 724 723 +1 2 723 133 724 1 2 285 289 319 -1 2 830 933 80 -1 2 527 505 508 -1 2 503 456 501 -1 2 138 727 928 -1 2 882 1050 974 -1 2 1013 1005 1004 -1 2 579 734 174 -1 2 1082 1083 1080 +1 2 80 830 933 +1 2 505 508 527 +1 2 456 501 503 +1 2 727 928 138 +1 2 974 882 1050 +1 2 1005 1004 1013 +1 2 734 174 579 +1 2 1083 1080 1082 1 2 33 140 34 -1 2 166 164 161 +1 2 161 166 164 1 2 904 905 882 -1 2 1007 1057 138 +1 2 1057 138 1007 1 2 171 140 115 -1 2 245 247 249 -1 2 301 321 299 -1 2 138 1059 160 -1 2 685 621 143 +1 2 249 245 247 +1 2 321 299 301 +1 2 160 138 1059 +1 2 621 143 685 1 2 643 658 688 -1 2 152 31 30 -1 2 187 591 179 -1 2 809 722 107 +1 2 30 152 31 +1 2 591 179 187 +1 2 722 107 809 1 2 927 5 925 1 2 126 719 112 -1 2 13 986 987 +1 2 987 13 986 1 2 140 156 115 1 2 33 134 156 -1 2 132 804 118 -1 2 727 160 104 -1 2 830 932 933 -1 2 802 721 106 -1 2 120 805 105 -1 2 158 159 137 +1 2 118 132 804 +1 2 104 727 160 +1 2 933 830 932 +1 2 106 802 721 +1 2 105 120 805 +1 2 137 158 159 1 2 727 104 157 -1 2 726 1059 1057 -1 2 166 162 164 -1 2 165 161 736 -1 2 169 162 167 +1 2 1057 726 1059 +1 2 162 164 166 +1 2 161 736 165 +1 2 162 167 169 1 2 173 172 168 -1 2 139 172 734 -1 2 58 807 579 +1 2 172 734 139 +1 2 579 58 807 1 2 166 161 108 -1 2 172 164 580 +1 2 164 580 172 1 2 736 161 139 -1 2 165 163 809 -1 2 122 170 108 +1 2 809 165 163 +1 2 108 122 170 1 2 167 141 169 -1 2 166 170 167 +1 2 167 166 170 1 2 122 171 170 1 2 176 162 169 -1 2 59 173 513 -1 2 190 141 182 -1 2 580 176 168 +1 2 173 513 59 +1 2 182 190 141 +1 2 176 168 580 1 2 108 170 166 -1 2 122 140 171 +1 2 140 171 122 1 2 180 141 178 1 2 167 171 178 1 2 580 164 162 -1 2 168 513 173 -1 2 174 58 579 -1 2 172 173 734 -1 2 180 182 141 -1 2 173 59 174 +1 2 513 173 168 +1 2 58 579 174 +1 2 734 172 173 +1 2 141 180 182 +1 2 174 173 59 1 2 175 185 195 -1 2 141 190 169 +1 2 169 141 190 1 2 480 176 478 1 2 183 177 193 -1 2 184 182 181 +1 2 181 184 182 1 2 179 178 171 1 2 178 179 180 -1 2 171 115 179 +1 2 115 179 171 1 2 187 179 115 -1 2 179 177 180 -1 2 182 180 183 +1 2 177 180 179 +1 2 180 183 182 1 2 483 182 183 1 2 203 201 202 -1 2 183 180 177 -1 2 181 185 184 -1 2 177 591 193 -1 2 411 482 188 -1 2 184 175 186 -1 2 182 184 190 -1 2 194 409 410 -1 2 195 198 201 -1 2 479 478 476 +1 2 180 177 183 +1 2 185 184 181 +1 2 591 193 177 +1 2 482 188 411 +1 2 175 186 184 +1 2 190 182 184 +1 2 410 194 409 +1 2 198 201 195 +1 2 478 476 479 1 2 176 169 192 -1 2 582 583 585 -1 2 193 477 188 -1 2 385 348 344 -1 2 409 376 377 -1 2 206 208 374 -1 2 201 481 197 +1 2 585 582 583 +1 2 477 188 193 +1 2 348 344 385 +1 2 376 377 409 +1 2 208 374 206 +1 2 197 201 481 1 2 184 186 190 1 2 169 190 186 -1 2 60 592 191 -1 2 478 192 476 +1 2 191 60 592 +1 2 192 476 478 1 2 169 186 192 -1 2 192 186 476 +1 2 476 192 186 1 2 193 591 477 -1 2 410 411 219 +1 2 411 219 410 1 2 212 214 211 -1 2 204 231 291 -1 2 375 198 195 -1 2 195 201 197 +1 2 291 204 231 +1 2 195 375 198 +1 2 197 195 201 1 2 231 211 200 1 2 189 201 203 1 2 476 197 479 -1 2 175 195 197 +1 2 197 175 195 1 2 375 195 185 -1 2 198 196 205 -1 2 205 204 291 -1 2 202 201 198 -1 2 212 213 210 +1 2 205 198 196 +1 2 291 205 204 +1 2 201 198 202 +1 2 213 210 212 1 2 216 214 217 -1 2 205 202 198 -1 2 481 201 189 -1 2 202 199 203 -1 2 359 203 199 +1 2 198 205 202 +1 2 201 189 481 +1 2 199 203 202 +1 2 203 199 359 1 2 62 189 203 1 2 211 208 206 -1 2 224 229 200 -1 2 205 199 202 -1 2 208 205 196 -1 2 374 375 209 -1 2 213 212 194 -1 2 205 208 204 +1 2 200 224 229 +1 2 202 205 199 +1 2 205 196 208 +1 2 375 209 374 +1 2 212 194 213 +1 2 204 205 208 1 2 226 229 230 1 2 374 208 196 -1 2 209 375 376 -1 2 206 374 194 +1 2 375 376 209 +1 2 374 194 206 1 2 217 218 343 -1 2 368 325 333 +1 2 325 333 368 1 2 208 211 204 -1 2 212 211 206 -1 2 194 212 206 +1 2 211 206 212 +1 2 206 194 212 1 2 214 212 210 -1 2 209 409 194 +1 2 194 209 409 1 2 194 219 213 1 2 214 210 217 1 2 200 211 214 1 2 213 222 210 -1 2 347 346 286 -1 2 223 216 215 -1 2 221 233 230 -1 2 217 210 222 -1 2 216 217 215 +1 2 286 347 346 +1 2 216 215 223 +1 2 230 221 233 +1 2 222 217 210 +1 2 215 216 217 1 2 378 218 222 1 2 333 324 331 -1 2 412 411 484 -1 2 222 218 217 -1 2 325 332 306 -1 2 278 287 239 +1 2 484 412 411 +1 2 218 217 222 +1 2 306 325 332 +1 2 239 278 287 1 2 200 216 224 -1 2 225 224 216 -1 2 219 378 213 +1 2 216 225 224 +1 2 213 219 378 1 2 218 378 305 -1 2 332 325 223 +1 2 223 332 325 1 2 224 225 221 1 2 225 216 223 -1 2 230 229 224 -1 2 223 227 225 +1 2 224 230 229 +1 2 225 223 227 1 2 236 225 267 1 2 295 235 292 -1 2 229 231 200 +1 2 231 200 229 1 2 223 220 227 -1 2 220 268 267 +1 2 267 220 268 1 2 240 270 239 -1 2 236 232 234 +1 2 234 236 232 1 2 230 224 221 1 2 231 229 226 1 2 234 221 236 -1 2 233 235 230 -1 2 295 293 294 -1 2 231 204 211 -1 2 235 233 251 -1 2 235 226 230 +1 2 235 230 233 +1 2 293 294 295 +1 2 211 231 204 +1 2 233 251 235 +1 2 230 235 226 1 2 234 233 221 -1 2 247 245 55 +1 2 245 55 247 1 2 238 234 232 -1 2 238 244 245 +1 2 244 245 238 1 2 251 233 248 1 2 207 266 293 1 2 221 225 236 1 2 267 225 227 -1 2 228 267 268 -1 2 228 270 240 -1 2 240 238 232 -1 2 317 310 312 +1 2 267 268 228 +1 2 270 240 228 +1 2 238 232 240 +1 2 312 317 310 1 2 457 443 445 1 2 228 240 232 -1 2 290 242 240 +1 2 240 290 242 1 2 239 270 278 1 2 55 243 254 1 2 290 240 239 -1 2 242 241 243 +1 2 243 242 241 1 2 243 241 253 1 2 260 258 254 1 2 245 244 55 -1 2 242 244 238 -1 2 246 248 247 +1 2 238 242 244 +1 2 248 247 246 1 2 234 238 245 -1 2 246 237 248 +1 2 248 246 237 1 2 55 246 247 1 2 247 248 249 1 2 248 237 251 -1 2 249 233 234 +1 2 233 234 249 1 2 233 249 248 1 2 234 245 249 -1 2 263 296 253 -1 2 321 285 274 +1 2 253 263 296 +1 2 274 321 285 1 2 237 207 251 -1 2 292 251 207 +1 2 251 207 292 1 2 254 253 260 1 2 257 55 256 1 2 263 253 241 -1 2 259 271 255 +1 2 271 255 259 1 2 253 254 243 -1 2 258 262 271 +1 2 262 271 258 1 2 254 258 256 -1 2 254 256 55 -1 2 257 256 259 +1 2 55 254 256 +1 2 256 259 257 1 2 259 256 258 1 2 260 262 258 -1 2 257 259 255 -1 2 271 264 255 +1 2 259 255 257 +1 2 255 271 264 1 2 253 250 260 -1 2 262 261 271 -1 2 261 262 265 -1 2 276 264 261 -1 2 260 250 262 +1 2 271 262 261 +1 2 262 265 261 +1 2 264 261 276 +1 2 250 262 260 1 2 307 319 280 -1 2 287 288 290 +1 2 290 287 288 1 2 316 318 314 -1 2 279 276 261 -1 2 272 255 264 +1 2 276 261 279 +1 2 255 264 272 1 2 250 274 262 1 2 265 262 274 1 2 294 62 359 1 2 359 291 294 1 2 220 267 227 1 2 228 236 267 -1 2 268 220 368 -1 2 228 268 270 +1 2 368 268 220 +1 2 268 270 228 1 2 220 223 325 -1 2 298 300 304 -1 2 269 283 268 +1 2 300 304 298 +1 2 268 269 283 1 2 283 275 278 1 2 258 271 259 1 2 261 264 271 1 2 276 307 273 1 2 297 272 264 1 2 308 273 307 -1 2 296 277 250 +1 2 277 250 296 1 2 250 277 274 -1 2 283 286 275 -1 2 300 303 304 -1 2 279 261 265 -1 2 327 273 309 +1 2 286 275 283 +1 2 304 300 303 +1 2 261 265 279 +1 2 273 309 327 1 2 263 241 288 -1 2 319 289 280 -1 2 283 278 270 +1 2 289 280 319 +1 2 270 283 278 1 2 275 284 287 -1 2 319 307 279 -1 2 276 279 307 +1 2 279 319 307 +1 2 307 276 279 1 2 265 274 285 1 2 309 308 360 1 2 309 273 308 -1 2 281 252 297 +1 2 297 281 252 1 2 300 299 263 -1 2 321 301 282 +1 2 301 282 321 1 2 268 283 270 -1 2 283 269 286 -1 2 322 275 286 -1 2 299 277 263 +1 2 269 286 283 +1 2 275 286 322 +1 2 277 263 299 1 2 321 274 277 -1 2 285 282 289 -1 2 381 218 305 +1 2 282 289 285 +1 2 218 305 381 1 2 322 349 328 1 2 275 287 278 1 2 288 287 284 -1 2 288 284 300 -1 2 241 242 290 +1 2 300 288 284 +1 2 290 241 242 1 2 317 312 315 1 2 312 310 311 1 2 287 290 239 -1 2 241 290 288 -1 2 320 226 295 -1 2 207 293 292 +1 2 288 241 290 +1 2 226 295 320 +1 2 293 292 207 1 2 251 292 235 -1 2 266 294 293 +1 2 294 293 266 1 2 295 292 293 1 2 62 294 266 1 2 291 231 320 @@ -488,861 +501,861 @@ elements 1 2 253 296 250 1 2 263 277 296 1 2 276 297 264 -1 2 327 281 297 -1 2 303 300 284 +1 2 281 297 327 +1 2 300 284 303 1 2 330 398 400 -1 2 263 288 300 -1 2 299 298 301 -1 2 303 275 302 -1 2 298 299 300 +1 2 288 300 263 +1 2 298 301 299 +1 2 275 302 303 +1 2 300 298 299 1 2 335 329 330 -1 2 316 314 315 +1 2 315 316 314 1 2 302 275 322 -1 2 398 323 371 +1 2 323 371 398 1 2 275 303 284 -1 2 303 302 304 -1 2 302 322 328 +1 2 302 304 303 +1 2 328 302 322 1 2 326 336 334 -1 2 383 381 413 -1 2 393 358 392 -1 2 373 345 348 -1 2 347 352 342 +1 2 413 383 381 +1 2 392 393 358 +1 2 345 348 373 +1 2 342 347 352 1 2 319 279 265 1 2 308 307 280 1 2 312 311 280 1 2 339 338 309 -1 2 313 360 311 +1 2 311 313 360 1 2 281 338 54 -1 2 366 397 367 +1 2 397 367 366 1 2 308 280 311 -1 2 312 280 289 +1 2 280 289 312 1 2 313 311 310 1 2 289 316 315 -1 2 289 315 312 +1 2 312 289 315 1 2 429 420 421 1 2 362 365 363 -1 2 298 334 301 -1 2 417 317 314 +1 2 301 298 334 +1 2 317 314 417 1 2 316 289 282 -1 2 315 314 317 -1 2 301 369 282 -1 2 334 336 369 -1 2 418 417 314 -1 2 428 430 438 -1 2 335 304 329 -1 2 403 399 401 +1 2 314 317 315 +1 2 282 301 369 +1 2 369 334 336 +1 2 417 314 418 +1 2 438 428 430 +1 2 329 335 304 +1 2 399 401 403 1 2 285 319 265 -1 2 226 320 231 +1 2 231 226 320 1 2 294 320 295 1 2 285 321 282 1 2 299 321 277 -1 2 329 328 323 +1 2 328 323 329 1 2 323 328 370 -1 2 692 610 691 +1 2 691 692 610 1 2 304 302 329 1 2 343 345 332 1 2 470 426 469 1 2 332 223 215 -1 2 325 306 333 -1 2 326 334 335 -1 2 398 330 323 -1 2 337 327 297 +1 2 306 333 325 +1 2 335 326 334 +1 2 330 323 398 +1 2 327 297 337 1 2 327 309 338 -1 2 346 322 286 +1 2 322 286 346 1 2 349 322 346 -1 2 328 329 302 -1 2 329 323 330 -1 2 323 370 371 +1 2 302 328 329 +1 2 330 329 323 +1 2 371 323 370 1 2 399 403 406 -1 2 269 368 333 -1 2 347 331 324 -1 2 215 343 332 +1 2 333 269 368 +1 2 331 324 347 +1 2 332 215 343 1 2 218 345 343 1 2 333 306 372 -1 2 331 269 333 -1 2 335 334 298 -1 2 326 407 336 +1 2 333 331 269 +1 2 334 298 335 +1 2 407 336 326 1 2 304 335 298 -1 2 326 335 330 +1 2 330 326 335 1 2 318 316 336 -1 2 369 336 316 -1 2 276 337 297 +1 2 336 316 369 +1 2 297 276 337 1 2 273 327 337 -1 2 360 361 309 -1 2 341 340 54 +1 2 361 309 360 +1 2 340 54 341 1 2 361 363 339 -1 2 341 54 338 +1 2 338 341 54 1 2 338 339 341 -1 2 365 339 363 -1 2 367 341 339 -1 2 354 350 352 -1 2 469 426 461 +1 2 363 365 339 +1 2 341 339 367 +1 2 352 354 350 +1 2 426 461 469 1 2 217 343 215 1 2 218 344 345 -1 2 305 378 412 +1 2 378 412 305 1 2 422 423 390 1 2 348 345 344 -1 2 306 332 345 +1 2 345 306 332 1 2 347 286 331 1 2 346 342 349 -1 2 354 352 347 +1 2 347 354 352 1 2 346 347 342 1 2 413 381 305 1 2 388 389 422 1 2 355 342 352 1 2 349 351 370 -1 2 1034 844 839 -1 2 357 388 422 -1 2 349 353 351 -1 2 351 391 426 +1 2 844 839 1034 +1 2 422 357 388 +1 2 351 349 353 +1 2 426 351 391 1 2 354 347 324 -1 2 342 355 353 -1 2 350 388 355 +1 2 353 342 355 +1 2 355 350 388 1 2 353 357 391 -1 2 333 372 324 +1 2 324 333 372 1 2 356 354 324 -1 2 352 350 355 -1 2 355 388 357 -1 2 344 381 383 +1 2 350 355 352 +1 2 357 355 388 +1 2 381 383 344 1 2 354 356 392 -1 2 461 426 391 -1 2 353 355 357 +1 2 391 461 426 +1 2 355 357 353 1 2 356 348 487 -1 2 458 654 662 -1 2 203 359 62 -1 2 291 359 199 +1 2 662 458 654 +1 2 62 203 359 +1 2 199 291 359 1 2 311 360 308 -1 2 361 360 313 -1 2 438 363 361 -1 2 309 361 339 -1 2 428 313 310 -1 2 430 431 362 +1 2 313 361 360 +1 2 361 438 363 +1 2 339 309 361 +1 2 313 310 428 +1 2 431 362 430 1 2 438 361 313 1 2 362 364 365 -1 2 431 587 496 +1 2 496 431 587 1 2 366 442 53 1 2 366 365 364 1 2 341 367 340 1 2 396 442 439 1 2 367 397 340 1 2 339 365 367 -1 2 366 367 365 -1 2 268 368 269 -1 2 325 368 220 -1 2 282 369 316 +1 2 365 366 367 +1 2 269 268 368 +1 2 220 325 368 +1 2 316 282 369 1 2 334 369 301 1 2 349 370 328 -1 2 370 351 486 +1 2 486 370 351 1 2 353 391 351 -1 2 511 474 540 -1 2 373 372 306 -1 2 324 372 356 +1 2 474 540 511 +1 2 372 306 373 +1 2 356 324 372 1 2 345 373 306 -1 2 356 373 348 -1 2 375 374 196 +1 2 348 356 373 +1 2 196 375 374 1 2 194 374 209 1 2 198 375 196 1 2 376 375 185 1 2 185 181 376 -1 2 376 181 377 +1 2 377 376 181 1 2 482 377 483 -1 2 193 482 183 +1 2 183 193 482 1 2 213 378 222 1 2 412 378 219 1 2 415 387 416 1 2 416 593 386 -1 2 407 433 406 -1 2 380 445 463 -1 2 413 382 383 +1 2 433 406 407 +1 2 463 380 445 +1 2 383 413 382 1 2 344 218 381 1 2 485 379 484 -1 2 656 630 492 +1 2 630 492 656 1 2 383 382 386 -1 2 344 383 385 -1 2 382 413 414 +1 2 385 344 383 +1 2 413 414 382 1 2 663 654 667 1 2 386 385 383 -1 2 393 487 427 -1 2 386 382 416 -1 2 386 384 488 -1 2 558 387 415 +1 2 427 393 487 +1 2 416 386 382 +1 2 488 386 384 +1 2 415 558 387 1 2 630 632 601 -1 2 358 389 350 -1 2 388 350 389 -1 2 393 394 358 +1 2 350 358 389 +1 2 350 389 388 +1 2 394 358 393 1 2 655 598 596 1 2 358 394 424 -1 2 468 471 465 -1 2 460 390 464 -1 2 453 357 460 -1 2 393 392 356 -1 2 350 392 358 +1 2 471 465 468 +1 2 390 464 460 +1 2 460 453 357 +1 2 356 393 392 +1 2 358 350 392 1 2 385 427 348 -1 2 488 491 490 -1 2 436 449 450 +1 2 490 488 491 +1 2 450 436 449 1 2 452 425 451 1 2 317 417 420 -1 2 364 496 439 +1 2 496 439 364 1 2 498 432 396 1 2 455 396 441 1 2 475 398 371 1 2 366 53 397 1 2 433 330 400 -1 2 399 400 401 +1 2 400 401 399 1 2 405 407 406 -1 2 401 400 398 -1 2 400 399 433 -1 2 562 403 404 +1 2 398 401 400 +1 2 433 400 399 +1 2 403 404 562 1 2 561 552 554 -1 2 401 398 475 +1 2 398 475 401 1 2 608 520 518 -1 2 404 403 401 -1 2 402 586 406 -1 2 486 426 371 -1 2 473 472 467 -1 2 443 444 564 -1 2 318 407 408 +1 2 401 404 403 +1 2 406 402 586 +1 2 426 371 486 +1 2 467 473 472 +1 2 564 443 444 +1 2 408 318 407 1 2 402 406 403 1 2 408 407 405 1 2 336 407 318 -1 2 433 407 326 -1 2 443 408 405 +1 2 407 326 433 +1 2 408 405 443 1 2 457 417 418 1 2 376 409 209 1 2 410 409 377 -1 2 411 410 377 -1 2 194 410 219 +1 2 377 411 410 +1 2 219 194 410 1 2 411 377 482 -1 2 484 411 188 +1 2 411 188 484 1 2 411 412 219 -1 2 414 413 412 +1 2 412 414 413 1 2 305 412 413 1 2 414 412 379 1 2 415 414 379 -1 2 416 387 593 -1 2 379 485 415 -1 2 544 415 485 -1 2 382 414 416 -1 2 415 416 414 -1 2 418 314 318 -1 2 380 506 420 -1 2 318 408 418 +1 2 593 416 387 +1 2 415 379 485 +1 2 415 485 544 +1 2 414 416 382 +1 2 414 415 416 +1 2 314 318 418 +1 2 420 380 506 +1 2 408 418 318 1 2 418 408 457 -1 2 501 445 434 +1 2 445 434 501 1 2 447 395 446 1 2 380 420 417 -1 2 421 420 419 -1 2 419 522 446 -1 2 395 428 429 +1 2 419 421 420 +1 2 446 419 522 +1 2 429 395 428 1 2 423 422 389 -1 2 357 422 390 -1 2 424 450 449 +1 2 390 357 422 +1 2 450 449 424 1 2 837 626 836 1 2 358 424 389 1 2 451 423 449 -1 2 423 451 390 +1 2 451 390 423 1 2 423 424 449 -1 2 453 391 357 -1 2 391 453 461 -1 2 488 427 385 -1 2 393 427 494 -1 2 429 428 310 -1 2 430 428 395 +1 2 391 357 453 +1 2 461 391 453 +1 2 427 385 488 +1 2 494 393 427 +1 2 428 310 429 +1 2 428 395 430 1 2 317 429 310 1 2 395 429 421 1 2 431 430 395 1 2 362 363 438 1 2 395 421 446 -1 2 448 588 447 +1 2 447 448 588 1 2 439 366 364 1 2 396 432 442 -1 2 433 326 330 +1 2 330 433 326 1 2 406 433 399 1 2 586 443 405 1 2 509 506 507 -1 2 419 506 509 -1 2 435 522 523 -1 2 427 488 490 -1 2 625 664 623 -1 2 599 600 597 -1 2 1047 1075 1074 +1 2 506 509 419 +1 2 522 523 435 +1 2 488 490 427 +1 2 623 625 664 +1 2 600 597 599 +1 2 1074 1047 1075 1 2 428 438 313 -1 2 362 438 430 +1 2 430 362 438 1 2 364 362 496 1 2 439 440 441 -1 2 462 587 588 -1 2 439 441 396 -1 2 454 441 440 -1 2 441 454 455 -1 2 443 586 444 +1 2 588 462 587 +1 2 441 396 439 +1 2 441 440 454 +1 2 454 455 441 +1 2 444 443 586 1 2 432 53 442 1 2 445 443 434 -1 2 404 472 474 +1 2 472 474 404 1 2 570 574 608 1 2 463 445 501 -1 2 457 445 380 +1 2 445 380 457 1 2 419 446 421 1 2 447 446 435 1 2 448 447 435 -1 2 395 447 431 +1 2 431 395 447 1 2 531 534 533 -1 2 466 535 537 +1 2 537 466 535 1 2 450 424 394 1 2 451 449 436 -1 2 450 394 495 +1 2 495 450 394 1 2 500 452 436 -1 2 452 451 436 -1 2 451 425 390 +1 2 436 452 451 +1 2 425 390 451 1 2 436 450 500 -1 2 661 663 625 -1 2 460 357 390 -1 2 453 437 461 -1 2 587 462 589 -1 2 587 589 440 -1 2 594 499 455 +1 2 663 625 661 +1 2 357 390 460 +1 2 437 461 453 +1 2 589 587 462 +1 2 589 440 587 +1 2 499 455 594 1 2 432 498 52 -1 2 564 434 443 -1 2 518 520 517 -1 2 457 380 417 +1 2 443 564 434 +1 2 520 517 518 +1 2 417 457 380 1 2 443 457 408 -1 2 490 495 494 -1 2 668 673 666 -1 2 627 596 624 -1 2 452 662 425 -1 2 464 390 425 -1 2 437 453 460 -1 2 468 461 437 -1 2 467 469 468 +1 2 495 494 490 +1 2 673 666 668 +1 2 596 624 627 +1 2 662 425 452 +1 2 390 425 464 +1 2 460 437 453 +1 2 461 437 468 +1 2 468 467 469 1 2 462 448 535 1 2 589 151 454 -1 2 456 508 507 +1 2 507 456 508 1 2 420 506 419 -1 2 459 510 425 -1 2 425 510 464 -1 2 464 600 460 -1 2 905 1081 1080 -1 2 533 535 448 -1 2 130 150 739 +1 2 425 459 510 +1 2 510 464 425 +1 2 460 464 600 +1 2 1080 905 1081 +1 2 535 448 533 +1 2 150 739 130 1 2 404 470 472 -1 2 470 371 426 -1 2 468 437 599 -1 2 467 468 465 +1 2 426 470 371 +1 2 599 468 437 +1 2 465 467 468 1 2 468 469 461 -1 2 469 467 470 -1 2 472 470 467 -1 2 475 404 401 -1 2 597 510 598 +1 2 467 470 469 +1 2 470 467 472 +1 2 404 401 475 +1 2 510 598 597 1 2 473 728 730 -1 2 728 473 467 -1 2 541 524 538 +1 2 473 467 728 +1 2 524 538 541 1 2 542 524 541 1 2 472 473 474 -1 2 474 538 540 -1 2 511 561 562 +1 2 540 474 538 +1 2 562 511 561 1 2 371 470 475 -1 2 404 475 470 +1 2 470 404 475 1 2 197 476 175 -1 2 592 479 191 +1 2 479 191 592 1 2 187 582 548 -1 2 733 544 485 +1 2 485 733 544 1 2 480 478 592 1 2 512 191 479 -1 2 512 197 481 +1 2 481 512 197 1 2 513 480 60 1 2 168 176 480 1 2 189 61 481 -1 2 481 61 512 -1 2 482 193 188 -1 2 483 377 181 +1 2 512 481 61 +1 2 188 482 193 +1 2 377 181 483 1 2 182 483 181 1 2 183 482 483 -1 2 484 188 485 +1 2 188 485 484 1 2 412 484 379 -1 2 477 514 188 -1 2 485 188 514 -1 2 370 486 371 +1 2 188 477 514 +1 2 514 485 188 +1 2 371 370 486 1 2 351 426 486 1 2 356 487 393 1 2 348 427 487 1 2 386 488 385 1 2 488 384 491 -1 2 384 593 491 -1 2 491 492 489 -1 2 629 495 489 +1 2 593 491 384 +1 2 492 489 491 +1 2 495 489 629 1 2 489 495 490 -1 2 384 386 593 -1 2 490 491 489 -1 2 544 557 415 +1 2 386 593 384 +1 2 489 490 491 +1 2 415 544 557 1 2 629 631 493 1 2 495 629 493 -1 2 500 458 452 -1 2 393 494 394 +1 2 458 452 500 +1 2 394 393 494 1 2 427 490 494 -1 2 450 495 493 -1 2 394 494 495 -1 2 431 496 362 -1 2 439 496 440 +1 2 493 450 495 +1 2 495 394 494 +1 2 362 431 496 +1 2 440 439 496 1 2 594 590 799 -1 2 124 712 714 +1 2 714 124 712 1 2 396 455 498 -1 2 151 594 455 +1 2 594 455 151 1 2 595 499 497 -1 2 620 652 595 -1 2 493 633 450 -1 2 493 631 633 -1 2 434 564 503 +1 2 652 595 620 +1 2 633 450 493 +1 2 633 493 631 +1 2 564 503 434 1 2 456 463 501 1 2 562 561 402 -1 2 612 611 609 +1 2 611 609 612 1 2 434 503 501 -1 2 504 503 502 -1 2 551 524 560 -1 2 527 731 528 -1 2 505 507 508 +1 2 502 504 503 +1 2 524 560 551 +1 2 528 527 731 +1 2 508 505 507 1 2 448 435 523 1 2 380 463 506 -1 2 507 506 463 +1 2 463 507 506 1 2 456 507 463 -1 2 507 505 509 -1 2 456 516 508 +1 2 509 507 505 +1 2 508 456 516 1 2 518 508 516 -1 2 509 505 521 +1 2 521 509 505 1 2 446 522 435 1 2 510 622 598 1 2 622 510 459 1 2 474 473 538 1 2 511 540 552 -1 2 191 512 61 +1 2 61 191 512 1 2 479 197 512 -1 2 477 543 514 -1 2 480 513 168 -1 2 543 549 733 -1 2 558 559 492 -1 2 676 675 672 +1 2 514 477 543 +1 2 513 168 480 +1 2 733 543 549 +1 2 492 558 559 +1 2 675 672 676 1 2 503 516 456 1 2 518 516 504 -1 2 636 741 135 +1 2 135 636 741 1 2 529 153 521 -1 2 570 502 567 -1 2 518 517 527 +1 2 567 570 502 +1 2 527 518 517 1 2 745 746 747 -1 2 504 608 518 -1 2 519 650 732 +1 2 608 518 504 +1 2 650 732 519 1 2 657 135 131 1 2 529 505 527 -1 2 523 531 448 +1 2 448 523 531 1 2 419 509 522 1 2 523 522 509 1 2 509 521 523 1 2 523 521 531 -1 2 730 728 465 +1 2 465 730 728 1 2 556 547 563 1 2 548 543 477 -1 2 604 549 525 -1 2 647 762 821 -1 2 557 558 415 -1 2 518 527 508 -1 2 517 731 527 -1 2 520 732 731 -1 2 657 602 636 +1 2 525 604 549 +1 2 762 821 647 +1 2 558 415 557 +1 2 508 518 527 +1 2 731 527 517 +1 2 732 731 520 +1 2 602 636 657 1 2 527 528 529 -1 2 153 529 528 -1 2 519 608 574 -1 2 1029 810 833 -1 2 521 153 531 -1 2 603 532 536 +1 2 528 153 529 +1 2 574 519 608 +1 2 833 1029 810 +1 2 153 531 521 +1 2 532 536 603 1 2 149 537 116 1 2 448 531 533 -1 2 534 531 153 -1 2 533 532 535 +1 2 531 153 534 +1 2 535 533 532 1 2 536 534 153 -1 2 532 533 534 +1 2 533 534 532 1 2 537 535 532 1 2 589 535 466 -1 2 602 153 528 -1 2 603 536 131 -1 2 116 537 532 -1 2 590 619 618 -1 2 473 730 541 -1 2 538 524 540 -1 2 752 753 471 -1 2 842 847 751 -1 2 551 540 524 -1 2 553 552 540 +1 2 153 528 602 +1 2 536 131 603 +1 2 532 116 537 +1 2 619 618 590 +1 2 730 541 473 +1 2 540 538 524 +1 2 753 471 752 +1 2 751 842 847 +1 2 540 524 551 +1 2 540 553 552 1 2 473 541 538 -1 2 541 539 886 -1 2 627 626 750 +1 2 886 541 539 +1 2 750 627 626 1 2 577 578 565 -1 2 477 591 548 +1 2 591 548 477 1 2 549 543 525 1 2 733 485 514 -1 2 915 557 526 -1 2 637 634 545 -1 2 528 634 602 -1 2 576 614 573 -1 2 914 569 606 -1 2 553 605 547 -1 2 444 554 556 -1 2 187 581 582 -1 2 525 543 548 -1 2 525 617 604 -1 2 526 544 733 -1 2 680 765 658 -1 2 776 674 687 -1 2 560 524 542 +1 2 557 526 915 +1 2 634 545 637 +1 2 602 528 634 +1 2 573 576 614 +1 2 606 914 569 +1 2 605 547 553 +1 2 554 556 444 +1 2 582 187 581 +1 2 548 525 543 +1 2 604 525 617 +1 2 733 526 544 +1 2 658 680 765 +1 2 674 687 776 +1 2 524 542 560 1 2 552 553 547 1 2 553 540 551 1 2 554 552 547 -1 2 546 605 551 -1 2 553 551 605 +1 2 605 551 546 +1 2 551 605 553 1 2 556 554 547 -1 2 586 561 444 -1 2 546 614 576 -1 2 567 568 570 -1 2 563 547 555 -1 2 502 503 564 +1 2 561 444 586 +1 2 576 546 614 +1 2 570 567 568 +1 2 547 555 563 +1 2 503 564 502 1 2 526 557 544 1 2 557 550 558 1 2 559 558 550 -1 2 593 558 492 -1 2 915 647 550 +1 2 558 492 593 +1 2 647 550 915 1 2 677 674 676 -1 2 573 560 542 -1 2 551 560 614 +1 2 560 542 573 +1 2 614 551 560 1 2 552 561 511 1 2 444 561 554 1 2 403 562 402 1 2 404 511 562 -1 2 555 569 568 -1 2 564 567 502 +1 2 568 555 569 +1 2 502 564 567 1 2 444 556 564 -1 2 564 556 567 -1 2 577 565 573 +1 2 567 564 556 +1 2 565 573 577 1 2 884 883 865 -1 2 566 568 569 -1 2 574 649 519 +1 2 568 569 566 +1 2 519 574 649 1 2 556 563 567 -1 2 568 567 563 +1 2 563 568 567 1 2 555 568 563 -1 2 568 566 570 -1 2 605 606 555 +1 2 570 568 566 +1 2 606 555 605 1 2 606 569 555 -1 2 570 566 574 +1 2 574 570 566 1 2 504 502 570 1 2 651 660 682 1 2 914 566 569 -1 2 571 682 660 -1 2 748 835 895 -1 2 542 887 577 -1 2 573 565 576 -1 2 609 566 914 +1 2 660 571 682 +1 2 895 748 835 +1 2 577 542 887 +1 2 565 576 573 +1 2 914 609 566 1 2 574 566 609 -1 2 867 869 886 +1 2 886 867 869 1 2 912 911 913 -1 2 651 576 565 -1 2 682 606 546 +1 2 576 565 651 +1 2 546 682 606 1 2 542 577 573 -1 2 577 575 912 -1 2 897 903 910 -1 2 710 681 707 -1 2 735 808 57 -1 2 736 579 737 +1 2 912 577 575 +1 2 910 897 903 +1 2 707 710 681 +1 2 57 735 808 +1 2 737 736 579 1 2 172 580 168 1 2 162 176 580 -1 2 156 581 115 -1 2 581 134 582 -1 2 129 583 134 -1 2 582 134 583 +1 2 115 156 581 +1 2 582 581 134 +1 2 134 129 583 +1 2 134 583 582 1 2 584 583 129 -1 2 582 585 548 +1 2 585 548 582 1 2 114 584 129 -1 2 617 584 148 -1 2 584 585 583 +1 2 584 148 617 +1 2 583 584 585 1 2 525 548 585 1 2 406 586 405 1 2 561 586 402 1 2 496 587 440 1 2 588 587 431 1 2 447 588 431 -1 2 462 588 448 -1 2 589 454 440 +1 2 448 462 588 +1 2 440 589 454 1 2 535 589 462 -1 2 798 799 828 +1 2 828 798 799 1 2 151 466 619 1 2 179 591 177 1 2 548 591 187 -1 2 480 592 60 -1 2 479 592 478 +1 2 60 480 592 +1 2 478 479 592 1 2 558 593 387 -1 2 491 593 492 -1 2 594 151 619 +1 2 492 491 593 +1 2 619 594 151 1 2 497 499 594 -1 2 497 621 595 -1 2 685 694 621 -1 2 622 624 596 -1 2 842 751 838 -1 2 599 597 471 +1 2 621 595 497 +1 2 621 685 694 +1 2 596 622 624 +1 2 751 838 842 +1 2 597 471 599 1 2 464 510 597 1 2 655 596 749 -1 2 597 598 752 -1 2 468 599 471 -1 2 600 437 460 -1 2 597 600 464 +1 2 752 597 598 +1 2 471 468 599 +1 2 437 460 600 +1 2 464 597 600 1 2 437 600 599 -1 2 601 629 630 -1 2 678 644 646 -1 2 528 731 634 -1 2 657 131 536 +1 2 629 630 601 +1 2 644 646 678 +1 2 731 634 528 +1 2 131 536 657 1 2 152 603 131 1 2 532 603 116 -1 2 644 647 607 +1 2 607 644 647 1 2 549 604 764 -1 2 606 605 546 -1 2 547 605 555 +1 2 546 606 605 +1 2 555 547 605 1 2 682 546 576 -1 2 571 914 606 -1 2 648 822 784 +1 2 914 606 571 +1 2 784 648 822 1 2 559 550 644 -1 2 608 519 520 -1 2 570 608 504 -1 2 612 609 572 +1 2 520 608 519 +1 2 504 570 608 +1 2 609 572 612 1 2 609 611 649 1 2 612 690 691 1 2 938 641 747 -1 2 640 641 639 -1 2 649 650 519 -1 2 612 572 690 -1 2 611 612 610 -1 2 684 571 660 -1 2 791 1013 1014 +1 2 641 639 640 +1 2 650 519 649 +1 2 690 612 572 +1 2 610 611 612 +1 2 571 660 684 +1 2 1014 791 1013 1 2 551 614 546 1 2 573 614 560 -1 2 659 651 565 -1 2 789 689 700 -1 2 740 114 128 +1 2 565 659 651 +1 2 689 700 789 +1 2 128 740 114 1 2 616 757 756 -1 2 604 617 148 +1 2 148 604 617 1 2 585 617 525 1 2 537 130 618 -1 2 739 618 130 +1 2 618 130 739 1 2 618 619 466 -1 2 594 619 590 -1 2 828 799 590 -1 2 595 51 620 +1 2 590 594 619 +1 2 590 828 799 +1 2 620 595 51 1 2 459 425 662 -1 2 625 624 622 +1 2 622 625 624 1 2 596 598 622 1 2 624 625 623 -1 2 754 626 627 +1 2 626 627 754 1 2 625 622 459 -1 2 754 627 624 -1 2 459 662 661 +1 2 624 754 627 +1 2 662 661 459 1 2 625 459 661 1 2 754 668 671 1 2 71 940 849 1 2 754 624 623 -1 2 627 750 749 +1 2 749 627 750 1 2 750 751 628 -1 2 867 729 868 -1 2 630 629 489 -1 2 631 629 601 +1 2 729 868 867 +1 2 489 630 629 +1 2 601 631 629 1 2 489 492 630 -1 2 630 656 632 +1 2 632 630 656 1 2 601 515 631 1 2 633 631 515 1 2 678 632 656 -1 2 665 669 675 -1 2 633 515 672 -1 2 633 500 450 +1 2 669 675 665 +1 2 672 633 515 +1 2 450 633 500 1 2 545 638 637 -1 2 602 634 636 -1 2 635 637 638 -1 2 741 742 743 +1 2 636 602 634 +1 2 638 635 637 +1 2 742 743 741 1 2 637 636 634 -1 2 135 741 117 -1 2 545 732 638 -1 2 637 635 742 -1 2 530 640 638 -1 2 640 642 638 +1 2 117 135 741 +1 2 638 545 732 +1 2 742 637 635 +1 2 638 530 640 +1 2 642 638 640 1 2 641 640 530 1 2 896 956 957 -1 2 649 611 650 -1 2 640 639 642 -1 2 610 745 611 +1 2 650 649 611 +1 2 639 642 640 +1 2 611 610 745 1 2 641 611 745 -1 2 813 642 639 +1 2 642 639 813 1 2 743 742 744 -1 2 756 688 148 -1 2 761 706 648 +1 2 688 148 756 +1 2 706 648 761 1 2 647 915 645 -1 2 644 607 646 +1 2 646 644 607 1 2 765 763 764 1 2 762 647 645 1 2 769 767 770 -1 2 674 677 766 +1 2 766 674 677 1 2 550 647 644 -1 2 648 821 762 -1 2 705 706 643 -1 2 773 783 771 +1 2 821 762 648 +1 2 706 643 705 +1 2 783 771 773 1 2 609 649 574 1 2 611 641 650 1 2 641 530 650 -1 2 650 530 732 -1 2 659 565 578 +1 2 732 650 530 +1 2 565 578 659 1 2 651 615 660 -1 2 498 652 52 +1 2 52 498 652 1 2 595 652 499 -1 2 701 143 693 -1 2 595 694 51 -1 2 669 665 667 -1 2 663 664 625 +1 2 143 693 701 +1 2 51 595 694 +1 2 667 669 665 +1 2 664 625 663 1 2 867 868 850 1 2 597 752 471 1 2 492 559 656 -1 2 678 656 559 +1 2 656 559 678 1 2 602 657 536 -1 2 135 657 636 -1 2 756 148 616 +1 2 636 135 657 +1 2 148 616 756 1 2 680 658 643 -1 2 689 659 578 -1 2 651 659 789 +1 2 659 578 689 +1 2 789 651 659 1 2 615 683 660 -1 2 572 914 684 +1 2 684 572 914 1 2 663 661 654 1 2 458 662 452 -1 2 654 661 662 +1 2 662 654 661 1 2 654 669 667 -1 2 668 664 673 -1 2 667 670 663 -1 2 695 666 673 -1 2 515 676 672 -1 2 918 786 859 +1 2 664 673 668 +1 2 670 663 667 +1 2 673 695 666 +1 2 672 515 676 +1 2 859 918 786 1 2 623 664 668 -1 2 670 664 663 -1 2 669 654 458 -1 2 667 665 670 -1 2 673 664 670 -1 2 668 666 671 -1 2 672 458 633 -1 2 672 669 458 +1 2 663 670 664 +1 2 654 458 669 +1 2 665 670 667 +1 2 664 670 673 +1 2 666 671 668 +1 2 633 672 458 +1 2 669 458 672 1 2 665 675 704 -1 2 856 875 876 -1 2 817 671 666 -1 2 751 837 838 -1 2 676 515 677 -1 2 669 672 675 +1 2 876 856 875 +1 2 671 666 817 +1 2 837 838 751 +1 2 515 677 676 +1 2 672 675 669 1 2 673 670 696 -1 2 696 695 673 +1 2 695 673 696 1 2 766 767 687 1 2 703 686 696 1 2 708 697 704 -1 2 708 704 675 +1 2 675 708 704 1 2 677 515 601 -1 2 675 676 674 +1 2 674 675 676 1 2 601 632 677 -1 2 766 677 632 +1 2 677 632 766 1 2 644 678 559 -1 2 632 678 646 +1 2 646 632 678 1 2 757 760 679 -1 2 819 945 818 -1 2 761 680 643 +1 2 945 818 819 +1 2 680 643 761 1 2 680 645 763 -1 2 689 707 681 -1 2 901 973 894 +1 2 681 689 707 +1 2 894 901 973 1 2 606 682 571 -1 2 651 682 576 -1 2 615 789 700 +1 2 576 651 682 +1 2 700 615 789 1 2 683 690 684 1 2 660 683 684 1 2 690 683 613 -1 2 50 653 685 +1 2 653 685 50 1 2 685 653 694 -1 2 709 665 704 +1 2 665 704 709 1 2 898 66 1046 -1 2 770 767 646 -1 2 778 918 708 +1 2 767 646 770 +1 2 918 708 778 1 2 148 688 658 -1 2 679 818 705 -1 2 578 913 707 -1 2 689 681 700 -1 2 690 613 691 +1 2 705 679 818 +1 2 707 578 913 +1 2 700 689 681 +1 2 691 690 613 1 2 572 684 690 -1 2 692 691 613 -1 2 612 691 610 -1 2 615 791 683 -1 2 950 951 884 +1 2 613 692 691 +1 2 610 612 691 +1 2 791 683 615 +1 2 884 950 951 1 2 143 712 715 -1 2 693 827 49 +1 2 49 693 827 1 2 51 694 653 -1 2 621 694 595 -1 2 852 853 854 -1 2 851 853 855 -1 2 709 670 665 -1 2 695 696 686 -1 2 775 774 769 -1 2 787 782 777 -1 2 760 818 679 +1 2 595 621 694 +1 2 854 852 853 +1 2 855 851 853 +1 2 670 665 709 +1 2 686 695 696 +1 2 769 775 774 +1 2 782 777 787 +1 2 679 760 818 1 2 994 878 993 -1 2 910 903 575 +1 2 903 575 910 1 2 1086 1076 900 -1 2 824 700 681 -1 2 615 700 791 +1 2 700 681 824 +1 2 700 791 615 1 2 143 701 685 -1 2 702 693 49 +1 2 693 49 702 1 2 709 696 670 1 2 693 702 701 -1 2 859 823 858 -1 2 708 675 674 +1 2 858 859 823 +1 2 674 708 675 1 2 709 697 703 1 2 679 705 688 -1 2 698 944 705 -1 2 994 877 878 -1 2 881 879 857 +1 2 944 705 698 +1 2 877 878 994 +1 2 857 881 879 1 2 578 707 689 -1 2 707 699 1085 -1 2 774 776 687 -1 2 687 767 769 +1 2 1085 707 699 +1 2 776 687 774 +1 2 769 687 767 1 2 697 709 704 1 2 696 709 703 -1 2 911 909 699 -1 2 790 973 901 +1 2 909 699 911 +1 2 901 790 973 1 2 723 123 133 -1 2 800 716 109 -1 2 792 715 110 +1 2 109 800 716 +1 2 715 110 792 1 2 714 143 621 -1 2 125 792 110 +1 2 110 125 792 1 2 797 793 795 -1 2 798 714 621 -1 2 124 714 828 +1 2 714 621 798 +1 2 828 124 714 1 2 110 715 712 -1 2 715 713 826 +1 2 826 715 713 1 2 800 109 711 -1 2 716 793 792 +1 2 792 716 793 1 2 113 127 801 -1 2 717 145 719 -1 2 1027 1022 1025 -1 2 1019 1018 94 -1 2 1019 1020 145 -1 2 803 724 112 -1 2 117 741 743 -1 2 1028 801 720 +1 2 145 719 717 +1 2 1025 1027 1022 +1 2 1018 94 1019 +1 2 145 1019 1020 +1 2 112 803 724 +1 2 743 117 741 +1 2 801 720 1028 1 2 802 106 158 -1 2 740 616 114 -1 2 809 738 154 -1 2 154 725 722 -1 2 155 976 723 -1 2 711 123 723 +1 2 114 740 616 +1 2 154 809 738 +1 2 725 722 154 +1 2 723 155 976 +1 2 723 711 123 1 2 803 112 719 -1 2 723 724 155 +1 2 155 723 724 1 2 725 924 923 -1 2 136 157 725 -1 2 1007 138 928 -1 2 137 990 933 -1 2 806 727 136 -1 2 138 160 727 +1 2 157 725 136 +1 2 138 928 1007 +1 2 990 933 137 +1 2 136 806 727 +1 2 727 138 160 1 2 467 465 728 1 2 465 729 730 -1 2 815 471 753 +1 2 471 753 815 1 2 753 729 815 1 2 729 539 730 1 2 541 730 539 @@ -1351,530 +1364,530 @@ elements 1 2 519 732 520 1 2 638 732 530 1 2 543 733 514 -1 2 526 733 549 -1 2 174 734 173 +1 2 549 526 733 +1 2 173 174 734 1 2 736 734 579 -1 2 738 737 979 +1 2 737 979 738 1 2 736 737 163 1 2 165 736 163 1 2 734 736 139 1 2 807 737 579 -1 2 154 722 809 -1 2 735 979 737 +1 2 809 154 722 +1 2 979 737 735 1 2 979 57 917 1 2 111 590 739 -1 2 618 739 590 -1 2 147 758 721 +1 2 590 618 739 +1 2 758 721 147 1 2 756 757 679 -1 2 636 742 741 -1 2 117 743 720 -1 2 637 742 636 +1 2 741 636 742 +1 2 720 117 743 +1 2 636 637 742 1 2 642 744 635 -1 2 742 635 744 -1 2 720 743 810 +1 2 635 744 742 +1 2 810 720 743 1 2 833 810 744 1 2 720 810 146 -1 2 692 746 610 -1 2 745 610 746 -1 2 834 746 692 +1 2 610 692 746 +1 2 746 745 610 +1 2 746 692 834 1 2 747 641 745 -1 2 834 866 746 +1 2 866 746 834 1 2 835 748 813 -1 2 813 639 938 -1 2 958 957 96 +1 2 938 813 639 +1 2 96 958 957 1 2 627 749 596 1 2 628 655 749 -1 2 750 626 837 -1 2 628 749 750 -1 2 626 754 836 -1 2 842 846 840 +1 2 837 750 626 +1 2 749 750 628 +1 2 754 836 626 +1 2 840 842 846 1 2 598 655 752 -1 2 752 655 753 -1 2 628 816 655 -1 2 655 816 753 +1 2 655 753 752 +1 2 655 628 816 +1 2 753 655 816 1 2 668 754 623 -1 2 754 671 836 +1 2 836 754 671 1 2 817 666 851 -1 2 855 856 876 +1 2 876 855 856 1 2 757 616 740 1 2 688 756 679 -1 2 758 740 721 -1 2 758 757 740 -1 2 937 759 760 -1 2 757 758 760 -1 2 83 1032 82 -1 2 818 1031 819 -1 2 937 760 758 -1 2 818 698 705 -1 2 706 761 643 -1 2 762 761 648 +1 2 721 758 740 +1 2 740 758 757 +1 2 759 760 937 +1 2 758 760 757 +1 2 82 83 1032 +1 2 819 818 1031 +1 2 760 758 937 +1 2 705 818 698 +1 2 643 706 761 +1 2 761 648 762 1 2 645 680 762 -1 2 761 762 680 +1 2 680 761 762 1 2 915 763 645 1 2 526 549 764 1 2 765 764 604 1 2 526 764 763 -1 2 658 765 604 -1 2 763 765 680 -1 2 767 766 632 -1 2 674 766 687 +1 2 604 658 765 +1 2 680 763 765 +1 2 632 767 766 +1 2 687 674 766 1 2 632 646 767 -1 2 820 770 646 -1 2 821 784 820 -1 2 87 963 899 +1 2 646 820 770 +1 2 820 821 784 +1 2 899 87 963 1 2 784 779 783 1 2 687 769 774 1 2 820 646 607 -1 2 769 770 768 +1 2 768 769 770 1 2 785 998 972 1 2 769 768 773 -1 2 775 780 772 -1 2 776 778 708 -1 2 783 773 768 +1 2 780 772 775 +1 2 778 708 776 +1 2 773 768 783 1 2 774 775 772 1 2 775 769 773 -1 2 776 774 772 -1 2 773 771 775 -1 2 780 775 771 +1 2 772 776 774 +1 2 771 775 773 +1 2 775 771 780 1 2 778 776 772 1 2 674 776 708 1 2 780 781 777 1 2 965 788 967 -1 2 782 772 780 +1 2 780 782 772 1 2 782 778 772 -1 2 822 877 879 -1 2 881 857 880 +1 2 879 822 877 +1 2 857 880 881 1 2 781 780 771 -1 2 780 777 782 +1 2 782 780 777 1 2 892 779 881 -1 2 890 893 781 -1 2 777 919 998 -1 2 778 782 786 -1 2 784 783 768 -1 2 783 779 892 -1 2 820 784 768 +1 2 893 781 890 +1 2 998 777 919 +1 2 786 778 782 +1 2 768 784 783 +1 2 892 783 779 +1 2 784 768 820 1 2 648 706 822 1 2 959 962 898 1 2 703 859 858 1 2 787 786 782 -1 2 1068 785 1017 -1 2 919 777 781 -1 2 786 787 785 +1 2 785 1017 1068 +1 2 777 781 919 +1 2 785 786 787 1 2 890 891 893 -1 2 970 966 969 +1 2 966 969 970 1 2 651 789 615 1 2 689 789 659 1 2 681 861 824 -1 2 999 949 865 +1 2 949 865 999 1 2 824 791 700 1 2 1002 790 1000 1 2 716 792 125 1 2 715 792 713 -1 2 795 796 794 +1 2 796 794 795 1 2 713 792 793 -1 2 48 825 862 -1 2 827 693 826 +1 2 825 862 48 +1 2 826 827 693 1 2 796 795 144 -1 2 795 794 797 -1 2 931 989 829 -1 2 920 9 921 -1 2 797 794 825 +1 2 794 797 795 +1 2 829 931 989 +1 2 9 921 920 +1 2 794 825 797 1 2 797 825 827 1 2 621 497 798 1 2 799 798 497 1 2 594 799 497 -1 2 828 590 111 -1 2 929 829 142 -1 2 144 716 800 +1 2 590 111 828 +1 2 829 142 929 +1 2 800 144 716 1 2 720 801 127 -1 2 717 801 718 -1 2 158 932 934 -1 2 802 934 831 +1 2 718 717 801 +1 2 934 158 932 +1 2 831 802 934 1 2 1069 803 719 1 2 864 155 803 1 2 722 804 132 -1 2 157 804 725 +1 2 725 157 804 1 2 160 805 120 -1 2 726 1054 1055 +1 2 1055 726 1054 1 2 806 136 922 1 2 806 3 928 1 2 808 807 58 -1 2 737 807 735 +1 2 735 737 807 1 2 165 809 107 1 2 807 808 735 1 2 163 738 809 1 2 743 744 810 1 2 744 642 833 -1 2 811 833 813 +1 2 833 813 811 1 2 1030 957 958 -1 2 834 883 812 -1 2 1045 97 885 +1 2 812 834 883 +1 2 97 885 1045 1 2 813 938 835 -1 2 811 813 748 -1 2 814 836 817 -1 2 841 838 814 +1 2 748 811 813 +1 2 817 814 836 +1 2 838 814 841 1 2 729 465 815 -1 2 471 815 465 -1 2 751 847 848 -1 2 850 868 870 -1 2 851 666 695 -1 2 817 755 843 -1 2 759 1031 760 +1 2 465 471 815 +1 2 848 751 847 +1 2 870 850 868 +1 2 666 695 851 +1 2 843 817 755 +1 2 760 759 1031 1 2 1032 819 1031 -1 2 84 946 947 +1 2 946 947 84 1 2 993 84 948 1 2 770 820 768 1 2 821 820 607 1 2 647 821 607 1 2 648 784 821 -1 2 877 822 706 -1 2 779 784 822 -1 2 959 961 962 +1 2 822 706 877 +1 2 822 779 784 +1 2 962 959 961 1 2 860 854 941 -1 2 861 681 710 -1 2 824 790 1005 +1 2 681 710 861 +1 2 1005 824 790 1 2 862 825 794 1 2 827 863 49 -1 2 715 826 693 +1 2 693 715 826 1 2 713 797 826 1 2 797 827 826 1 2 863 827 825 1 2 124 828 111 1 2 798 828 714 -1 2 931 10 796 -1 2 989 144 800 -1 2 137 932 158 +1 2 10 796 931 +1 2 144 800 989 +1 2 158 137 932 1 2 81 830 1033 -1 2 82 936 935 -1 2 936 82 759 -1 2 145 1020 1069 -1 2 91 1053 1008 +1 2 936 935 82 +1 2 82 759 936 +1 2 1069 145 1020 +1 2 1053 1008 91 1 2 813 833 642 -1 2 833 811 1029 -1 2 692 1011 883 -1 2 834 812 866 -1 2 747 746 866 -1 2 866 895 835 +1 2 1029 833 811 +1 2 883 692 1011 +1 2 866 834 812 +1 2 746 866 747 +1 2 835 866 895 1 2 817 836 671 -1 2 837 836 814 -1 2 838 837 814 -1 2 837 751 750 -1 2 839 841 843 +1 2 814 837 836 +1 2 814 838 837 +1 2 751 750 837 +1 2 843 839 841 1 2 849 846 844 1 2 69 876 875 -1 2 1034 69 70 -1 2 906 908 888 -1 2 628 848 816 +1 2 69 70 1034 +1 2 888 906 908 +1 2 816 628 848 1 2 843 841 814 -1 2 844 841 839 -1 2 838 841 844 +1 2 839 844 841 +1 2 841 844 838 1 2 840 845 847 -1 2 817 843 814 -1 2 843 755 876 +1 2 814 817 843 +1 2 876 843 755 1 2 844 939 849 1 2 838 844 846 -1 2 873 869 850 -1 2 867 539 729 +1 2 850 873 869 +1 2 539 729 867 1 2 838 846 842 1 2 939 844 70 1 2 840 847 842 -1 2 848 847 845 -1 2 848 845 870 -1 2 751 848 628 -1 2 940 1048 72 +1 2 845 848 847 +1 2 870 848 845 +1 2 628 751 848 +1 2 72 940 1048 1 2 846 849 1038 1 2 850 870 872 1 2 887 886 869 1 2 851 695 853 -1 2 755 817 851 +1 2 851 755 817 1 2 695 686 941 -1 2 856 874 68 -1 2 854 853 695 +1 2 874 68 856 +1 2 695 854 853 1 2 855 853 852 -1 2 686 858 860 -1 2 1046 889 898 +1 2 858 860 686 +1 2 889 898 1046 1 2 856 855 852 -1 2 851 855 755 +1 2 755 851 855 1 2 874 856 852 1 2 69 839 876 -1 2 877 706 944 -1 2 952 86 891 +1 2 944 877 706 +1 2 86 891 952 1 2 859 703 697 1 2 860 858 823 1 2 918 859 697 1 2 1068 859 786 -1 2 860 961 959 -1 2 996 898 962 -1 2 894 861 710 -1 2 824 861 973 -1 2 921 862 794 +1 2 959 860 961 +1 2 898 962 996 +1 2 861 710 894 +1 2 973 824 861 +1 2 862 794 921 1 2 943 942 8 -1 2 832 1071 1063 +1 2 1071 1063 832 1 2 825 48 863 1 2 1008 1053 988 -1 2 999 1004 1002 -1 2 99 884 949 +1 2 1004 1002 999 +1 2 949 99 884 1 2 885 866 812 1 2 747 866 835 1 2 868 729 753 -1 2 867 850 869 +1 2 850 869 867 1 2 753 816 868 -1 2 870 868 816 -1 2 850 872 873 -1 2 869 873 910 +1 2 868 816 870 +1 2 873 850 872 +1 2 910 869 873 1 2 848 870 816 -1 2 872 845 871 -1 2 840 1035 845 +1 2 845 871 872 +1 2 845 840 1035 1 2 888 897 906 1 2 845 872 870 -1 2 872 871 873 +1 2 871 873 872 1 2 873 871 897 -1 2 910 887 869 -1 2 889 852 854 -1 2 68 874 67 +1 2 869 910 887 +1 2 852 854 889 +1 2 67 68 874 1 2 843 876 839 -1 2 856 68 875 -1 2 876 755 855 +1 2 875 856 68 +1 2 855 876 755 1 2 877 944 878 -1 2 879 877 857 -1 2 945 878 944 -1 2 946 993 945 -1 2 953 85 954 -1 2 822 879 779 +1 2 877 857 879 +1 2 944 945 878 +1 2 993 945 946 +1 2 954 953 85 +1 2 779 822 879 1 2 880 891 890 -1 2 879 881 779 -1 2 880 890 881 -1 2 771 783 892 -1 2 904 882 894 -1 2 1051 101 974 +1 2 881 779 879 +1 2 881 880 890 +1 2 783 892 771 +1 2 882 894 904 +1 2 101 974 1051 1 2 692 883 834 1 2 865 949 884 1 2 951 950 98 -1 2 812 883 884 -1 2 885 812 951 -1 2 896 748 895 -1 2 541 886 542 +1 2 884 812 883 +1 2 951 885 812 +1 2 748 895 896 +1 2 542 541 886 1 2 867 886 539 1 2 577 887 575 1 2 886 887 542 -1 2 845 1035 871 -1 2 908 909 888 -1 2 889 854 898 -1 2 67 874 889 -1 2 952 891 880 -1 2 892 781 771 -1 2 87 899 955 -1 2 891 899 893 +1 2 871 845 1035 +1 2 909 888 908 +1 2 854 898 889 +1 2 889 67 874 +1 2 891 880 952 +1 2 781 771 892 +1 2 899 955 87 +1 2 899 893 891 1 2 881 890 892 1 2 781 892 890 -1 2 891 955 899 -1 2 893 967 919 -1 2 710 1086 904 -1 2 894 882 901 +1 2 955 899 891 +1 2 919 893 967 +1 2 904 710 1086 +1 2 901 894 882 1 2 866 885 895 -1 2 895 885 896 +1 2 885 896 895 1 2 885 97 896 1 2 957 956 96 -1 2 1037 906 897 -1 2 897 888 903 -1 2 860 959 854 -1 2 854 959 898 -1 2 963 87 88 +1 2 897 1037 906 +1 2 888 903 897 +1 2 854 860 959 +1 2 898 854 959 +1 2 87 88 963 1 2 899 965 967 -1 2 909 1075 699 -1 2 1080 1081 1079 -1 2 882 974 901 +1 2 1075 699 909 +1 2 1079 1080 1081 +1 2 974 901 882 1 2 974 1003 1001 -1 2 940 1039 1038 -1 2 1042 1043 1040 +1 2 1038 940 1039 +1 2 1040 1042 1043 1 2 911 903 888 -1 2 577 912 578 +1 2 578 577 912 1 2 710 904 894 -1 2 905 904 900 +1 2 900 905 904 1 2 1076 1078 900 -1 2 1091 102 1050 +1 2 102 1050 1091 1 2 1037 897 871 -1 2 1041 908 906 -1 2 1040 1041 1039 -1 2 1044 1043 73 +1 2 906 1041 908 +1 2 1039 1040 1041 +1 2 73 1044 1043 1 2 1041 906 902 -1 2 908 907 909 -1 2 1043 1044 1073 -1 2 1047 1086 1085 +1 2 907 909 908 +1 2 1073 1043 1044 +1 2 1086 1085 1047 1 2 887 910 575 1 2 897 910 873 -1 2 909 911 888 -1 2 913 911 699 +1 2 888 909 911 +1 2 911 699 913 1 2 575 903 912 1 2 911 912 903 1 2 707 913 699 1 2 912 913 578 -1 2 684 914 571 -1 2 914 572 609 +1 2 571 684 914 +1 2 609 914 572 1 2 557 915 550 1 2 763 915 526 -1 2 977 155 864 -1 2 985 986 12 -1 2 56 982 981 -1 2 926 982 983 -1 2 708 918 697 +1 2 155 864 977 +1 2 986 12 985 +1 2 982 981 56 +1 2 983 926 982 +1 2 697 708 918 1 2 778 786 918 1 2 893 919 781 1 2 788 972 998 -1 2 862 921 9 -1 2 796 10 920 +1 2 9 862 921 +1 2 920 796 10 1 2 794 796 921 -1 2 923 136 725 -1 2 4 922 925 -1 2 924 725 154 -1 2 923 924 927 -1 2 980 926 154 -1 2 927 925 923 -1 2 4 925 5 +1 2 136 725 923 +1 2 925 4 922 +1 2 725 154 924 +1 2 927 923 924 +1 2 926 154 980 +1 2 923 927 925 +1 2 5 4 925 1 2 922 923 925 -1 2 982 917 981 +1 2 917 981 982 1 2 926 983 1006 1 2 1006 924 926 -1 2 6 5 927 +1 2 927 6 5 1 2 3 2 928 -1 2 1007 2 984 -1 2 929 142 978 -1 2 11 929 12 -1 2 989 796 144 -1 2 829 11 930 +1 2 2 984 1007 +1 2 978 929 142 +1 2 12 11 929 +1 2 796 144 989 +1 2 930 829 11 1 2 829 930 931 -1 2 932 137 933 -1 2 932 830 934 +1 2 933 932 137 +1 2 934 932 830 1 2 990 137 1054 -1 2 991 80 933 -1 2 934 802 158 -1 2 81 934 830 +1 2 80 933 991 +1 2 158 934 802 +1 2 830 81 934 1 2 147 831 936 1 2 831 81 935 -1 2 936 831 935 +1 2 935 936 831 1 2 147 937 758 -1 2 759 937 936 +1 2 936 759 937 1 2 641 938 639 1 2 747 835 938 1 2 1040 907 1041 1 2 71 849 939 -1 2 902 1037 1036 -1 2 695 941 854 +1 2 1037 1036 902 +1 2 854 695 941 1 2 686 860 941 -1 2 705 944 706 +1 2 706 705 944 1 2 862 9 942 1 2 942 943 862 1 2 945 944 698 1 2 818 945 698 1 2 946 945 819 -1 2 947 819 83 -1 2 992 85 948 +1 2 819 83 947 +1 2 85 948 992 1 2 948 85 953 1 2 819 947 946 1 2 945 993 878 1 2 999 975 1052 -1 2 995 99 949 -1 2 885 951 98 +1 2 99 949 995 +1 2 98 885 951 1 2 884 99 950 1 2 812 884 951 1 2 953 952 880 -1 2 954 86 952 +1 2 952 954 86 1 2 880 857 953 -1 2 953 857 994 -1 2 95 1070 1049 +1 2 994 953 857 +1 2 1070 1049 95 1 2 953 954 952 1 2 891 86 955 -1 2 896 97 956 -1 2 896 957 748 +1 2 956 896 97 +1 2 748 896 957 1 2 95 94 1026 1 2 958 1027 1030 -1 2 960 961 823 -1 2 1017 785 971 -1 2 785 972 971 +1 2 823 960 961 +1 2 785 971 1017 +1 2 971 785 972 1 2 971 964 1067 1 2 823 961 860 -1 2 961 960 962 +1 2 960 962 961 1 2 1010 964 970 -1 2 898 996 66 -1 2 966 963 88 +1 2 66 898 996 +1 2 963 88 966 1 2 899 963 965 -1 2 970 964 966 +1 2 966 970 964 1 2 788 965 968 1 2 966 965 963 -1 2 965 966 968 -1 2 969 89 970 -1 2 966 964 968 +1 2 966 968 965 +1 2 89 970 969 +1 2 968 966 964 1 2 919 967 788 -1 2 899 967 893 -1 2 971 968 964 +1 2 893 899 967 +1 2 964 971 968 1 2 998 785 787 -1 2 90 997 89 -1 2 966 88 969 +1 2 89 90 997 +1 2 969 966 88 1 2 89 997 970 1 2 1010 970 997 -1 2 971 1016 1017 +1 2 1016 1017 971 1 2 788 968 972 -1 2 971 972 968 +1 2 968 971 972 1 2 824 973 790 1 2 894 973 861 1 2 882 905 1050 -1 2 1001 1003 975 -1 2 1052 100 995 +1 2 1003 975 1001 +1 2 995 1052 100 1 2 790 901 1000 -1 2 977 976 155 +1 2 155 977 976 1 2 978 976 916 -1 2 977 988 987 -1 2 987 986 916 -1 2 978 916 985 -1 2 978 142 711 +1 2 988 987 977 +1 2 916 987 986 +1 2 985 978 916 +1 2 711 978 142 1 2 57 979 735 -1 2 980 979 917 -1 2 926 980 917 +1 2 917 980 979 +1 2 917 926 980 1 2 154 738 980 1 2 56 7 983 1 2 917 57 981 1 2 926 917 982 1 2 7 6 983 1 2 983 6 1006 -1 2 1 1087 2 -1 2 1088 1087 1 +1 2 1087 2 1 +1 2 1 1088 1087 1 2 12 929 985 -1 2 978 985 929 +1 2 929 978 985 1 2 987 916 977 -1 2 12 986 13 -1 2 988 977 864 -1 2 14 13 987 +1 2 13 12 986 +1 2 977 864 988 +1 2 987 14 13 1 2 988 864 1008 1 2 14 987 988 -1 2 829 989 800 +1 2 800 829 989 1 2 796 989 931 -1 2 1056 990 726 +1 2 990 726 1056 1 2 991 1060 79 1 2 84 993 946 -1 2 1060 991 933 +1 2 991 933 1060 1 2 948 84 992 -1 2 994 993 948 +1 2 948 994 993 1 2 953 994 948 -1 2 994 857 877 +1 2 877 994 857 1 2 1064 962 1009 1 2 1052 995 949 -1 2 1065 66 996 +1 2 66 996 1065 1 2 90 1062 997 1 2 64 65 1066 1 2 777 998 787 -1 2 788 998 919 +1 2 919 788 998 1 2 1004 865 1011 -1 2 1002 1000 975 -1 2 1001 901 974 +1 2 975 1002 1000 +1 2 901 974 1001 1 2 1002 975 999 1 2 1003 974 101 -1 2 975 1000 1001 +1 2 1001 975 1000 1 2 1004 999 865 -1 2 824 1005 791 +1 2 791 824 1005 1 2 101 100 1003 -1 2 1052 1003 100 -1 2 1012 1011 692 -1 2 1014 1012 613 +1 2 1003 100 1052 +1 2 692 1012 1011 +1 2 1012 613 1014 1 2 790 1002 1005 1 2 1004 1005 1002 1 2 6 927 1006 @@ -1882,202 +1895,202 @@ elements 1 2 2 1007 928 1 2 984 1056 1057 1 2 1063 864 832 -1 2 91 1008 1063 -1 2 1015 962 960 -1 2 1062 1066 1092 +1 2 1063 91 1008 +1 2 962 960 1015 +1 2 1066 1092 1062 1 2 1092 997 1062 -1 2 1015 1009 962 +1 2 1009 962 1015 1 2 883 1011 865 -1 2 1012 692 613 +1 2 692 613 1012 1 2 613 683 1014 -1 2 1004 1011 1012 -1 2 1005 1013 791 +1 2 1011 1012 1004 +1 2 791 1005 1013 1 2 1004 1012 1013 -1 2 791 1014 683 -1 2 1012 1014 1013 -1 2 1016 1015 960 -1 2 1092 1015 1010 -1 2 1017 1016 960 -1 2 1016 971 1067 +1 2 683 791 1014 +1 2 1013 1012 1014 +1 2 1015 960 1016 +1 2 1015 1010 1092 +1 2 960 1017 1016 +1 2 1067 1016 971 1 2 960 823 1017 -1 2 1068 1017 823 -1 2 145 1021 1018 +1 2 1017 823 1068 +1 2 1018 145 1021 1 2 1021 1024 1018 1 2 94 93 1019 -1 2 1019 93 1020 -1 2 92 1063 1071 -1 2 1020 1071 1069 +1 2 93 1020 1019 +1 2 1063 1071 92 +1 2 1071 1069 1020 1 2 717 1021 145 1 2 1024 1021 718 -1 2 1024 718 1025 -1 2 1070 958 1049 -1 2 801 1028 718 -1 2 93 1023 1071 +1 2 718 1025 1024 +1 2 1049 1070 958 +1 2 718 801 1028 +1 2 1071 93 1023 1 2 1026 1024 1022 -1 2 1027 1025 146 -1 2 1022 1024 1025 -1 2 1026 1022 1070 +1 2 146 1027 1025 +1 2 1025 1022 1024 +1 2 1070 1026 1022 1 2 94 1018 1026 -1 2 1029 1027 146 +1 2 1027 146 1029 1 2 1070 1027 958 -1 2 146 1028 720 -1 2 718 1028 1025 +1 2 720 146 1028 +1 2 1025 718 1028 1 2 810 1029 146 1 2 1030 1029 811 1 2 811 748 1030 1 2 957 1030 748 1 2 760 1031 818 -1 2 1032 1031 759 -1 2 82 1032 759 -1 2 819 1032 83 -1 2 69 1034 839 +1 2 759 1032 1031 +1 2 759 82 1032 +1 2 83 819 1032 +1 2 839 69 1034 1 2 830 80 1033 1 2 70 844 1034 -1 2 1036 1035 840 +1 2 1035 840 1036 1 2 1037 902 906 -1 2 1038 1036 840 -1 2 1039 1036 1038 +1 2 1036 840 1038 +1 2 1038 1039 1036 1 2 871 1035 1037 -1 2 1037 1035 1036 +1 2 1036 1037 1035 1 2 846 1038 840 1 2 940 1038 849 -1 2 1039 940 1040 +1 2 1040 1039 940 1 2 902 1036 1039 1 2 940 72 1040 1 2 1043 1042 73 1 2 908 1041 907 1 2 1039 1041 902 -1 2 1044 1072 74 -1 2 1040 72 1042 +1 2 74 1044 1072 +1 2 1042 1040 72 1 2 907 1040 1043 -1 2 1076 1047 1074 -1 2 907 1073 909 +1 2 1047 1074 1076 +1 2 909 907 1073 1 2 66 67 1046 1 2 885 98 1045 -1 2 889 1046 67 +1 2 67 889 1046 1 2 1073 1074 1075 -1 2 1086 1047 1076 +1 2 1076 1086 1047 1 2 1091 905 1084 1 2 940 71 1048 1 2 958 96 1049 1 2 1051 1050 102 -1 2 999 1052 949 +1 2 949 999 1052 1 2 1050 1051 974 1 2 1003 1052 975 -1 2 15 1053 91 +1 2 91 15 1053 1 2 14 988 1053 1 2 1055 137 159 1 2 726 990 1054 -1 2 105 1055 159 -1 2 726 1055 805 -1 2 1057 1056 726 +1 2 159 105 1055 +1 2 805 726 1055 +1 2 1056 726 1057 1 2 1058 1056 984 1 2 726 805 1059 1 2 984 1057 1007 -1 2 1087 1058 984 +1 2 1058 984 1087 1 2 78 79 1061 -1 2 160 1059 805 +1 2 805 160 1059 1 2 138 1057 1059 1 2 933 990 1060 -1 2 990 1056 1061 +1 2 1056 1061 990 1 2 78 1061 1058 -1 2 79 1060 1061 +1 2 1061 79 1060 1 2 1090 1089 63 -1 2 1062 64 1066 -1 2 91 1063 92 +1 2 1066 1062 64 +1 2 92 91 1063 1 2 864 1063 1008 1 2 1065 1064 65 1 2 962 1064 996 1 2 1064 1066 65 -1 2 1064 1065 996 -1 2 1066 1009 1092 +1 2 1065 996 1064 +1 2 1092 1066 1009 1 2 964 1010 1067 -1 2 1016 1067 1010 +1 2 1010 1016 1067 1 2 859 1068 823 -1 2 785 1068 786 -1 2 803 1069 832 +1 2 786 785 1068 +1 2 832 803 1069 1 2 145 1069 719 -1 2 1026 1070 95 +1 2 95 1026 1070 1 2 1027 1070 1022 1 2 93 1071 1020 1 2 92 1071 1023 1 2 1043 1073 907 1 2 1044 73 1072 -1 2 1073 1044 1074 -1 2 74 1077 1044 -1 2 1077 1076 1074 -1 2 1075 1047 1085 -1 2 1073 1075 909 -1 2 1074 1044 1077 -1 2 1076 1077 1078 +1 2 1044 1074 1073 +1 2 1077 1044 74 +1 2 1074 1077 1076 +1 2 1085 1075 1047 +1 2 909 1073 1075 +1 2 1044 1077 1074 +1 2 1078 1076 1077 1 2 74 75 1077 1 2 1077 75 1078 -1 2 1079 1078 75 -1 2 900 1078 1081 +1 2 1078 75 1079 +1 2 1081 900 1078 1 2 75 76 1079 -1 2 1079 76 1080 -1 2 1083 103 1084 -1 2 1084 1080 1083 -1 2 900 1081 905 +1 2 76 1080 1079 +1 2 1084 1083 103 +1 2 1080 1083 1084 +1 2 905 900 1081 1 2 1078 1079 1081 -1 2 1091 103 102 -1 2 1080 76 1082 -1 2 1082 77 1083 +1 2 103 102 1091 +1 2 1082 1080 76 +1 2 1083 1082 77 1 2 905 1080 1084 -1 2 707 1085 710 -1 2 1075 1085 699 +1 2 710 707 1085 +1 2 699 1075 1085 1 2 904 1086 900 1 2 1085 1086 710 -1 2 2 1087 984 -1 2 1088 1 0 -1 2 78 1088 0 -1 2 1058 1087 1088 +1 2 984 2 1087 +1 2 1 0 1088 +1 2 0 78 1088 +1 2 1088 1058 1087 1 2 905 1091 1050 1 2 1062 90 1089 -1 2 1089 1090 1062 +1 2 1090 1062 1089 1 2 103 1091 1084 1 2 1015 1092 1009 1 2 997 1092 1010 boundary 155 -3 1 1 0 -3 1 0 78 -3 1 2 1 -3 1 3 2 -3 1 4 3 -3 1 5 4 -3 1 6 5 -3 1 7 6 -3 1 56 7 -3 1 942 8 -3 1 8 943 -3 1 920 9 -3 1 9 942 -3 1 10 920 -3 1 930 10 -3 1 12 11 -3 1 11 930 -3 1 13 12 -3 1 14 13 -3 1 15 14 -3 1 91 15 -3 1 17 16 -3 1 16 31 -3 1 18 17 -3 1 19 18 -3 1 20 19 -3 1 21 20 -3 1 22 21 -3 1 23 22 -3 1 24 23 -3 1 25 24 -3 1 26 25 -3 1 27 26 -3 1 28 27 -3 1 29 28 -3 1 30 29 -3 1 31 30 +1 1 1 0 +1 1 0 78 +1 1 2 1 +1 1 3 2 +1 1 4 3 +1 1 5 4 +1 1 6 5 +1 1 7 6 +1 1 56 7 +1 1 942 8 +1 1 8 943 +1 1 920 9 +1 1 9 942 +1 1 10 920 +1 1 930 10 +1 1 12 11 +1 1 11 930 +1 1 13 12 +1 1 14 13 +1 1 15 14 +1 1 91 15 +2 1 17 16 +2 1 16 31 +2 1 18 17 +2 1 19 18 +2 1 20 19 +2 1 21 20 +2 1 22 21 +2 1 23 22 +2 1 24 23 +2 1 25 24 +2 1 26 25 +2 1 27 26 +2 1 28 27 +2 1 29 28 +2 1 30 29 +2 1 31 30 3 1 33 32 3 1 32 47 3 1 34 33 @@ -2094,912 +2107,912 @@ boundary 3 1 45 44 3 1 46 45 3 1 47 46 -3 1 48 863 -3 1 943 48 -3 1 49 702 -3 1 863 49 -3 1 50 653 -3 1 702 50 -3 1 51 620 -3 1 653 51 -3 1 52 432 -3 1 620 52 -3 1 53 397 -3 1 432 53 -3 1 54 281 -3 1 340 54 -3 1 55 246 -3 1 257 55 -3 1 981 56 -3 1 808 57 -3 1 57 981 -3 1 174 58 -3 1 58 808 -3 1 59 174 -3 1 513 59 -3 1 191 60 -3 1 60 513 -3 1 189 61 -3 1 61 191 -3 1 62 189 -3 1 266 62 -3 1 1089 63 -3 1 63 1090 -3 1 64 65 -3 1 1090 64 -3 1 65 1065 -3 1 66 67 -3 1 1065 66 -3 1 67 68 -3 1 68 875 -3 1 69 70 -3 1 875 69 -3 1 70 939 -3 1 939 71 -3 1 71 1048 -3 1 72 1042 -3 1 1048 72 -3 1 1042 73 -3 1 73 1072 -3 1 74 75 -3 1 1072 74 -3 1 75 76 -3 1 76 1082 -3 1 1082 77 -3 1 77 1083 -3 1 78 79 -3 1 79 991 -3 1 991 80 -3 1 80 1033 -3 1 81 935 -3 1 1033 81 -3 1 82 83 -3 1 935 82 -3 1 83 947 -3 1 947 84 -3 1 84 992 -3 1 85 954 -3 1 992 85 -3 1 954 86 -3 1 86 955 -3 1 87 88 -3 1 955 87 -3 1 88 969 -3 1 89 90 -3 1 969 89 -3 1 90 1089 -3 1 92 91 -3 1 1023 92 -3 1 94 93 -3 1 93 1023 -3 1 95 94 -3 1 1049 95 -3 1 956 96 -3 1 96 1049 -3 1 97 956 -3 1 1045 97 -3 1 950 98 -3 1 98 1045 -3 1 99 950 -3 1 995 99 -3 1 101 100 -3 1 100 995 -3 1 1051 101 -3 1 103 102 -3 1 102 1051 -3 1 1083 103 -3 1 237 207 -3 1 207 266 -3 1 246 237 -3 1 252 272 -3 1 281 252 -3 1 255 257 -3 1 272 255 -3 1 397 340 +1 1 48 863 +1 1 943 48 +1 1 49 702 +1 1 863 49 +1 1 50 653 +1 1 702 50 +1 1 51 620 +1 1 653 51 +1 1 52 432 +1 1 620 52 +1 1 53 397 +1 1 432 53 +1 1 54 281 +1 1 340 54 +1 1 55 246 +1 1 257 55 +1 1 981 56 +1 1 808 57 +1 1 57 981 +1 1 174 58 +1 1 58 808 +1 1 59 174 +1 1 513 59 +1 1 191 60 +1 1 60 513 +1 1 189 61 +1 1 61 191 +1 1 62 189 +1 1 266 62 +1 1 1089 63 +1 1 63 1090 +1 1 64 65 +1 1 1090 64 +1 1 65 1065 +1 1 66 67 +1 1 1065 66 +1 1 67 68 +1 1 68 875 +1 1 69 70 +1 1 875 69 +1 1 70 939 +1 1 939 71 +1 1 71 1048 +1 1 72 1042 +1 1 1048 72 +1 1 1042 73 +1 1 73 1072 +1 1 74 75 +1 1 1072 74 +1 1 75 76 +1 1 76 1082 +1 1 1082 77 +1 1 77 1083 +1 1 78 79 +1 1 79 991 +1 1 991 80 +1 1 80 1033 +1 1 81 935 +1 1 1033 81 +1 1 82 83 +1 1 935 82 +1 1 83 947 +1 1 947 84 +1 1 84 992 +1 1 85 954 +1 1 992 85 +1 1 954 86 +1 1 86 955 +1 1 87 88 +1 1 955 87 +1 1 88 969 +1 1 89 90 +1 1 969 89 +1 1 90 1089 +1 1 92 91 +1 1 1023 92 +1 1 94 93 +1 1 93 1023 +1 1 95 94 +1 1 1049 95 +1 1 956 96 +1 1 96 1049 +1 1 97 956 +1 1 1045 97 +1 1 950 98 +1 1 98 1045 +1 1 99 950 +1 1 995 99 +1 1 101 100 +1 1 100 995 +1 1 1051 101 +1 1 103 102 +1 1 102 1051 +1 1 1083 103 +1 1 237 207 +1 1 207 266 +1 1 246 237 +1 1 252 272 +1 1 281 252 +1 1 255 257 +1 1 272 255 +1 1 397 340 vertices 1093 2 --1.0000000000000129 -1.0000000000000142 --1.0000000000000142 -0.8685714285714287 --1.0000000000000142 -0.7371428571428573 --1.0000000000000142 -0.6057142857142859 --1.0000000000000142 -0.47428571428571453 --1.0000000000000142 -0.3428571428571432 --1.0000000000000142 -0.21142857142857174 +-1.000000000000013 -1.000000000000014 +-1.000000000000014 -0.8685714285714287 +-1.000000000000014 -0.7371428571428573 +-1.000000000000014 -0.6057142857142859 +-1.000000000000014 -0.4742857142857145 +-1.000000000000014 -0.3428571428571432 +-1.000000000000014 -0.2114285714285717 -0.9999999999999973 -0.08000000000000279 -0.9999999999999997 0.08 --1.0000000000000142 0.21142857142857116 --1.0000000000000142 0.34285714285714264 --1.0000000000000142 0.4742857142857141 --1.0000000000000142 0.6057142857142855 --1.0000000000000142 0.737142857142857 --1.0000000000000142 0.8685714285714284 --1.0000000000000129 1.0000000000000142 +-1.000000000000014 0.2114285714285712 +-1.000000000000014 0.3428571428571426 +-1.000000000000014 0.4742857142857141 +-1.000000000000014 0.6057142857142855 +-1.000000000000014 0.737142857142857 +-1.000000000000014 0.8685714285714284 +-1.000000000000013 1.000000000000014 -0.374999999999999 0.5 -0.3850903212891824 0.5492012778144729 -0.4137322518172297 0.5904592484131634 --0.45491624881001647 0.6165866861122654 +-0.4549162488100165 0.6165866861122654 -0.5 0.625000000000001 -0.5492012778144729 0.6149096787108176 -0.5904592484131634 0.5862677481827703 -0.6165866861122654 0.5450837511899836 -0.625000000000001 0.5 -0.6149096787108176 0.450798722185527 --0.5862677481827703 0.40954075158683667 +-0.5862677481827703 0.4095407515868367 -0.5450837511899836 0.3834133138877346 -0.5 0.374999999999999 -0.450798722185527 0.3850903212891824 --0.40954075158683656 0.4137322518172297 --0.3834133138877346 0.45491624881001647 +-0.4095407515868366 0.4137322518172297 +-0.3834133138877346 0.4549162488100165 -0.374999999999999 -0.5 -0.3850903212891824 -0.450798722185527 --0.4137322518172297 -0.40954075158683656 --0.45491624881001647 -0.3834133138877346 +-0.4137322518172297 -0.4095407515868366 +-0.4549162488100165 -0.3834133138877346 -0.5 -0.374999999999999 -0.5492012778144729 -0.3850903212891824 -0.5904592484131634 -0.4137322518172297 --0.6165866861122654 -0.45491624881001647 +-0.6165866861122654 -0.4549162488100165 -0.625000000000001 -0.5 -0.6149096787108176 -0.5492012778144729 -0.5862677481827703 -0.5904592484131632 -0.5450837511899836 -0.6165866861122654 -0.5 -0.625000000000001 -0.450798722185527 -0.6149096787108176 --0.40954075158683656 -0.5862677481827703 +-0.4095407515868366 -0.5862677481827703 -0.3834133138877346 -0.5450837511899836 -0.8749999999999993 0.07000000000000016 -0.7499999999999989 0.06000000000000015 -0.6249999999999982 0.05000000000000014 --0.4999999999999978 0.040000000000000126 +-0.4999999999999978 0.04000000000000013 -0.3749999999999972 0.03000000000000012 --0.24999999999999664 0.020000000000000108 --0.12499999999999609 0.010000000000000099 +-0.2499999999999966 0.02000000000000011 +-0.1249999999999961 0.0100000000000001 4.88640012733244e-15 -3.552713678800489e-16 -0.8749999999999992 -0.07000000000000309 -0.7499999999999987 -0.06000000000000308 -0.6249999999999981 -0.05000000000000307 --0.49999999999999756 -0.04000000000000306 +-0.4999999999999976 -0.04000000000000306 -0.374999999999997 -0.03000000000000305 --0.2499999999999965 -0.020000000000002596 --0.12499999999999595 -0.010000000000002585 -1.0000000000000142 -1.0000000000000142 -1.0000000000000142 -0.8571428571428572 -1.0000000000000142 -0.7142857142857143 -1.0000000000000142 -0.5714285714285714 -1.0000000000000142 -0.4285714285714286 -1.0000000000000142 -0.2857142857142858 -1.0000000000000142 -0.1428571428571429 -1.0000000000000142 0. -1.0000000000000142 0.1428571428571428 -1.0000000000000142 0.2857142857142856 -1.0000000000000142 0.4285714285714284 -1.0000000000000142 0.5714285714285714 -1.0000000000000142 0.7142857142857142 -1.0000000000000142 0.857142857142857 -1.0000000000000142 1.0000000000000124 --0.8571428571428572 -1.0000000000000142 --0.7142857142857143 -1.0000000000000142 --0.5714285714285714 -1.0000000000000142 --0.4285714285714286 -1.0000000000000142 --0.2857142857142858 -1.0000000000000142 --0.1428571428571429 -1.0000000000000142 -0. -1.0000000000000142 -0.1428571428571428 -1.0000000000000142 -0.2857142857142856 -1.0000000000000142 -0.4285714285714284 -1.0000000000000142 -0.5714285714285714 -1.0000000000000142 -0.7142857142857142 -1.0000000000000142 -0.857142857142857 -1.0000000000000142 --0.8571428571428572 1.0000000000000142 --0.7142857142857143 1.0000000000000142 --0.5714285714285714 1.0000000000000142 --0.4285714285714286 1.0000000000000142 --0.2857142857142858 1.0000000000000142 --0.1428571428571429 1.0000000000000142 -0. 1.0000000000000142 -0.1428571428571428 1.0000000000000142 -0.2857142857142856 1.0000000000000142 -0.4285714285714284 1.0000000000000142 -0.5714285714285714 1.0000000000000142 -0.7142857142857142 1.0000000000000142 -0.857142857142857 1.0000000000000142 +-0.2499999999999965 -0.0200000000000026 +-0.1249999999999959 -0.01000000000000258 +1.000000000000014 -1.000000000000014 +1.000000000000014 -0.8571428571428572 +1.000000000000014 -0.7142857142857143 +1.000000000000014 -0.5714285714285714 +1.000000000000014 -0.4285714285714286 +1.000000000000014 -0.2857142857142858 +1.000000000000014 -0.1428571428571429 +1.000000000000014 0 +1.000000000000014 0.1428571428571428 +1.000000000000014 0.2857142857142856 +1.000000000000014 0.4285714285714284 +1.000000000000014 0.5714285714285714 +1.000000000000014 0.7142857142857142 +1.000000000000014 0.857142857142857 +1.000000000000014 1.000000000000012 +-0.8571428571428572 -1.000000000000014 +-0.7142857142857143 -1.000000000000014 +-0.5714285714285714 -1.000000000000014 +-0.4285714285714286 -1.000000000000014 +-0.2857142857142858 -1.000000000000014 +-0.1428571428571429 -1.000000000000014 +0 -1.000000000000014 +0.1428571428571428 -1.000000000000014 +0.2857142857142856 -1.000000000000014 +0.4285714285714284 -1.000000000000014 +0.5714285714285714 -1.000000000000014 +0.7142857142857142 -1.000000000000014 +0.857142857142857 -1.000000000000014 +-0.8571428571428572 1.000000000000014 +-0.7142857142857143 1.000000000000014 +-0.5714285714285714 1.000000000000014 +-0.4285714285714286 1.000000000000014 +-0.2857142857142858 1.000000000000014 +-0.1428571428571429 1.000000000000014 +0 1.000000000000014 +0.1428571428571428 1.000000000000014 +0.2857142857142856 1.000000000000014 +0.4285714285714284 1.000000000000014 +0.5714285714285714 1.000000000000014 +0.7142857142857142 1.000000000000014 +0.857142857142857 1.000000000000014 -0.7071751319408466 -0.5424879949723013 -0.6119924890445799 -0.6765308326497387 -0.4575120050276987 -0.7071751319408467 -0.6206045045936441 -0.3262722863697469 --0.46254363983270796 -0.29928560317638253 +-0.462543639832708 -0.2992856031763825 -0.7071751319408467 0.4575120050276987 -0.6119924890445798 0.3234691673502613 -0.4575120050276987 0.2928248680591533 -0.6206045045936442 0.6737277136302531 --0.46254363983270796 0.7007143968236175 --0.32346916735026127 -0.6119924890445797 --0.32627228636974703 -0.37939549540635575 --0.32346916735026127 0.3880075109554203 +-0.462543639832708 0.7007143968236175 +-0.3234691673502613 -0.6119924890445797 +-0.326272286369747 -0.3793954954063558 +-0.3234691673502613 0.3880075109554203 -0.3262722863697469 0.6206045045936442 -0.6959814438674389 -0.4634268808626838 -0.5361743436401446 -0.6938445575542642 -0.6642573872037073 -0.6140300553987131 -0.5392849109870473 -0.3084433821287207 --0.3957270917564327 -0.33563734075309715 +-0.3957270917564327 -0.3356373407530971 -0.695981443867439 0.5365731191373162 --0.5361743436401446 0.30615544244573584 --0.6642573872037073 0.38596994460128675 +-0.5361743436401446 0.3061554424457358 +-0.6642573872037073 0.3859699446012868 -0.5392849109870473 0.6915566178712793 -0.3957270917564327 0.6643626592469029 -0.3859699446012867 -0.6642573872037074 -0.306155442445736 -0.5361743436401446 -0.3859699446012867 0.3357426127962925 -0.306155442445736 0.4638256563598554 --0.6629916920787488 -0.39659684364767667 +-0.6629916920787488 -0.3965968436476767 -0.6629916920787489 0.6034031563523236 -0.3106717103861973 -0.4611720801533147 -0.3106717103861973 0.5388279198466853 --0.8417318329151869 -0.48311411692582573 +-0.8417318329151869 -0.4831141169258257 -0.6047758743230432 -0.8195923512248753 -0.8125405966573046 -0.6543403470405131 --0.5163270627920392 -0.17470687682730263 +-0.5163270627920392 -0.1747068768273026 -0.3750512365588452 -0.3798196322904925 --0.2834285522676665 -0.23439220837658964 +-0.2834285522676665 -0.2343922083765896 -0.8417318329151872 0.5168858830741743 --0.6034940161046602 0.18602100542282227 +-0.6034940161046602 0.1860210054228223 -0.8125405966573047 0.3456596529594866 -0.5171484911688178 0.8321766107655203 --0.28342855226766644 0.7656077916234105 --0.34565965295948675 -0.8125405966573049 --0.18040764877512522 -0.6047758743230426 --0.3719877551568152 0.38252517138634645 --0.43573884669333585 0.3376175992297389 --0.34565965295948686 0.18745940334269506 +-0.2834285522676664 0.7656077916234105 +-0.3456596529594868 -0.8125405966573049 +-0.1804076487751252 -0.6047758743230426 +-0.3719877551568152 0.3825251713863465 +-0.4357388466933358 0.3376175992297389 +-0.3456596529594869 0.1874594033426951 -0.3416327066436727 0.4320412528272201 --0.18040764877512522 0.39522412567695736 +-0.1804076487751252 0.3952241256769574 -0.7664641382071817 -0.2862937747986417 -0.7664641382071814 0.7137062252013584 --0.34357195267416785 -0.4250721235289139 --0.7660802283890393 -0.49382507733734216 +-0.3435719526741678 -0.4250721235289139 +-0.7660802283890393 -0.4938250773373422 -0.5117938032916486 -0.7887319575715519 -0.5882088035942443 -0.7470438624179795 -0.744083786715813 -0.6132734295226729 --0.5079405121535124 -0.24498533189270516 --0.3976103674908555 -0.19887238084851733 --0.6104819934743851 -0.22158230728411746 --0.4604054685926838 -0.20367320022700852 +-0.5079405121535124 -0.2449853318927052 +-0.3976103674908555 -0.1988723808485173 +-0.6104819934743851 -0.2215823072841175 +-0.4604054685926838 -0.2036732002270085 -0.5645126786647513 -0.25651227270274 --0.42510733882826524 -0.25229267834380575 --0.35269682363983557 -0.25577757192890826 --0.4359003435066477 -0.11111931468675963 --0.3336572870791951 -0.19457319688558763 --0.39048563440992057 -0.2869388274999574 +-0.4251073388282652 -0.2522926783438058 +-0.3526968236398356 -0.2557775719289083 +-0.4359003435066477 -0.1111193146867596 +-0.3336572870791951 -0.1945731968855876 +-0.3904856344099206 -0.2869388274999574 -0.3357631899701743 -0.3174599726690607 --0.46903398159032056 -0.1518676579273463 --0.4932321935387683 -0.0983462789389642 +-0.4690339815903206 -0.1518676579273463 +-0.4932321935387683 -0.09834627893896419 -0.5624999999999978 -0.04500000000000306 --0.24235691838246376 -0.13099396238873715 --0.36981573158735787 -0.13451431757877275 --0.22122314228672244 -0.3316029801756051 +-0.2423569183824638 -0.1309939623887371 +-0.3698157315873579 -0.1345143175787727 +-0.2212231422867224 -0.3316029801756051 -0.3082862819526927 -0.27675116237997 --0.2787161350450456 -0.32633723593473923 --0.2558146404413121 -0.27907020043115743 --0.19406538578725172 -0.21003254046237582 --0.23514587177366472 -0.23542295900283078 --0.19894919797021374 -0.27928095451429846 +-0.2787161350450456 -0.3263372359347392 +-0.2558146404413121 -0.2790702004311574 +-0.1940653857872517 -0.2100325404623758 +-0.2351458717736647 -0.2354229590028308 +-0.1989491979702137 -0.2792809545142985 -0.2390196759390494 -0.1832269860657055 --0.19108814353089382 -0.15394144960944034 --0.2897737792982758 -0.16024661574868215 --0.25597695511487495 -0.39455981110577076 --0.11733365252008159 -0.3449275259851828 --0.18749999999999623 -0.015000000000002591 --0.27555184833029334 -0.19637383424356908 +-0.1910881435308938 -0.1539414496094403 +-0.2897737792982758 -0.1602466157486822 +-0.2559769551148749 -0.3945598111057708 +-0.1173336525200816 -0.3449275259851828 +-0.1874999999999962 -0.01500000000000259 +-0.2755518483302933 -0.1963738342435691 -0.3124999999999968 -0.0250000000000026 --0.33137069219744764 -0.15228251830683615 +-0.3313706921974476 -0.1522825183068361 -0.1673992914617242 -0.3236141452461556 -0.09314273422439209 -0.1872648242353132 --0.20285540918435496 -0.11148608534725743 --0.1380169967506791 -0.11637339294070478 --0.23791207621860833 -0.07166116671454524 --0.16955632339912366 -0.10225664649396182 --0.13418372673542264 -0.06551857411324366 +-0.202855409184355 -0.1114860853472574 +-0.1380169967506791 -0.1163733929407048 +-0.2379120762186083 -0.07166116671454524 +-0.1695563233991237 -0.1022566464939618 +-0.1341837267354226 -0.06551857411324366 -0.04594879709799811 -0.09774131379360626 --0.19631762204342273 -0.07038895051413227 --0.16499203843288265 -0.07125331416015535 --0.15581164457854335 -0.03495049669087273 +-0.1963176220434227 -0.07038895051413227 +-0.1649920384328827 -0.07125331416015535 +-0.1558116445785434 -0.03495049669087273 -0.09461050248264272 -0.09407335350109067 --0.12314713303710673 -0.0919223555669124 --0.09806962362267305 -0.14073512881791253 --0.06249999999999566 -0.0050000000000025805 --0.11059889121234123 -0.11634720864017868 --0.14173110974624348 -0.16739654093508907 --0.03994731574465397 -0.15810642703189953 --0.07203582393982717 -0.11920595801953791 --0.0689977166852234 -0.14938479966477552 --0.06241877715364941 -0.18021338782791302 +-0.1231471330371067 -0.0919223555669124 +-0.09806962362267305 -0.1407351288179125 +-0.06249999999999566 -0.005000000000002581 +-0.1105988912123412 -0.1163472086401787 +-0.1417311097462435 -0.1673965409350891 +-0.03994731574465397 -0.1581064270318995 +-0.07203582393982717 -0.1192059580195379 +-0.06899771668522341 -0.1493847996647755 +-0.06241877715364941 -0.180213387827913 -0.04298542299925773 -0.1279275853866619 -0.012032391536505281 -0.13763128015859394 --0.011385960850805843 -0.10958688652534193 --0.01684498793018532 -0.14053836907482947 -0.00274716848347787 -0.19027645211230101 +0.01203239153650528 -0.1376312801585939 +-0.01138596085080584 -0.1095868865253419 +-0.01684498793018532 -0.1405383690748295 +0.00274716848347787 -0.190276452112301 -0.06528050419311048 -0.2382042062104621 0.05003818874855961 -0.08209480489594434 -0.01170409924501212 -0.05416889441636519 --0.030585139796971986 -0.1900974333391219 -0.02320320924932298 -0.10450324112165284 --0.021219719533755968 -0.08193343001785518 +-0.03058513979697199 -0.1900974333391219 +0.02320320924932298 -0.1045032411216528 +-0.02121971953375597 -0.08193343001785518 0.009293603943470872 -0.07687823891433304 --0.056221707807815435 -0.054424456914447465 -0.029057130882582632 -0.0842413541335959 -0.032228139460656266 -0.04552451535404184 +-0.05622170780781544 -0.05442445691444747 +0.02905713088258263 -0.0842413541335959 +0.03222813946065627 -0.04552451535404184 -0.04352313906950159 -0.07428947463214661 -0.03396353129557918 -0.05418732166322308 -0.07141185673495479 -0.07812589254619622 -0.019237432334747277 -0.0329729323158012 +0.01923743233474728 -0.0329729323158012 -0.02284488450528903 -0.04080688193710711 -0.0011953059506748659 -0.03208840761962206 --0.04585244979389572 -0.032127355630840196 -0.010783727382189287 -0.05249811204200904 --0.031249999999995517 -0.0025000000000025783 -0.01456489255554205 -0.015523918578379325 +0.001195305950674866 -0.03208840761962206 +-0.04585244979389572 -0.0321273556308402 +0.01078372738218929 -0.05249811204200904 +-0.03124999999999552 -0.002500000000002578 +0.01456489255554205 -0.01552391857837932 0.04783345020490691 -0.01596530141530949 -0.03113692497248322 -0.020436337973421016 +0.03113692497248322 -0.02043633797342102 0.03155927317994426 0.01139751353233372 -0.026858701811508866 -0.004459850188378425 -0.01507149048746765 0.0076595858748066716 +0.02685870181150887 -0.004459850188378425 +0.01507149048746765 0.007659585874806672 0.01144302143206812 -0.003858413300747022 -0.0021223872955222585 -0.012603243677359457 --0.015624999999995452 -0.0012500000000025772 --0.007246449626795792 -0.0077006296649979175 --0.022119341673764073 -0.018351979077895292 --0.00854849744832449 -0.021592002359001553 -0.016689067265574717 0.038756839991997014 --0.038600449281439554 -0.017289416568072948 +0.002122387295522258 -0.01260324367735946 +-0.01562499999999545 -0.001250000000002577 +-0.007246449626795792 -0.007700629664997917 +-0.02211934167376407 -0.01835197907789529 +-0.008548497448324491 -0.02159200235900155 +0.01668906726557472 0.03875683999199701 +-0.03860044928143955 -0.01728941656807295 -0.0624999999999958 0.005000000000000094 -0.020265796838377266 0.022980092727407565 -0.0030736063473700637 0.012609782486383017 --0.031249999999995663 0.0025000000000000916 +0.02026579683837727 0.02298009272740757 +0.003073606347370064 0.01260978248638302 +-0.03124999999999566 0.002500000000000092 -0.007187977043572522 0.008431536955288064 --0.015624999999995594 0.00125000000000009 --0.0071908423773292636 0.021451359251856966 --0.020001718717427504 0.014938628438245042 -0.006286746183412046 0.026718951706103063 --0.025141555636277457 0.040905143505647126 --0.006654608900713404 0.039954941014230264 +-0.01562499999999559 0.00125000000000009 +-0.007190842377329264 0.02145135925185697 +-0.0200017187174275 0.01493862843824504 +0.006286746183412046 0.02671895170610306 +-0.02514155563627746 0.04090514350564713 +-0.006654608900713404 0.03995494101423026 0.04644525267754603 0.03720902119275307 -0.04249873618436661 0.02397749686549343 --0.014213635380158463 0.07320229889456237 +-0.01421363538015846 0.07320229889456237 -0.09374999999999581 -0.007500000000002583 -0.026558513796544378 -0.06454843470914413 -0.047851854736764336 -0.06053759931257397 +0.02655851379654438 -0.06454843470914413 +0.04785185473676434 -0.06053759931257397 0.0871600003331762 -0.06744043503744963 -0.05424450365763606 -0.038248806949092766 --0.02830564538805004 0.026786890882293087 --0.04687499999999573 0.0037500000000000927 +0.05424450365763606 -0.03824880694909277 +-0.02830564538805004 0.02678689088229309 +-0.04687499999999573 0.003750000000000093 -0.06382819363429448 0.06321081303433737 0.006094042901402395 0.06033641742081701 0.09054148497211167 -0.01574202500477921 --0.047630551549416526 0.04660216068607444 -0.032713196361035465 0.060015012972266316 -0.0692189553431885 -0.021876601855408996 +-0.04763055154941653 0.04660216068607444 +0.03271319636103547 0.06001501297226632 +0.0692189553431885 -0.021876601855409 -0.03196372721145146 0.06121080147210887 --0.044346298174533116 0.09867256634620003 +-0.04434629817453312 0.09867256634620003 -0.09374999999999595 0.007500000000000097 -0.018747862349105963 0.10276926954470007 -0.07784028509025497 -0.044796015280282445 -0.070822575472024 0.012673199851599239 +0.01874786234910596 0.1027692695447001 +0.07784028509025497 -0.04479601528028244 +0.070822575472024 0.01267319985159924 0.006436821857283805 0.08333735964180139 0.1138274676780972 -0.04322490525312084 -0.06257974261232822 -0.0042563278494097325 -0.051200007091168356 0.011755805716393368 --0.013369325945042913 0.10950126789141951 +0.06257974261232822 -0.004256327849409733 +0.05120000709116836 0.01175580571639337 +-0.01336932594504291 0.1095012678914195 0.04227588943940339 -0.001225392743461538 --0.10054309363981867 -0.060596085875322336 +-0.1005430936398187 -0.06059608587532234 -0.06068640252336841 -0.02255885192532467 --0.07739210051402613 -0.015411243574622516 +-0.07739210051402613 -0.01541124357462252 -0.09653534214007822 -0.03412624023892619 -0.07621705475622727 -0.03576131853022161 -0.03187887068761587 0.043975442032587686 --0.061363290742170416 0.023830847478808086 +0.03187887068761587 0.04397544203258769 +-0.06136329074217042 0.02383084747880809 0.08000795653740801 0.07295516471867662 0.05818547287574112 0.0598153031636385 0.07204521164933127 0.03826577267722504 -0.052411592528379514 0.09409563291312914 -0.11649307665197514 0.023316870044749784 -0.09214648649777454 0.024479981784996274 -0.10574069748426582 0.05364144723644782 --0.014178435199094022 -0.23849501665088912 -0.07634467469238404 -0.14087003879162824 --0.046965856307890776 0.07702935725629165 +0.05241159252837951 0.09409563291312914 +0.1164930766519751 0.02331687004474978 +0.09214648649777454 0.02447998178499627 +0.1057406974842658 0.05364144723644782 +-0.01417843519909402 -0.2384950166508891 +0.07634467469238404 -0.1408700387916282 +-0.04696585630789078 0.07702935725629165 -0.07259977029509729 0.09111205723255632 --0.10661493769156136 0.06508896536782269 --0.071875731202838 0.1449779236753619 +-0.1066149376915614 0.06508896536782269 +-0.07187573120283799 0.1449779236753619 -0.06464126895267687 0.1179428821960331 --0.03683467449103204 0.12690581604027798 --0.11618417056091135 0.11863569711125332 +-0.03683467449103204 0.126905816040278 +-0.1161841705609113 0.1186356971112533 0.005751462319763902 0.1598011316365471 --0.01090251490206184 0.13734772596093145 -0.018740221577840374 0.13276426687475779 --0.03724379294813443 0.17428832412343084 -0.06017474460877618 0.16930818625790292 --0.024492971901021336 0.0916006987278366 +-0.01090251490206184 0.1373477259609314 +0.01874022157784037 0.1327642668747578 +-0.03724379294813443 0.1742883241234308 +0.06017474460877618 0.1693081862579029 +-0.02449297190102134 0.0916006987278366 -0.07884889805851539 -0.05751463670758058 0.03169082688507264 0.08333902450450421 -0.12477900500083115 -0.010339336157074362 -0.16487399689691468 0.05754016068476358 -0.14342118806211013 -0.10260673308948909 -0.05490260200610401 -0.11519231745660125 -0.09968489420725996 0.12722318163142318 --0.08919628632418164 0.038748712460497506 -0.15815723371103 0.015726228645292745 -0.13585716672743053 0.04725147773775989 -0.13521409254785394 0.09512706023230352 -0.12024995270492535 -0.07708929994916218 -0.043837371231627044 -0.1462237084115054 -0.0923472448995991 -0.10571574340870561 -0.08127848523739216 0.10319580639264725 -0.10642578497795203 0.08699225828854933 +0.1247790050008312 -0.01033933615707436 +0.1648739968969147 0.05754016068476358 +0.1434211880621101 -0.1026067330894891 +0.05490260200610401 -0.1151923174566012 +0.09968489420725996 0.1272231816314232 +-0.08919628632418164 0.03874871246049751 +0.15815723371103 0.01572622864529274 +0.1358571667274305 0.04725147773775989 +0.1352140925478539 0.09512706023230352 +0.1202499527049253 -0.07708929994916218 +0.04383737123162704 -0.1462237084115054 +0.0923472448995991 -0.1057157434087056 +0.08127848523739216 0.1031958063926472 +0.106425784977952 0.08699225828854933 0.06528195020906608 0.1345140042552785 -0.06893695558602843 0.04312391586055166 -0.118356106188646 0.03839504969015933 --0.15980647048205324 0.07255586028038086 --0.18749999999999636 0.015000000000000104 +-0.1598064704820532 0.07255586028038086 +-0.1874999999999964 0.0150000000000001 -0.1546961501952247 0.03192312255964426 -0.17760027832303882 -0.04619617521707682 +0.1776002783230388 -0.04619617521707682 0.02132045626447457 -0.1664108708616573 -0.05434090421926988 -0.21126897697656116 +0.05434090421926988 -0.2112689769765612 0.05223226646259275 -0.1782387891531945 -0.1461328989939032 -0.035716922808059354 -0.15351443997880668 -0.07016240837419063 -0.11183999643259629 -0.1910158500246062 -0.17073057667852024 -0.01433952877973304 -0.20804287905990831 -0.1008768387063271 -0.21774219897693792 0.02298241845121951 -0.18511018941592483 -0.0778297018474637 -0.21474866407996135 -0.02151631163723633 -0.1759498244630084 -0.10987755216671179 -0.21031332097251326 -0.055138186244774345 -0.14891778652708423 -0.15441542770395944 +0.1461328989939032 -0.03571692280805935 +0.1535144399788067 -0.07016240837419063 +0.1118399964325963 -0.1910158500246062 +0.1707305766785202 -0.01433952877973304 +0.2080428790599083 -0.1008768387063271 +0.2177421989769379 0.02298241845121951 +0.1851101894159248 -0.0778297018474637 +0.2147486640799613 -0.02151631163723633 +0.1759498244630084 -0.1098775521667118 +0.2103133209725133 -0.05513818624477435 +0.1489177865270842 -0.1544154277039594 0.2721333010597322 -0.04618988870835376 -0.2071086055946176 -0.15926163354072523 --0.12475032824527275 -0.038560160210419775 --0.10149050830129454 0.09363315765460789 --0.13369572017633968 0.09152548529427458 +0.2071086055946176 -0.1592616335407252 +-0.1247503282452728 -0.03856016021041977 +-0.1014905083012945 0.09363315765460789 +-0.1336957201763397 0.09152548529427458 -0.172998872123462 0.1361237378226838 --0.16340371508178111 0.10496217998513822 --0.22344213922166178 0.10353339245048723 +-0.1634037150817811 0.1049621799851382 +-0.2234421392216618 0.1035333924504872 -0.1929714676490015 0.08527721400260847 --0.22919540386592152 0.05937405326828454 --0.18734109728866463 0.05036397037670562 +-0.2291954038659215 0.05937405326828454 +-0.1873410972886646 0.05036397037670562 0.07409897533885677 -0.08869967850570303 -0.04254277963466498 0.11949647273236234 -0.18633094994942195 0.032646993940479554 +0.04254277963466498 0.1194964727323623 +0.186330949949422 0.03264699394047955 0.2188125428186007 0.08233899650486909 -0.11460510862493142 -0.13706714395522224 +0.1146051086249314 -0.1370671439552222 0.09788889612274042 -0.1632555785987142 --0.12675535419056563 -0.1428399125375136 --0.15812053259560516 -0.14055675633681872 --0.17251140913242066 -0.1830520380481651 --0.13545940969364084 -0.2347515438462374 --0.03962585389135656 -0.22014193637193424 --0.040174236563823476 -0.31650535827101467 -0.009935630435352852 0.24326345452347925 -0.01941581000340587 -0.22320733358043685 +-0.1267553541905656 -0.1428399125375136 +-0.1581205325956052 -0.1405567563368187 +-0.1725114091324207 -0.1830520380481651 +-0.1354594096936408 -0.2347515438462374 +-0.03962585389135656 -0.2201419363719342 +-0.04017423656382348 -0.3165053582710147 +0.009935630435352852 0.2432634545234793 +0.01941581000340587 -0.2232073335804368 0.02971953212790171 -0.2904045043360499 0.04911697038383081 -0.253041636092146 -0.10565230949217304 -0.3061093771403066 -0.09596269672857528 -0.23768701644777152 +0.105652309492173 -0.3061093771403066 +0.09596269672857528 -0.2376870164477715 0.06990071448642374 -0.2875484531730158 -0.054873114130656084 -0.36020663043787526 -0.24544177667678813 -0.07980762172591699 -0.24950107399673574 -0.13074012526535497 -0.30614314939985254 -0.10059776382705089 -0.2571293662746911 -0.0020173056514647125 -0.17922103421516103 -0.14233541336572383 -0.17618656277793862 -0.17877183070264213 -0.2262337815464091 -0.22383298368287513 --0.12644576034962382 0.1863312039387485 +0.05487311413065608 -0.3602066304378753 +0.2454417766767881 -0.07980762172591699 +0.2495010739967357 -0.130740125265355 +0.3061431493998525 -0.1005977638270509 +0.2571293662746911 -0.002017305651464713 +0.179221034215161 -0.1423354133657238 +0.1761865627779386 -0.1787718307026421 +0.2262337815464091 -0.2238329836828751 +-0.1264457603496238 0.1863312039387485 -0.3046010978356992 0.09165267394122523 --0.2187499999999965 0.017500000000000106 +-0.2187499999999965 0.01750000000000011 0.1785585341638184 0.09883445622064671 -0.15236622790669074 0.14982663184387926 -0.15500637365058195 0.11895977990425907 -0.19131940195042535 0.1376120916899108 -0.1934958250402658 0.21277259347435817 -0.18180803678173474 0.17549927458703513 -0.2537272428417483 0.17341670971644782 -0.12157661898025227 0.21485515834494548 -0.1461421293176539 0.18668302711920673 -0.10384524730462294 0.1745974006668038 -0.0773662840903147 0.21029369173231735 --0.12669262813327775 -0.19996573963776054 +0.1523662279066907 0.1498266318438793 +0.155006373650582 0.1189597799042591 +0.1913194019504253 0.1376120916899108 +0.1934958250402658 0.2127725934743582 +0.1818080367817347 0.1754992745870351 +0.2537272428417483 0.1734167097164478 +0.1215766189802523 0.2148551583449455 +0.1461421293176539 0.1866830271192067 +0.1038452473046229 0.1745974006668038 +0.07736628409031469 0.2102936917323174 +-0.1266926281332778 -0.1999657396377605 -0.09981690955063438 -0.2252366192615932 --0.10278779487807743 -0.28562291211428437 --0.039928084859887275 -0.2732508542749708 +-0.1027877948780774 -0.2856229121142844 +-0.03992808485988728 -0.2732508542749708 -0.003085290283944886 -0.2736301488180951 --0.0020269652488559275 -0.31202503813222043 --0.013158229270066487 -0.3818897866924651 -0.032626199811906606 -0.32879024978023874 --0.003926802051904293 0.20212236911557535 -0.028975896322250443 0.18737948834785298 +-0.002026965248855928 -0.3120250381322204 +-0.01315822927006649 -0.3818897866924651 +0.03262619981190661 -0.3287902497802387 +-0.003926802051904293 0.2021223691155754 +0.02897589632225044 0.187379488347853 -0.069927380793169 0.2472671804400224 --0.04329367865245297 0.21538698437058382 --0.08672499199919763 0.20616852890550227 -0.27128051966585026 -0.1033762995284421 -0.29191257018577765 -0.14214705621459758 -0.25834519442252873 -0.1824046934323198 -0.3726832931420232 -0.14659930122865325 -0.26368725395307185 0.05184185655582739 -0.1527827900997425 -0.23098065826309122 --0.10756202817325854 0.15456818269396883 --0.08302852971284576 0.17466850341055548 --0.14300004291274634 0.1549944787457703 +-0.04329367865245297 0.2153869843705838 +-0.08672499199919763 0.2061685289055023 +0.2712805196658503 -0.1033762995284421 +0.2919125701857777 -0.1421470562145976 +0.2583451944225287 -0.1824046934323198 +0.3726832931420232 -0.1465993012286533 +0.2636872539530719 0.05184185655582739 +0.1527827900997425 -0.2309806582630912 +-0.1075620281732585 0.1545681826939688 +-0.08302852971284576 0.1746685034105555 +-0.1430000429127463 0.1549944787457703 -0.1902742706486188 0.2000090175562612 --0.3124999999999969 0.025000000000000112 -0.12145333426901764 0.14918128896699515 +-0.3124999999999969 0.02500000000000011 +0.1214533342690176 0.1491812889669951 0.09138522958648877 0.2909471526523504 --0.13295187448020096 0.24904416067154703 -0.3288423475427263 -0.20706290644824726 +-0.132951874480201 0.249044160671547 +0.3288423475427263 -0.2070629064482473 0.3429371376953981 0.002494240112421959 --0.1439677407346622 0.12621255536464196 +-0.1439677407346622 0.126212555364642 -0.2640447832603038 0.09775127492960782 --0.25329824983985805 0.16773707518288453 --0.2907849959847577 0.13767529792320793 --0.27835611362277873 0.05502197073337867 -0.09574998300697961 0.24864338791631505 -0.15917356161834587 0.270357691820179 -0.051619434898504866 0.26546720573177546 --0.11790300281804864 0.21891143127232388 +-0.253298249839858 0.1677370751828845 +-0.2907849959847577 0.1376752979232079 +-0.2783561136227787 0.05502197073337867 +0.09574998300697961 0.248643387916315 +0.1591735616183459 0.270357691820179 +0.05161943489850487 0.2654672057317755 +-0.1179030028180486 0.2189114312723239 -0.15644616445202 0.218486440457911 --0.19886942755647347 0.2754141953994567 +-0.1988694275564735 0.2754141953994567 0.2982140342146841 -0.1815245943780019 -0.27938124529722175 -0.2318689686297568 -0.33663201412047294 -0.1665851400954903 +0.2793812452972217 -0.2318689686297568 +0.3366320141204729 -0.1665851400954903 0.3760367570640354 -0.1951567276723285 -0.3006694967450706 -0.011862650167675482 --0.2979069602368446 0.18496001259471842 --0.3479847255836295 0.12976166821731513 -0.026333415413668515 0.34870096312704446 +0.3006694967450706 -0.01186265016767548 +-0.2979069602368446 0.1849600125947184 +-0.3479847255836295 0.1297616682173151 +0.02633341541366852 0.3487009631270445 0.04452259998653401 0.2285612804826644 -0.3735459227583512 -0.28477248578948844 -0.46043894682500697 -0.164933248024799 -0.3180401348117894 -0.055327515839677516 -0.30827631647969694 0.035140185859336745 --0.2529062320380952 0.23513386639335576 -0.007749083291708391 0.29759736654531266 +0.3735459227583512 -0.2847724857894884 +0.460438946825007 -0.164933248024799 +0.3180401348117894 -0.05532751583967752 +0.3082763164796969 0.03514018585933674 +-0.2529062320380952 0.2351338663933558 +0.007749083291708391 0.2975973665453127 0.3619115242602418 -0.09105526551062741 0.3834789829771435 0.08026128724518188 --0.31851212076691254 0.2487081116156557 -0.31227933327786805 0.1136985493117499 -0.35224089324312546 0.047095213522439394 -0.29780464759082925 0.07505495030412285 +-0.3185121207669125 0.2487081116156557 +0.3122793332778681 0.1136985493117499 +0.3522408932431255 0.04709521352243939 +0.2978046475908293 0.07505495030412285 0.26126646451833 0.1107736950897185 0.4266542374150381 0.00830173482490397 -0.28487200886698977 0.14538986126672573 -0.3547556246003092 0.17812983070967509 -0.303245327548917 0.19712536254694768 -0.22455787152869347 0.11967092169774271 --0.28378018189204535 -0.11690556823219578 --0.18462359305792841 -0.39287780706775294 --0.3315921350122285 -0.10228580556921431 +0.2848720088669898 0.1453898612667257 +0.3547556246003092 0.1781298307096751 +0.303245327548917 0.1971253625469477 +0.2245578715286935 0.1196709216977427 +-0.2837801818920453 -0.1169055682321958 +-0.1846235930579284 -0.3928778070677529 +-0.3315921350122285 -0.1022858055692143 -0.2956302518736784 -0.07016847775659871 --0.38082601620980905 -0.0826747279062906 +-0.380826016209809 -0.0826747279062906 -0.2170546890267436 -0.03869138716566212 --0.15173435512621122 -0.279073216771798 --0.17453138503661456 -0.2455532120059929 --0.08189730673809195 -0.32218296242900474 --0.07066011385203119 -0.37866810607341966 -0.23128397386675195 0.05242616671027597 -0.14626114235931678 -0.1967071384347234 -0.12834609358348562 -0.26799832729174544 -0.18455957936102407 -0.32728367095729505 -0.17987042516504126 -0.27543678797323806 +-0.1517343551262112 -0.279073216771798 +-0.1745313850366146 -0.2455532120059929 +-0.08189730673809195 -0.3221829624290047 +-0.07066011385203119 -0.3786681060734197 +0.231283973866752 0.05242616671027597 +0.1462611423593168 -0.1967071384347234 +0.1283460935834856 -0.2679983272917454 +0.1845595793610241 -0.327283670957295 +0.1798704251650413 -0.2754367879732381 0.1480920680732098 -0.3055685560286412 -0.12778881343593823 -0.3777690894183028 -0.2479116434883698 -0.29541847051789655 -0.19058099868231757 -0.23843024155049275 -0.2193578428699558 -0.26681216416689885 --0.21534928738514056 0.14634045695996853 --0.44910435678210364 0.16273224813318427 +0.1277888134359382 -0.3777690894183028 +0.2479116434883698 -0.2954184705178965 +0.1905809986823176 -0.2384302415504927 +0.2193578428699558 -0.2668121641668988 +-0.2153492873851406 0.1463404569599685 +-0.4491043567821036 0.1627322481331843 -0.3549319083842675 0.07810427524308344 --0.40978368178639785 0.11177690166678439 -0.3249498211139076 -0.26101512267122584 +-0.4097836817863978 0.1117769016667844 +0.3249498211139076 -0.2610151226712258 0.05088465083673736 0.3108416746517942 -0.10572310748602237 0.3732938864334713 +0.1057231074860224 0.3732938864334713 0.06949650036535998 0.3498014227391301 0.04596414657712317 0.4257674353073712 -0.07355132962126157 0.3560940588955261 --0.028810251107253812 0.2689151652787957 --0.03855898768755443 0.31898224722473645 +-0.02881025110725381 0.2689151652787957 +-0.03855898768755443 0.3189822472247364 -0.02235702669032493 0.3693117718388259 --0.09490262555113256 0.30090927983326865 -0.42668458129183556 -0.1073102070639676 -0.25311888850967845 0.2382535867161245 --0.26625739431268813 -0.05104876001010904 --0.4374999999999973 -0.035000000000003056 --0.12524207428781975 -0.40501946874733485 +-0.09490262555113256 0.3009092798332687 +0.4266845812918356 -0.1073102070639676 +0.2531188885096785 0.2382535867161245 +-0.2662573943126881 -0.05104876001010904 +-0.4374999999999973 -0.03500000000000306 +-0.1252420742878197 -0.4050194687473349 0.3151767876380648 -0.3425868028785269 -0.016099001031413762 0.39234137266402647 +0.01609900103141376 0.3923413726640265 -0.04395414199935294 0.4489985006759591 -0.0006899866592326009 0.43616366677393037 -0.041756717037389306 0.5112241469553447 --0.00807846616280257 0.48972537717956055 --0.1367996138314434 0.34884231280557815 --0.10095179626996505 0.26545767783011276 --0.13335374778554449 0.2892283726425483 +0.0006899866592326009 0.4361636667739304 +0.04175671703738931 0.5112241469553447 +-0.008078466162802569 0.4897253771795606 +-0.1367996138314434 0.3488423128055781 +-0.100951796269965 0.2654576778301128 +-0.1333537477855445 0.2892283726425483 0.3626743137930225 0.2789411433399729 --0.17532554936847547 -0.49868378634181826 --0.047620322545166655 -0.48221392490859794 --0.05819538041524764 0.40236871936039015 --0.12214222610703071 0.44738838071827586 --0.10991987720603975 0.3938479449410637 --0.021272262586846606 0.5888187940285717 +-0.1753255493684755 -0.4986837863418183 +-0.04762032254516665 -0.4822139249085979 +-0.05819538041524764 0.4023687193603901 +-0.1221422261070307 0.4473883807182759 +-0.1099198772060398 0.3938479449410637 +-0.02127226258684661 0.5888187940285717 -0.1733859458218937 0.3168209513385583 -0.2550194453235015 0.3385164967573248 --0.21746267242598502 0.3154024586145823 --0.214378666927608 0.36248251716025076 +-0.217462672425985 0.3154024586145823 +-0.214378666927608 0.3624825171602508 -0.2610303241316859 0.2866807172287025 --0.24434758124038014 0.42757082924885126 --0.3201276092291826 0.31980004109956534 +-0.2443475812403801 0.4275708292488513 +-0.3201276092291826 0.3198000410995653 0.3444979640349765 0.2296522272218243 -0.4409617900353918 0.22207503140414286 +0.4409617900353918 0.2220750314041429 0.3024967589098864 0.2731369948882457 0.3937984578247843 0.239467526300156 0.4482122193756822 0.3143788560826621 --0.16422556035071473 -0.4443968012815613 --0.04453757686359611 -0.42719180839918985 +-0.1642255603507147 -0.4443968012815613 +-0.04453757686359611 -0.4271918083991899 -0.08454582900551579 0.5209196925126868 -0.3222963823161084 0.38271727295619534 -0.22982946212017885 0.3236092202237695 --0.21929409445601353 -0.4364025945228644 --0.11239850575984173 -0.48327210419260996 +0.3222963823161084 0.3827172729561953 +0.2298294621201789 0.3236092202237695 +-0.2192940944560135 -0.4364025945228644 +-0.1123985057598417 -0.48327210419261 0.0498967341536628 -0.460080133900576 -0.32785022693651583 0.3251348743947797 +0.3278502269365158 0.3251348743947797 0.2569889579418659 0.2851646376818022 0.2787621728549372 0.3293623242520383 -0.20785315204964805 0.27926805538648747 -0.24554655206737652 0.4009021693417457 +0.207853152049648 0.2792680553864875 +0.2455465520673765 0.4009021693417457 0.1746288588972819 0.3233511534982599 -0.007521575716693502 -0.42973284137848305 +0.007521575716693502 -0.4297328413784831 0.05356298014843147 -0.4102020809643828 -0.11054790861633035 -0.4394644807983274 -0.3894228419093203 0.33532935693527394 +0.1105479086163303 -0.4394644807983274 +0.3894228419093203 0.3353293569352739 0.215953047440956 0.2427214637263369 -0.23066592597913377 0.20829474877938367 -0.2020139687572501 0.36950981143522443 -0.13318693129106124 0.3066870357302705 -0.45595698911483346 0.42907145474262653 -0.16813026994096442 0.46237725142009056 -0.1536945306558032 0.36697399569136324 -0.17553350212534877 0.4124632628514338 +0.2306659259791338 0.2082947487793837 +0.2020139687572501 0.3695098114352244 +0.1331869312910612 0.3066870357302705 +0.4559569891148335 0.4290714547426265 +0.1681302699409644 0.4623772514200906 +0.1536945306558032 0.3669739956913632 +0.1755335021253488 0.4124632628514338 0.2167149080932432 0.4440772974360102 -0.11995401168703762 0.42972574182993056 -0.30247975076147077 0.4701354417627132 +0.1199540116870376 0.4297257418299306 +0.3024797507614708 0.4701354417627132 0.224863359088365 0.539354435002586 -0.43590997835643447 0.3728173684637867 -0.10911313491363427 0.49758812785372786 -0.5456564600954807 0.36540659182534985 -0.38307467534146866 0.4233451168940501 -0.49182833060256637 0.3845890754888496 -0.5527476470816055 0.47042025787547753 --0.5873952848170052 -0.12693393978741246 +0.4359099783564345 0.3728173684637867 +0.1091131349136343 0.4975881278537279 +0.5456564600954807 0.3654065918253498 +0.3830746753414687 0.4233451168940501 +0.4918283306025664 0.3845890754888496 +0.5527476470816055 0.4704202578754775 +-0.5873952848170052 -0.1269339397874125 -0.4137922071545005 -0.1537029142669051 --0.2974441459212913 -0.41627228973260816 --0.2645567962746244 -0.45035929423616755 --0.277983164058697 -0.49684084192074507 +-0.2974441459212913 -0.4162722897326082 +-0.2645567962746244 -0.4503592942361676 +-0.277983164058697 -0.4968408419207451 -0.2358190978433098 -0.5567963130020229 --0.22882712780386288 -0.4858598437101764 -0.1580237848451997 0.23065134997278286 --0.23071255698313134 0.20130523974107928 --0.20935968847912473 0.236025995444169 --0.28965920485631214 0.22283004707938994 --0.39577350535770817 0.24631229849007763 --0.22079073628229862 -0.37291260063061504 --0.34123784783621347 -0.05890190204729562 +-0.2288271278038629 -0.4858598437101764 +0.1580237848451997 0.2306513499727829 +-0.2307125569831313 0.2013052397410793 +-0.2093596884791247 0.236025995444169 +-0.2896592048563121 0.2228300470793899 +-0.3957735053577082 0.2463122984900776 +-0.2207907362822986 -0.372912600630615 +-0.3412378478362135 -0.05890190204729562 0.09632864274031738 -0.3482385299817222 --0.39473827602659767 0.16403593045446851 --0.4754624187326705 0.10174359020425566 +-0.3947382760265977 0.1640359304544685 +-0.4754624187326705 0.1017435902042557 0.5457115194208328 -0.07628454914953575 0.406763670879737 -0.0495094606427596 -0.47726929324909373 -0.05754306438024076 +0.4772692932490937 -0.05754306438024076 0.3858632329851842 -0.009991059209870427 0.3614330267716833 -0.04684332607360134 -0.24575530720377928 -0.37003997381143017 --0.18711372418060768 0.4613367694129138 --0.2901574002876976 0.42028642436406727 --0.12840276024263353 -0.5540992826709386 -0.27950983515323413 0.37319031288308546 -0.29118053331572413 0.4216188685067149 +0.2457553072037793 -0.3700399738114302 +-0.1871137241806077 0.4613367694129138 +-0.2901574002876976 0.4202864243640673 +-0.1284027602426335 -0.5540992826709386 +0.2795098351532341 0.3731903128830855 +0.2911805333157241 0.4216188685067149 0.1167681871691798 -0.5572901080503164 0.06840972087739887 0.4697044662842081 -0.16495187673322015 0.524114833158937 -0.16789200793617398 0.6379411647311908 -0.10291523257448884 0.5826683756169977 +0.1649518767332201 0.524114833158937 +0.167892007936174 0.6379411647311908 +0.1029152325744888 0.5826683756169977 0.1824744021358458 0.580613364323236 0.2768095803451209 0.6351278266505704 -0.3693392431882569 0.37811763237307894 +0.3693392431882569 0.3781176323730789 0.4093646149268598 0.5554085223566412 -0.2508413336977866 -0.6301324848272506 -0.182751572154115 -0.5514958268428627 --0.35825477531064714 0.2833693219439079 --0.35656679662978463 0.22893453792388346 --0.43749999999999745 0.03500000000000012 +-0.3582547753106471 0.2833693219439079 +-0.3565667966297846 0.2289345379238835 +-0.4374999999999974 0.03500000000000012 -0.5283486499070439 0.1607899865801775 0.4980980990186792 -0.115821315299338 -0.5919925887378209 -0.18045839165434957 -0.5541608451468996 -0.13489829942738252 -0.5230895363137356 -0.19918621148095855 +0.5919925887378209 -0.1804583916543496 +0.5541608451468996 -0.1348982994273825 +0.5230895363137356 -0.1991862114809586 0.6538421919619284 -0.09061310066125376 0.5977561589512371 -0.09869804931824779 0.6114667918534512 0.00476948928591947 -0.22669582574652639 -0.33214730485395116 -0.20112206659259024 -0.36875020783271256 -0.2713290663577154 -0.33343707083266877 -0.22115228762102201 -0.4485175136140883 -0.30127872094426283 -0.2995503978454615 --0.14379228570105904 0.5048351415511279 --0.14268252902088507 0.6179050406461007 --0.22337401675636182 0.5407713682157823 --0.12729162412372652 0.5612135866742735 +0.2266958257465264 -0.3321473048539512 +0.2011220665925902 -0.3687502078327126 +0.2713290663577154 -0.3334370708326688 +0.221152287621022 -0.4485175136140883 +0.3012787209442628 -0.2995503978454615 +-0.143792285701059 0.5048351415511279 +-0.1426825290208851 0.6179050406461007 +-0.2233740167563618 0.5407713682157823 +-0.1272916241237265 0.5612135866742735 -0.08182653635297882 0.603991626848059 --0.024652152555802144 0.7037512329358697 --0.039170657144666374 0.6458083614887009 +-0.02465215255580214 0.7037512329358697 +-0.03917065714466637 0.6458083614887009 0.04353217019640309 0.64047696765184 --0.10761022787146018 0.6937473368242524 +-0.1076102278714602 0.6937473368242524 -0.06456958747884463 -0.6716278994634678 -0.09704158385598617 -0.49925451474797067 -0.018175706877619956 -0.5462108518458586 +0.09704158385598617 -0.4992545147479707 +0.01817570687761996 -0.5462108518458586 0.1722502442076928 -0.5060610803943822 0.06864904567193868 -0.5412756725092462 0.05216108778841248 -0.633218567961369 0.08231723977574865 0.5384019833203898 0.04507480229038588 0.5826571112999117 -0.41484400452543013 0.4856692574774674 --0.40355891581124476 0.06613855235940741 +0.4148440045254301 0.4856692574774674 +-0.4035589158112448 0.06613855235940741 -0.562499999999998 0.04500000000000013 0.4537832279052366 -0.2515291319692172 -0.5306674546755517 0.0031190586131676426 -0.17007406521251964 -0.41894514301256386 --0.25083917639842973 0.48731681779411523 --0.11306075173289963 -0.6218657211158208 -0.48553685878909975 0.49378971123335186 +0.5306674546755517 0.003119058613167643 +0.1700740652125196 -0.4189451430125639 +-0.2508391763984297 0.4873168177941152 +-0.1130607517328996 -0.6218657211158208 +0.4855368587890997 0.4937897112333519 0.3534051645146935 0.5159269186513141 -0.4766350900315049 -0.20973179566112604 -0.42631370231698495 -0.20259763445203377 -0.5115556657012522 -0.25596949437174205 +0.4766350900315049 -0.209731795661126 +0.426313702316985 -0.2025976344520338 +0.5115556657012522 -0.255969494371742 0.5707527877899651 -0.2384306396934547 -0.47479790921037984 -0.356163907908105 -0.6841414914415826 -0.24709682340692474 -0.47904678103835374 -0.3008829057887082 +0.4747979092103798 -0.356163907908105 +0.6841414914415826 -0.2470968234069247 +0.4790467810383537 -0.3008829057887082 0.628669295893397 -0.2267729886163672 -0.42149599463251053 -0.324263363612873 -0.5698523874189192 -0.33566596620044126 -0.6822919553962435 -0.16627971573452555 -0.36926689269535645 -0.33882418908709344 -0.6334204795674151 -0.29967029344010354 +0.4214959946325105 -0.324263363612873 +0.5698523874189192 -0.3356659662004413 +0.6822919553962435 -0.1662797157345255 +0.3692668926953565 -0.3388241890870934 +0.6334204795674151 -0.2996702934401035 0.3488919164401829 -0.4365923306065718 0.4137986293427 -0.3976054889853577 0.3452915653226981 -0.384834860671371 0.2899868869363504 -0.4146859212756846 -0.15195468167947246 -0.4629829194242627 --0.17583180263501627 -0.7279873161201219 +0.1519546816794725 -0.4629829194242627 +-0.1758318026350163 -0.7279873161201219 -0.03917691792396856 -0.5983764073949904 0.5605698468917842 0.6012511709984986 -0.35328772312590045 0.46484431620189726 +0.3532877231259005 0.4648443162018973 0.3413602582179689 0.5923968341074456 -0.29042988646667833 0.5347494941303303 --0.5884356381261753 0.11392952342278603 -0.6654468313004138 -0.43035682089851574 +0.2904298864666783 0.5347494941303303 +-0.5884356381261753 0.113929523422786 +0.6654468313004138 -0.4303568208985157 0.2906658596366488 -0.5030094661862802 --0.12782357177084075 -0.6847588688344883 +-0.1278235717708407 -0.6847588688344883 0.5382082009254634 0.5369388471328682 0.2607923108988115 0.5818412142115156 -0.22198971378505486 0.6225553738616869 -0.22221562364943287 0.7261485780268851 --0.6841050761504173 0.13156464019557368 +0.2219897137850549 0.6225553738616869 +0.2222156236494329 0.7261485780268851 +-0.6841050761504173 0.1315646401955737 -0.5332978668665779 0.09533175985177597 -0.7326257057984329 -0.34462631513159253 +0.7326257057984329 -0.3446263151315925 0.6310034714896464 -0.3695301019500318 -0.5177627601865287 -0.48501959400009625 +0.5177627601865287 -0.4850195940000963 -0.07291899332333497 -0.7903252486494524 0.6633970325128185 0.5294539795942743 0.4805055442367442 0.5930460637433083 --0.640252390563882 0.10114479218854208 +-0.6402523905638819 0.1011447921885421 -0.6874999999999987 0.05500000000000015 -0.5837457442368781 -0.43645516975781284 -0.47810834678871356 -0.42665090733409144 +0.5837457442368781 -0.4364551697578128 +0.4781083467887136 -0.4266509073340914 -0.08548368980008955 -0.7297990916599807 -0.023497736014064755 -0.7387427472413013 +0.02349773601406475 -0.7387427472413013 0.601858176830941 0.5508512798505332 -0.41694229739929917 -0.47636213179182313 -0.5315770505527065 -0.38881850035917465 +0.4169422973992992 -0.4763621317918231 +0.5315770505527065 -0.3888185003591746 0.6705591152299328 0.649244044343501 -0.7660802283890396 0.5061749226626578 --0.5875146642129592 0.25599582781802854 --0.7085661608967737 0.25025771546052133 --0.5161820607348553 0.23433834480380467 +-0.5875146642129592 0.2559958278180285 +-0.7085661608967737 0.2502577154605213 +-0.5161820607348553 0.2343383448038047 -0.6470761806926081 0.2327852894924702 -0.7440837867158131 0.3867265704773269 -0.5083856413223105 0.7587448059954467 --0.39704807406479325 0.7995756085569206 +-0.3970480740647933 0.7995756085569206 -0.6152503750959016 0.7832310505361657 -0.3252996370342247 0.6991482238734675 --0.38672657047732695 -0.7440837867158132 +-0.3867265704773269 -0.7440837867158132 -0.699172326605716 -0.3268530153394821 -0.7644377745514768 0.6119231618142252 -0.6991723266057159 0.673146984660518 -0.7899790594676541 -0.3901032811510933 -0.7219426420656976 -0.7528840315225533 -0.8146738948019334 -0.5645231132455659 -0.3620319020731424 0.12711607025187704 -0.44630198775086344 0.13735351730813633 +0.3620319020731424 0.127116070251877 +0.4463019877508634 0.1373535173081363 0.400952668305635 0.1586932812839699 --0.08358062628231101 0.47404905325206814 +-0.08358062628231101 0.4740490532520681 -0.03348428781697094 0.5367677708398549 --0.09135496251719422 -0.43963791508688604 +-0.09135496251719422 -0.439637915086886 -0.5359213493821497 -0.1271079248118955 --0.6818638382685751 -0.12545202164279415 +-0.6818638382685751 -0.1254520216427941 -0.5720286370960457 -0.1808220336561522 --0.6270960163606745 -0.16738995262578277 --0.7024916584692246 -0.22014727368119202 --0.40898050768427985 0.29301258286596654 +-0.6270960163606745 -0.1673899526257828 +-0.7024916584692246 -0.220147273681192 +-0.4089805076842798 0.2930125828659665 -0.3059757788749382 -0.6964149963134354 --0.26812532077262147 0.5893208829450663 --0.20514452542676473 0.6024745761893109 --0.26803945944460805 0.659161258079119 --0.19139705698558496 0.6809625434963709 -0.10583157089641991 0.6450686465583466 -0.14505418419601535 0.7128377568201193 +-0.2681253207726215 0.5893208829450663 +-0.2051445254267647 0.6024745761893109 +-0.2680394594446081 0.659161258079119 +-0.191397056985585 0.6809625434963709 +0.1058315708964199 0.6450686465583466 +0.1450541841960153 0.7128377568201193 0.069634627840289 0.7112532479593939 -0.08386533828067458 0.8458110670687378 -0.5717650016186707 -0.030221419513768312 -0.6222878737154286 -0.047527358901436896 -0.7095852176771318 -0.0021961418394219195 -0.47815270833356105 -0.004487623772606543 +0.5717650016186707 -0.03022141951376831 +0.6222878737154286 -0.0475273589014369 +0.7095852176771318 -0.00219614183942192 +0.478152708333561 -0.004487623772606543 0.4936656869664949 0.07349249057171289 -0.6322501890952639 -0.14221297138540498 -0.8264831605971383 -0.20340955238719827 --0.19774785746190185 -0.6671105479034685 +0.6322501890952639 -0.142212971385405 +0.8264831605971383 -0.2034095523871983 +-0.1977478574619018 -0.6671105479034685 -0.2421874338766007 -0.7174924500128627 --0.29344082153908885 -0.7655420286266511 --0.23675727017859102 -0.8810303278698346 +-0.2934408215390888 -0.7655420286266511 +-0.236757270178591 -0.8810303278698346 -0.2200393780197913 -0.792477473246501 -0.006794746406521307 -0.6506286421470748 0.01316289286738672 -0.5983101021836008 -0.03984032071370115 -0.5400365270286022 -0.08744590160374423 -0.5261322121132845 -0.0835662739854679 -0.5757873238148065 -0.2690411628885069 -0.45901132027920316 +0.2690411628885069 -0.4590113202792032 0.2342106430063505 -0.503443456363194 -0.2072379598524474 -0.599612073224773 +0.2072379598524474 -0.5996120732247729 0.2629004952451934 -0.5633570408047682 0.205020479714993 -0.547123269635051 0.2993393984840398 -0.6801588768425894 -0.37225217239855046 -0.5771076605631202 -0.26464786389577105 -0.6268967876110075 -0.31974933394690175 -0.5529515871763839 +0.3722521723985505 -0.5771076605631202 +0.2646478638957711 -0.6268967876110075 +0.3197493339469017 -0.5529515871763839 0.3237349422691992 -0.6134240071019508 0.368870472467184 -0.5153226554263305 -0.41237242128726687 -0.6812734985780295 -0.43104855852756074 -0.5429044893025872 +0.4123724212872669 -0.6812734985780295 +0.4310485585275607 -0.5429044893025872 0.1875746402033787 -0.7150263528228755 0.3560300552700486 -0.6630562241733018 0.3550512121632705 -0.7623200297239223 0.4328204871191772 -0.6135885481667402 -0.21368270161387695 -0.6600922501924995 -0.13436854338531057 -0.6379604699876316 +0.213682701613877 -0.6600922501924995 +0.1343685433853106 -0.6379604699876316 0.5425831992785102 -0.6836798031579561 0.5159126054449333 -0.5761413316803625 0.4778171615296962 -0.6641135599161077 -0.47487613611575497 -0.7862739100885623 -0.46180398434477854 0.5423423846031332 +0.474876136115755 -0.7862739100885623 +0.4618039843447785 0.5423423846031332 0.5059923039142511 0.7390805389269646 -0.41071742035885844 0.6389041020615078 +0.4107174203588584 0.6389041020615078 -0.6831667267674242 0.317054352439327 --0.7535507793896797 0.30559051370157625 --0.8540772181983775 0.22105241062384073 +-0.7535507793896797 0.3055905137015762 +-0.8540772181983775 0.2210524106238407 -0.815736060083154 0.2774982927399544 --0.9058460171996608 0.31587830849354825 --0.7760283911234916 0.20928199641580625 --0.4894710648759822 0.19213923618065942 --0.44095041092613096 0.21633409895234862 +-0.9058460171996608 0.3158783084935483 +-0.7760283911234916 0.2092819964158062 +-0.4894710648759822 0.1921392361806594 +-0.440950410926131 0.2163340989523486 -0.8146738948019336 0.4354768867544339 -0.4022737870816311 0.7319116277857225 -0.4311082803717258 -0.8172544952940597 @@ -3007,50 +3020,50 @@ vertices -0.7271567867036222 -0.4064800979592365 -0.6868722383807663 -0.6860443000193605 -0.9145806531522986 -0.5525280327511597 --0.6342528748334478 -0.10218015067774046 +-0.6342528748334478 -0.1021801506777405 -0.6874999999999984 -0.05500000000000308 -0.6602899454274838 -0.2722389892370342 --0.24309919540900732 0.7171025754115944 --0.16310459893746063 0.7764906023158975 -0.16003848993151926 0.8562791133255216 --0.0742928600670811 0.7664305577411176 +-0.2430991954090073 0.7171025754115944 +-0.1631045989374606 0.7764906023158975 +0.1600384899315193 0.8562791133255216 +-0.07429286006708111 0.7664305577411176 0.7581320334118897 -0.09458303535323212 -0.43891018745196575 0.08237666280000083 +0.4389101874519657 0.08237666280000083 0.5697468347594044 0.06858100050623697 -0.7491512897092261 -0.20517932721309876 +0.7491512897092261 -0.2051793272130988 -0.1464185392232744 -0.795546991852366 --0.10227306852222123 -0.8970355378581432 +-0.1022730685222212 -0.8970355378581432 0.1561551270313657 -0.5909519843573591 0.09507086650784415 -0.6042791186182457 0.08954781763370023 -0.7000288394193188 0.6330537742976152 -0.5467130328861367 0.5138435660189522 0.6624690083492026 --0.826352908288334 0.14023697435752575 --0.7162075388250695 0.18681583590955608 --0.7527368231680118 0.12863951385144842 --0.47278846625477694 0.24947892360421586 --0.9084627075403329 0.44950539108689697 +-0.826352908288334 0.1402369743575257 +-0.7162075388250695 0.1868158359095561 +-0.7527368231680118 0.1286395138514484 +-0.4727884662547769 0.2494789236042159 +-0.9084627075403329 0.449505391086897 -0.5071865495595388 -0.9040830437513866 --0.38324891046004633 -0.9079804775916822 +-0.3832489104600463 -0.9079804775916822 -0.6914665619579372 0.8794177602286009 --0.15480191989724879 0.7220779002806956 +-0.1548019198972488 0.7220779002806956 0.1727752821357922 0.7824452600091524 -0.016160299624767324 0.7870706978131862 -0.7051532936270463 -0.11450242268762534 -0.7143784667278941 -0.058625885592423585 -0.7788879795728244 -0.024727879997574836 +0.01616029962476732 0.7870706978131862 +0.7051532936270463 -0.1145024226876253 +0.7143784667278941 -0.05862588559242358 +0.7788879795728244 -0.02472787999757484 0.8812285572693748 -0.09314733324786098 -0.784179154629784 0.10939266761879898 +0.784179154629784 0.109392667618799 0.8194578581443505 -0.07479350812450926 0.7626190974053951 0.04307858648615103 -0.8066416415689797 -0.13999345035553193 -0.879959011416495 0.015703020027050055 -0.6731890298592623 0.10881596852344158 +0.8066416415689797 -0.1399934503555319 +0.879959011416495 0.01570302002705005 +0.6731890298592623 0.1088159685234416 0.8280710923419804 0.05846065826166997 -0.7044001247601827 0.057576327399271716 +0.7044001247601827 0.05757632739927172 0.6439084655971888 0.05585511547835646 -0.9111869383375542 0.10646196256484697 -0.5546806318201417 0.18671393966680463 +0.9111869383375542 0.106461962564847 +0.5546806318201417 0.1867139396668046 0.7486850349140814 -0.2758267732130356 0.8626179786955788 -0.3386953044649726 0.7967854161846789 -0.3233285337219266 @@ -3058,7 +3071,7 @@ vertices 0.8436408451949853 -0.2712954157848073 0.9211435142547318 -0.285845288444886 0.1201410824189541 -0.8279254503543272 -0.6282753721793697 -0.48269559857813027 +0.6282753721793697 -0.4826955985781303 0.5737570749101203 -0.5189520165888725 0.7194470618712502 -0.5080773954824911 0.5938230859711608 0.6750741750735426 @@ -3067,153 +3080,153 @@ vertices -0.78159482272262 0.8203809917160545 0.2972939396839127 0.841941005592439 0.09512662904009207 0.8070659054790313 -0.4910767734107116 0.18270483781118485 -0.5263961705306232 0.12890523626422945 +0.4910767734107116 0.1827048378111849 +0.5263961705306232 0.1289052362642295 0.5178657272483681 0.2642395645586511 -0.593920074424832 0.13169117011969272 -0.6630611793987341 0.22250226475662652 -0.6144171945707579 0.18781184719982835 -0.59650314399019 0.26438175199859315 -0.9418177454659238 -0.36756998849363803 -1.0000000000000142 -0.21428571428571436 -0.9152640525225665 -0.17857142857142863 +0.593920074424832 0.1316911701196927 +0.6630611793987341 0.2225022647566265 +0.6144171945707579 0.1878118471998284 +0.59650314399019 0.2643817519985932 +0.9418177454659238 -0.367569988493638 +1.000000000000014 -0.2142857142857144 +0.9152640525225665 -0.1785714285714286 0.08538708802899096 -0.7686314060377266 -0.014136745840942917 -0.8371465446416269 +0.01413674584094292 -0.8371465446416269 0.1512002692386418 -0.7698885471056296 -0.23855409485689483 -0.8539663687750813 -0.22576477065166511 -0.7798363669118462 +0.2385540948568948 -0.8539663687750813 +0.2257647706516651 -0.7798363669118462 0.677980796719611 0.7981909206918156 -0.22664417039294232 0.8297534873969149 -0.24783664432916291 0.9177713544317193 +0.2266441703929423 0.8297534873969149 +0.2478366443291629 0.9177713544317193 0.06615245137505138 0.9126983723102355 0.4666174718579214 0.2664964591618776 0.506416502082507 0.3217852751944277 0.7040229394308893 0.361431044031021 0.8783851288869072 -0.4185029517812937 -0.29514409044495415 -0.8060349010025807 +0.2951440904449542 -0.8060349010025807 0.330337319798908 -0.9049576237140171 0.2794975080078026 -0.7425054932350347 -0.36386706346226405 -0.837307300249437 +0.3638670634622641 -0.837307300249437 0.6532645900628408 0.7247641317606269 0.04239452994059063 0.8493918251159395 -0.02250099462557692 0.9098573190974346 0.6639495045663824 0.2977433230891782 0.8817869523017118 -0.540617864489254 -0.42216355489008134 -0.9083353627251456 +0.4221635548900813 -0.9083353627251456 0.7957881341819463 0.717662510194838 0.5851352341812096 0.7885704265705006 0.7968869819259177 0.2585480384597323 -0.6249233387740866 0.36675058913980746 +0.6249233387740866 0.3667505891398075 0.7255278746295012 0.7413128307404355 0.8025834984041672 0.85403972820892 -0.7359457931743437 0.29689330693357013 +0.7359457931743437 0.2968933069335701 0.8343919703828907 0.3857525887265474 -0.772637422412071 0.35520640766214373 -0.7561496372378229 0.46623640514938236 +0.772637422412071 0.3552064076621437 +0.7561496372378229 0.4662364051493824 0.5860301659178607 0.3224188205762791 0.6697166004622249 0.4420590810013888 0.5844513799973408 0.4155331673648745 0.6175294100650107 0.4822113345111355 -0.24983663601851258 0.48923161704779594 +0.2498366360185126 0.4892316170477959 0.006062644723013787 -0.492843122454221 -0.8835801084930928 0.6604629012492697 -0.7754303447467569 -0.1546644238534824 0.4850684686085798 -0.5299354140977618 -0.42028751937857556 -0.747665403696736 --1.0000000000000142 0.2771428571428569 --0.9314374187801593 0.24428571428571405 --0.920565443078561 -0.47331328193081884 --0.872086379495676 -0.40532087404690054 --0.8448605142771523 -0.32310348606099537 --0.9494122110109775 -0.40146617404548346 +0.4202875193785756 -0.747665403696736 +-1.000000000000014 0.2771428571428569 +-0.9314374187801593 0.2442857142857141 +-0.920565443078561 -0.4733132819308188 +-0.872086379495676 -0.4053208740469005 +-0.8448605142771523 -0.3231034860609954 +-0.9494122110109775 -0.4014661740454835 -0.8429047681973082 -0.2253806356628959 -0.9231116986007613 -0.3276284710467523 -0.9119529957644252 -0.6519348088131991 -0.9326898754638463 0.5402329902668325 --1.0000000000000142 0.40857142857142836 +-1.000000000000014 0.4085714285714284 -0.9396428888489277 0.3757142857142855 -0.5438088312350641 -0.8477782268131538 -0.6114769365242914 -0.9141168552587821 -0.4444711253435029 -0.8822898773010184 --0.3571428571428572 -1.0000000000000142 +-0.3571428571428572 -1.000000000000014 -0.3125416909556617 -0.8807064526293436 -0.2746531307671434 -0.8278243278206855 0.02043698290494954 0.7333205125632574 -1.0000000000000142 0.0714285714285714 +1.000000000000014 0.0714285714285714 0.9188650843078187 0.2142857142857142 0.7337672682277521 -0.4405077618189847 --1.0000000000000142 0.14571428571428544 +-1.000000000000014 0.1457142857142854 -0.9374999999999998 0.07500000000000016 -0.01384850601086065 -0.7848372075684943 -0.05092204080443377 -0.8537687462304423 -0.03146005395221531 -0.9289734137501431 --0.07142857142857145 -1.0000000000000142 +-0.07142857142857145 -1.000000000000014 0.07142857142857138 -0.9258812444280263 -0.34118427274050556 0.9246101505403511 -0.2142857142857142 1.0000000000000142 +0.3411842727405056 0.9246101505403511 +0.2142857142857142 1.000000000000014 0.1785714285714285 0.937468810347007 0.2571506324076431 -0.9285925776396392 -0.16697659572251689 -0.9114333746015606 -0.2142857142857142 -1.0000000000000142 -0.357142857142857 -1.0000000000000142 --0.07142857142857145 1.0000000000000142 --0.10714285714285718 0.9252846514961925 --0.21428571428571436 0.9199633371057347 +0.1669765957225169 -0.9114333746015606 +0.2142857142857142 -1.000000000000014 +0.357142857142857 -1.000000000000014 +-0.07142857142857145 1.000000000000014 +-0.1071428571428572 0.9252846514961925 +-0.2142857142857144 0.9199633371057347 0.7993449840073128 -0.530693576851428 0.7257791166090883 -0.6381465148574247 0.7444894835563778 -0.5720469635182694 0.8304790053659274 -0.632085340262859 0.4999999999999999 -0.9489504492899968 0.6262110562671012 -0.8478520722453399 -0.49340879777640034 -0.8666900565517075 +0.4934087977764003 -0.8666900565517075 0.5773630168099784 -0.9162002874006414 0.431683457709619 -0.8385716582422915 0.5531854401648656 -0.8105703770198353 -0.6428571428571428 -1.0000000000000142 +0.6428571428571428 -1.000000000000014 0.6785714285714285 -0.9191080329943913 0.6353360142724963 -0.7398181333676116 0.5294689621472927 -0.748663770631271 0.5666679917004808 0.7300761634175712 0.6208167400939755 0.8970426831155256 -0.47755224412303215 0.8725877295583178 +0.4775522441230322 0.8725877295583178 -0.8135531749157614 0.6618570431467465 -0.8501846790752303 0.7424330446850633 -0.8472131623581611 0.5931754948282447 --0.7203402160757187 -0.16666491220527457 --0.7584356701254319 -0.20909789089882516 +-0.7203402160757187 -0.1666649122052746 +-0.7584356701254319 -0.2090978908988252 -0.8124999999999989 -0.06500000000000308 --0.8388779714850507 -0.12840035643685832 +-0.8388779714850507 -0.1284003564368583 -0.9318569027067717 -0.1455387161653508 -0.8655105954186818 -0.7880188721706304 -0.9307342050386186 0.609578943918471 -0.9547504911523774 0.6791256031612039 -0.9254058644083244 0.748666809886059 -0.8801384854140408 0.8379423297652969 --0.8693390106561796 0.38924455428822924 +-0.8693390106561796 0.3892445542882292 -0.7053342898130406 -0.8599633099586471 --0.6428571428571428 -1.0000000000000142 -0.0714285714285714 -1.0000000000000142 -0.019064625404298246 -0.8968275139688476 +-0.6428571428571428 -1.000000000000014 +0.0714285714285714 -1.000000000000014 +0.01906462540429825 -0.8968275139688476 0.07115680092695212 -0.8646560576990687 -0.357142857142857 1.0000000000000142 +0.357142857142857 1.000000000000014 0.9231855359529253 -0.6239641965083251 0.7857142857142856 -0.9201338413148691 -0.47510080314716274 -0.7238251570651418 -0.38932720729429676 0.8460647166049005 +0.4751008031471627 -0.7238251570651418 +0.3893272072942968 0.8460647166049005 0.5160595395639492 0.8110078726832997 0.5507675366200167 0.8755412539856768 0.4406221526085777 0.7848981972913867 0.5112561883508179 0.9460447302967918 0.3471375359067773 0.7585924491526805 0.4366274411077605 0.7096566361082723 --0.9219466203259086 -0.22396952593870945 +-0.9219466203259086 -0.2239695259387094 -0.8636570747148444 -0.711419407705276 -0.8161882067741709 0.9115282751144507 0.8860598994267184 -0.7333623260520022 0.7330563835448812 -0.8242056175141035 0.276708061514781 0.7730525038939721 0.2992517798035762 0.7041067211121788 -0.36731077731322087 0.6925773449043604 +0.3673107773132209 0.6925773449043604 0.3319402779369519 0.6482882986851424 0.783267968902995 -0.7238847096977719 0.7072412945338434 -0.7127191277205271 @@ -3223,35 +3236,35 @@ vertices -0.5843099821575427 0.9031439382439529 -0.4522782004136347 0.8336330448429183 -0.3223069395728147 0.8850309675064773 --0.6428571428571428 1.0000000000000142 +-0.6428571428571428 1.000000000000014 -0.3816834478191929 0.8615501675270327 --0.33027637654882613 0.8159135493234638 --0.37479085817850327 0.9309345558524037 +-0.3302763765488261 0.8159135493234638 +-0.3747908581785033 0.9309345558524037 -0.2519392791966177 0.8418992154259254 -0.3462441781151341 0.7567442527518123 --0.22461678440281818 0.7859775519009797 --0.18478590621849458 0.8400738422778101 --0.16661667300605845 -0.8646782404133279 +-0.2246167844028182 0.7859775519009797 +-0.1847859062184946 0.8400738422778101 +-0.1666166730060585 -0.8646782404133279 -0.1865181893075264 -0.9379192154945828 --0.5 -1.0000000000000142 +-0.5 -1.000000000000014 0.9339684608721266 -0.03809963590011162 -0.7283623533788813 0.17102540851254888 +0.7283623533788813 0.1710254085125489 0.8033829939984543 0.182875557485442 0.725355839870313 0.2343689458261335 -0.8482362836702891 0.13190292083985897 -0.8538503605170107 0.22532292878400445 +0.8482362836702891 0.131902920839859 +0.8538503605170107 0.2253229287840045 0.902106195395957 0.312570718465046 0.8333979893670537 0.3169143937171889 -1.0000000000000142 0.357142857142857 +1.000000000000014 0.357142857142857 0.9246448905673064 0.3928571428571427 -0.920005799017586 0.4999999999999999 -0.0714285714285714 1.0000000000000142 +0.9200057990175859 0.4999999999999999 +0.0714285714285714 1.000000000000014 0.9554952056886568 -0.5 0.768022199311313 0.5833077231024503 -1.0000000000000142 0.2142857142857142 --0.21428571428571436 1.0000000000000142 +1.000000000000014 0.2142857142857142 +-0.2142857142857144 1.000000000000014 0.713921064648753 0.8849287941793567 -0.6428571428571428 1.0000000000000142 +0.6428571428571428 1.000000000000014 0.4187105947433398 0.923088293422993 -0.9213649913613389 0.9264526303617036 -0.6710948485556973 -0.7998250141757638 @@ -3265,15 +3278,15 @@ vertices 0.894613621502924 -0.8946136215029241 -0.7444647990184848 0.9318385835440237 0.9373270399673643 -0.6897618859712488 -1.0000000000000142 -0.6428571428571428 +1.000000000000014 -0.6428571428571428 0.953392030859349 -0.7857142857142858 0.6710484826712001 -0.7972368782811553 0.5862273471260054 -0.6081755287516784 --0.6289034666378 0.8507019992272339 +-0.6289034666377999 0.8507019992272339 -0.2786247174427699 0.9344355925353719 -0.6467929266030642 0.9314977069519854 -1.0000000000000142 0.4999999999999999 -0.8407401140711941 0.47019748182891874 +1.000000000000014 0.4999999999999999 +0.8407401140711941 0.4701974818289187 0.852967647623579 0.5579885742602682 0.7958017831356768 0.521352834673102 0.8312517580426181 0.6402870859743072 @@ -3282,14 +3295,14 @@ vertices 0.9494608091128591 0.7857142857142856 0.9010088303628091 0.873590173377978 0.8649358932686844 0.7960451799421152 -1.0000000000000142 0.9285714285714285 -0.9375 1.0000000000000142 +1.000000000000014 0.9285714285714285 +0.9375 1.000000000000014 0.8399938086049996 0.9232330753091124 0.6997484123444537 0.5873897186393168 0.7472757030302212 0.6576416866150985 -0.9218319738297421 -0.8465325768445805 -0.9392815287512679 -0.9342857142857144 -0.9285714285714285 -1.0000000000000142 -1.0000000000000142 -0.9285714285714286 +0.9285714285714285 -1.000000000000014 +1.000000000000014 -0.9285714285714286 0.7653448464256106 0.942302017817262 0.8322881793250515 -0.8170672137215466 diff --git a/src/serac/numerics/functional/tensor.hpp b/src/serac/numerics/functional/tensor.hpp index af1dc50127..59d340d40f 100644 --- a/src/serac/numerics/functional/tensor.hpp +++ b/src/serac/numerics/functional/tensor.hpp @@ -1207,6 +1207,21 @@ SERAC_HOST_DEVICE constexpr auto transpose(const tensor& A) return AT; } +/** + * @brief Returns the second invariant of a 3x3 matrix + * @param[in] A The matrix + */ +template +SERAC_HOST_DEVICE constexpr auto I2(const tensor& A) +{ + return + A[0][0] * A[1][1] + + A[1][1] * A[2][2] + + A[2][2] * A[0][0] + - A[0][1] * A[1][0] + - A[1][2] * A[2][1] + - A[2][0] * A[0][2]; +} + /** * @brief Returns the determinant of a matrix * @param[in] A The matrix to obtain the determinant of @@ -1216,6 +1231,7 @@ SERAC_HOST_DEVICE constexpr auto det(const tensor& A) { return A[0][0] * A[1][1] - A[0][1] * A[1][0]; } + /// @overload template SERAC_HOST_DEVICE constexpr auto det(const tensor& A) diff --git a/src/serac/physics/fit.hpp b/src/serac/physics/fit.hpp index 925e6e4e39..d10f28ed44 100644 --- a/src/serac/physics/fit.hpp +++ b/src/serac/physics/fit.hpp @@ -43,6 +43,9 @@ FiniteElementState fit(std::integer_sequence, func f, mfem::ParMesh & mfem::CGSolver cg; cg.SetOperator(M); + cg.SetRelTol(1e-12); + cg.SetMaxIter(200); + cg.SetPrintLevel(2); cg.Mult(b, fitted_field); return fitted_field; diff --git a/src/serac/physics/tests/fit_test.cpp b/src/serac/physics/tests/fit_test.cpp index a35ecd63c0..8bd546d600 100644 --- a/src/serac/physics/tests/fit_test.cpp +++ b/src/serac/physics/tests/fit_test.cpp @@ -8,7 +8,8 @@ #include "serac/numerics/functional/functional.hpp" #include "serac/mesh/mesh_utils.hpp" -#include "serac/physics/state/state_manager.hpp" +#include "serac/physics/solid_mechanics.hpp" +#include "serac/physics/materials/solid_material.hpp" #include @@ -18,47 +19,48 @@ using namespace serac::profiling; int num_procs, myid; int nsamples = 1; // because mfem doesn't take in unsigned int +int n = 0; double t = 0.0; -std::unique_ptr mesh2D; -std::unique_ptr mesh3D; +template < typename output_space > +void stress_extrapolation_test() { -template -void stress_extrapolation_test(mfem::ParMesh& mesh) { + int serial_refinement = 2; + int parallel_refinement = 0; - double lambda = 100.0; - double mu = 100.0; + std::string filename = SERAC_REPO_DIR "/data/meshes/notched_plate.mesh"; - using output_space = L2

; - using input_space = H1<2,dim>; + auto mesh_ = mesh::refineAndDistribute(buildMeshFromFile(filename), serial_refinement, parallel_refinement); - FiniteElementState u(mesh, input_space{}, "displacement"); + constexpr int p = 2; + constexpr int dim = 2; + + using input_space = H1<2,dim>; // Create DataStore axom::sidre::DataStore datastore; serac::StateManager::initialize(datastore, "solid_mechanics_J2_test"); // Construct the appropriate dimension mesh and give it to the data store - std::string filename = SERAC_REPO_DIR "/data/meshes/beam-hex.mesh"; - - auto mesh = mesh::refineAndDistribute(buildMeshFromFile(filename), serial_refinement, parallel_refinement); std::string mesh_tag{"mesh"}; - serac::StateManager::setMesh(std::move(mesh), mesh_tag); + auto& pmesh = StateManager::setMesh(std::move(mesh_), mesh_tag); - serac::LinearSolverOptions linear_options{.linear_solver = LinearSolver::SuperLU}; + LinearSolverOptions linear_options{.linear_solver = LinearSolver::SuperLU}; - serac::NonlinearSolverOptions nonlinear_options{.nonlin_solver = NonlinearSolver::Newton, + NonlinearSolverOptions nonlinear_options{.nonlin_solver = NonlinearSolver::Newton, .relative_tol = 1.0e-12, .absolute_tol = 1.0e-12, .max_iterations = 5000, .print_level = 1}; - SolidMechanics solid_solver(nonlinear_options, linear_options, solid_mechanics::default_quasistatic_options, - GeometricNonlinearities::Off, "solid_mechanics", mesh_tag); + FiniteElementState sigma_J2(pmesh, output_space{}, "sigma_J2"); + + SolidMechanics > solid_solver(nonlinear_options, linear_options, solid_mechanics::default_quasistatic_options, + GeometricNonlinearities::Off, "solid_mechanics", mesh_tag, {"sigma_J2"}); - solid_mechanics::Neohookean mat{ + solid_mechanics::NeoHookean mat{ 1.0, // density 100.0, // bulk modulus 50.0 // shear modulus @@ -66,45 +68,50 @@ void stress_extrapolation_test(mfem::ParMesh& mesh) { solid_solver.setMaterial(mat); - // prescribe zero displacement at the supported end of the beam, - std::set support = {1}; - auto zero_displacement = [](const mfem::Vector&, mfem::Vector& u) -> void { u = 0.0; }; - solid_solver.setDisplacementBCs(support, zero_displacement); + // prescribe small displacement at each hole, pulling the plate apart + std::set top_hole = {2}; + auto up = [](const mfem::Vector&, mfem::Vector& u) -> void { u[1] = 0.01; }; + solid_solver.setDisplacementBCs(top_hole, up); - // apply a displacement along z to the the tip of the beam - auto translated_in_z = [](const mfem::Vector&, double t, mfem::Vector& u) -> void { - u = 0.0; - u[2] = t * (t - 1); - }; - std::set tip = {2}; - solid_solver.setDisplacementBCs(tip, translated_in_z); + std::set bottom_hole = {3}; + auto down = [](const mfem::Vector&, mfem::Vector& u) -> void { u[1] = -0.01; }; + solid_solver.setDisplacementBCs(bottom_hole, down); + auto zero_displacement = [](const mfem::Vector&, mfem::Vector& u) -> void { u = 0.0; }; solid_solver.setDisplacement(zero_displacement); // Finalize the data structures solid_solver.completeSetup(); - solid_solver.outputStateToDisk("paraview"); + solid_solver.outputStateToDisk("paraview" + std::to_string(n)); double dt = 1.0; solid_solver.advanceTimestep(dt); - FiniteElementState sigma_01 = fit< dim, output_space(input_space) >([&](double /*t*/, auto /*x*/, auto displacement){ - auto du_dx = get<1>(displacement); - auto stress = lambda * tr(du_dx) * Identity() + mu * (du_dx + transpose(du_dx)); - return tuple{stress[0][1], zero{}}; - }, mesh, u); + auto u = solid_solver.displacement(); - // TODO: - // verify sigma_01 := f(x, y) + Empty internal_variables{}; -} + sigma_J2 = fit< dim, output_space(input_space) >([&](double /*t*/, [[maybe_unused]] auto position, [[maybe_unused]] auto displacement_){ + auto du_dx = get_value(get<1>(displacement_)); + mat3 du_dx3 = {{ + {du_dx[0][0], du_dx[0][1], 0.0}, + {du_dx[1][0], du_dx[1][1], 0.0}, + {0.0, 0.0, 0.0} + }}; + auto stress = mat(internal_variables, du_dx3); + return tuple{I2(dev(stress)), zero{}}; + }, pmesh, u); + + solid_solver.setParameter(0, sigma_J2); -TEST(StressExtrapolation, PiecewiseConstant2D) { stress_extrapolation_test< 0, 2 >(*mesh2D); } -TEST(StressExtrapolation, PiecewiseConstant3D) { stress_extrapolation_test< 0, 3 >(*mesh3D); } + solid_solver.outputStateToDisk("paraview" + std::to_string(n)); + n++; + +} -TEST(StressExtrapolation, PiecewiseLinear2D) { stress_extrapolation_test< 1, 2 >(*mesh2D); } -TEST(StressExtrapolation, PiecewiseLinear3D) { stress_extrapolation_test< 1, 3 >(*mesh3D); } +TEST(StressExtrapolation, PiecewiseConstant2D) { stress_extrapolation_test< L2<0> >(); } +TEST(StressExtrapolation, PiecewiseLinear2D) { stress_extrapolation_test< H1<1> >(); } int main(int argc, char* argv[]) { @@ -115,14 +122,6 @@ int main(int argc, char* argv[]) axom::slic::SimpleLogger logger; - int serial_refinement = 1; - int parallel_refinement = 0; - - std::string meshfile2D = SERAC_REPO_DIR "/data/meshes/patch2D_tris_and_quads.mesh"; - mesh2D = mesh::refineAndDistribute(buildMeshFromFile(meshfile2D), serial_refinement, parallel_refinement); - - std::string meshfile3D = SERAC_REPO_DIR "/data/meshes/patch3D_tets_and_hexes.mesh"; - mesh3D = mesh::refineAndDistribute(buildMeshFromFile(meshfile3D), serial_refinement, parallel_refinement); int result = RUN_ALL_TESTS(); MPI_Finalize(); From f7fdc667e352ea0f2e50a29fdae205866bf09e2a Mon Sep 17 00:00:00 2001 From: Sam Mish Date: Wed, 7 Aug 2024 15:15:38 -0700 Subject: [PATCH 05/10] pass communicator to CG + bump up iteration count --- src/serac/physics/fit.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/serac/physics/fit.hpp b/src/serac/physics/fit.hpp index d10f28ed44..ac94262e0d 100644 --- a/src/serac/physics/fit.hpp +++ b/src/serac/physics/fit.hpp @@ -41,10 +41,10 @@ FiniteElementState fit(std::integer_sequence, func f, mfem::ParMesh & phi_f.AddDomainIntegral(Dimension{}, DependsOn{}, f, mesh); mfem::Vector b = phi_f(0.0, solution_fields ...); - mfem::CGSolver cg; + mfem::CGSolver cg(MPI_COMM_WORLD); cg.SetOperator(M); cg.SetRelTol(1e-12); - cg.SetMaxIter(200); + cg.SetMaxIter(500); cg.SetPrintLevel(2); cg.Mult(b, fitted_field); From 61ae64329cabd990193b41011d8faf3432f8edc4 Mon Sep 17 00:00:00 2001 From: Sam Mish Date: Thu, 8 Aug 2024 13:56:48 -0700 Subject: [PATCH 06/10] add to_3x3 function, fix shadowed variable warning --- src/serac/numerics/functional/tensor.hpp | 10 ++++++++++ src/serac/physics/fit.hpp | 2 +- src/serac/physics/solid_mechanics.hpp | 4 ++-- src/serac/physics/tests/fit_test.cpp | 9 ++------- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/serac/numerics/functional/tensor.hpp b/src/serac/numerics/functional/tensor.hpp index 59d340d40f..7cd6a6e808 100644 --- a/src/serac/numerics/functional/tensor.hpp +++ b/src/serac/numerics/functional/tensor.hpp @@ -1064,6 +1064,16 @@ SERAC_HOST_DEVICE auto normalize(const tensor& A) return A / norm(A); } +template +SERAC_HOST_DEVICE tensor to_3x3(const tensor& A) { + tensor output{}; + output[0][0] = A[0][0]; + output[0][1] = A[0][1]; + output[1][0] = A[1][0]; + output[1][1] = A[1][1]; + return output; +} + /** * @brief Returns the trace of a square matrix * @param[in] A The matrix to compute the trace of diff --git a/src/serac/physics/fit.hpp b/src/serac/physics/fit.hpp index ac94262e0d..2d891ec226 100644 --- a/src/serac/physics/fit.hpp +++ b/src/serac/physics/fit.hpp @@ -22,7 +22,7 @@ FiniteElementState fit(std::integer_sequence, func f, mfem::ParMesh & // signature looks like return_type(arg0_type, arg1_type); // so this unpacks the return type - using output_space = FunctionSignature< signature >::return_type; + using output_space = typename FunctionSignature< signature >::return_type; FiniteElementState fitted_field(mesh, output_space{}, "displacement"); fitted_field = 0.0; diff --git a/src/serac/physics/solid_mechanics.hpp b/src/serac/physics/solid_mechanics.hpp index dc0f549bf9..bb9e399f9b 100644 --- a/src/serac/physics/solid_mechanics.hpp +++ b/src/serac/physics/solid_mechanics.hpp @@ -1635,8 +1635,8 @@ class SolidMechanics, std::integer_se std::array{}, 0.0, shape_displacement_, displacement_, acceleration_, *parameters_[parameter_indices].state...))(double)>, sizeof...(parameter_indices)> - d_residual_d_ = {[&](double t) { - return (*residual_)(DifferentiateWRT{}, t, shape_displacement_, + d_residual_d_ = {[&](double _t) { + return (*residual_)(DifferentiateWRT{}, _t, shape_displacement_, displacement_, acceleration_, *parameters_[parameter_indices].state...); }...}; diff --git a/src/serac/physics/tests/fit_test.cpp b/src/serac/physics/tests/fit_test.cpp index 8bd546d600..f39ed02597 100644 --- a/src/serac/physics/tests/fit_test.cpp +++ b/src/serac/physics/tests/fit_test.cpp @@ -93,13 +93,8 @@ void stress_extrapolation_test() { Empty internal_variables{}; sigma_J2 = fit< dim, output_space(input_space) >([&](double /*t*/, [[maybe_unused]] auto position, [[maybe_unused]] auto displacement_){ - auto du_dx = get_value(get<1>(displacement_)); - mat3 du_dx3 = {{ - {du_dx[0][0], du_dx[0][1], 0.0}, - {du_dx[1][0], du_dx[1][1], 0.0}, - {0.0, 0.0, 0.0} - }}; - auto stress = mat(internal_variables, du_dx3); + mat3 du_dx = to_3x3(get_value(get<1>(displacement_))); + auto stress = mat(internal_variables, du_dx); return tuple{I2(dev(stress)), zero{}}; }, pmesh, u); From d1d01b5a589a9db67b5f59cb6953dc834b6e684f Mon Sep 17 00:00:00 2001 From: Sam Mish Date: Mon, 12 Aug 2024 12:24:17 -0700 Subject: [PATCH 07/10] fix shadowing warning from gcc, add doxygen comments for new functions --- src/serac/infrastructure/variant.hpp | 6 +++--- src/serac/numerics/functional/tensor.hpp | 4 ++++ src/serac/physics/fit.hpp | 15 ++++++++++----- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/serac/infrastructure/variant.hpp b/src/serac/infrastructure/variant.hpp index c7ef0d1729..c85d07fedd 100644 --- a/src/serac/infrastructure/variant.hpp +++ b/src/serac/infrastructure/variant.hpp @@ -235,14 +235,14 @@ struct variant { * the first element of the variant - of type @p T0 - will be assigned to */ template ::value>> - constexpr variant(T&& t) + constexpr variant(T&& t_) { if constexpr (std::is_same_v, T0> || std::is_assignable_v) { storage_.index_ = 0; - new (&storage_.t0_) T0(std::forward(t)); + new (&storage_.t0_) T0(std::forward(t_)); } else if constexpr (std::is_same_v, T1> || std::is_assignable_v) { storage_.index_ = 1; - new (&storage_.t1_) T1(std::forward(t)); + new (&storage_.t1_) T1(std::forward(t_)); } else { static_assert(sizeof(T) < 0, "Type not supported"); } diff --git a/src/serac/numerics/functional/tensor.hpp b/src/serac/numerics/functional/tensor.hpp index 7cd6a6e808..761188ea8a 100644 --- a/src/serac/numerics/functional/tensor.hpp +++ b/src/serac/numerics/functional/tensor.hpp @@ -1064,6 +1064,10 @@ SERAC_HOST_DEVICE auto normalize(const tensor& A) return A / norm(A); } +/** + * @brief promotes a 2x2 matrix to a 3x3 matrix, by populating the upper left block, leaving zeroes in the third row / column + * @param[in] A the 2x2 matrix to be promoted to a 3x3 matrix + */ template SERAC_HOST_DEVICE tensor to_3x3(const tensor& A) { tensor output{}; diff --git a/src/serac/physics/fit.hpp b/src/serac/physics/fit.hpp index 2d891ec226..61f8c39d90 100644 --- a/src/serac/physics/fit.hpp +++ b/src/serac/physics/fit.hpp @@ -15,8 +15,7 @@ namespace serac { namespace detail { -// note: mesh is passed by non-const ref because mfem mutates the -// mesh when creating ParGridFunctions +/// @overload template < int dim, typename signature, int ... i, typename func, typename ... T > FiniteElementState fit(std::integer_sequence, func f, mfem::ParMesh & mesh, const T & ... solution_fields) { @@ -24,7 +23,7 @@ FiniteElementState fit(std::integer_sequence, func f, mfem::ParMesh & // so this unpacks the return type using output_space = typename FunctionSignature< signature >::return_type; - FiniteElementState fitted_field(mesh, output_space{}, "displacement"); + FiniteElementState fitted_field(mesh, output_space{}); fitted_field = 0.0; // mass term @@ -54,8 +53,14 @@ FiniteElementState fit(std::integer_sequence, func f, mfem::ParMesh & } -// note: mesh is passed by non-const ref because mfem mutates the -// mesh when creating ParGridFunctions +/** + * @brief determine field parameters to approximate the output of a user-provided q-function + * @param[in] f the user-provided function to approximate + * @param[in] mesh the region over which to approximate the function f + * @param[in] solution_fields [optional] any auxiliary field quantities needed to evaluate f + * + * @note: mesh is passed by non-const ref because mfem mutates the mesh when creating ParGridFunctions + */ template < int dim, typename signature, int ... n, typename func, typename ... T > FiniteElementState fit(func f, mfem::ParMesh & mesh, const T & ... solution_fields) { auto iseq = std::make_integer_sequence{}; From b04f7b1bc6ddd55b4e84d11fe50d4284fedc3816 Mon Sep 17 00:00:00 2001 From: Sam Mish Date: Mon, 12 Aug 2024 12:41:46 -0700 Subject: [PATCH 08/10] update variable name on variant doxygen --- src/serac/infrastructure/variant.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/serac/infrastructure/variant.hpp b/src/serac/infrastructure/variant.hpp index c85d07fedd..532403a5b7 100644 --- a/src/serac/infrastructure/variant.hpp +++ b/src/serac/infrastructure/variant.hpp @@ -229,7 +229,7 @@ struct variant { /** * @brief "Parameterized" constructor with which a value can be assigned * @tparam T The type of the parameter to assign to one of the variant elements - * @param[in] t The parameter to assign to the variant's contents + * @param[in] t_ The parameter to assign to the variant's contents * @pre The parameter type @p T must be equal to or assignable to either @p T0 or @p T1 * @note If the conversion is ambiguous, i.e., if @a t is equal or convertible to *both* @p T0 and @p T1, * the first element of the variant - of type @p T0 - will be assigned to From 4976fca392b2dae39726505a75f8bd27b71bbe02 Mon Sep 17 00:00:00 2001 From: Sam Mish Date: Mon, 12 Aug 2024 12:55:41 -0700 Subject: [PATCH 09/10] apply style patch --- src/serac/numerics/functional/tensor.hpp | 18 ++++---- src/serac/physics/fit.hpp | 40 +++++++++-------- src/serac/physics/tests/fit_test.cpp | 57 ++++++++++++------------ 3 files changed, 58 insertions(+), 57 deletions(-) diff --git a/src/serac/numerics/functional/tensor.hpp b/src/serac/numerics/functional/tensor.hpp index 761188ea8a..e215e486ed 100644 --- a/src/serac/numerics/functional/tensor.hpp +++ b/src/serac/numerics/functional/tensor.hpp @@ -1065,12 +1065,14 @@ SERAC_HOST_DEVICE auto normalize(const tensor& A) } /** - * @brief promotes a 2x2 matrix to a 3x3 matrix, by populating the upper left block, leaving zeroes in the third row / column - * @param[in] A the 2x2 matrix to be promoted to a 3x3 matrix + * @brief promotes a 2x2 matrix to a 3x3 matrix, by populating the upper left block, leaving zeroes in the third row / + * column + * @param[in] A the 2x2 matrix to be promoted to a 3x3 matrix */ template -SERAC_HOST_DEVICE tensor to_3x3(const tensor& A) { - tensor output{}; +SERAC_HOST_DEVICE tensor to_3x3(const tensor& A) +{ + tensor output{}; output[0][0] = A[0][0]; output[0][1] = A[0][1]; output[1][0] = A[1][0]; @@ -1228,12 +1230,8 @@ SERAC_HOST_DEVICE constexpr auto transpose(const tensor& A) template SERAC_HOST_DEVICE constexpr auto I2(const tensor& A) { - return + A[0][0] * A[1][1] - + A[1][1] * A[2][2] - + A[2][2] * A[0][0] - - A[0][1] * A[1][0] - - A[1][2] * A[2][1] - - A[2][0] * A[0][2]; + return +A[0][0] * A[1][1] + A[1][1] * A[2][2] + A[2][2] * A[0][0] - A[0][1] * A[1][0] - A[1][2] * A[2][1] - + A[2][0] * A[0][2]; } /** diff --git a/src/serac/physics/fit.hpp b/src/serac/physics/fit.hpp index 61f8c39d90..a83c63b48d 100644 --- a/src/serac/physics/fit.hpp +++ b/src/serac/physics/fit.hpp @@ -16,29 +16,31 @@ namespace serac { namespace detail { /// @overload -template < int dim, typename signature, int ... i, typename func, typename ... T > -FiniteElementState fit(std::integer_sequence, func f, mfem::ParMesh & mesh, const T & ... solution_fields) { - +template +FiniteElementState fit(std::integer_sequence, func f, mfem::ParMesh& mesh, const T&... solution_fields) +{ // signature looks like return_type(arg0_type, arg1_type); // so this unpacks the return type - using output_space = typename FunctionSignature< signature >::return_type; + using output_space = typename FunctionSignature::return_type; FiniteElementState fitted_field(mesh, output_space{}); fitted_field = 0.0; // mass term - serac::Functional< output_space(output_space) > phi_phi(&fitted_field.space(), {&fitted_field.space()}); - phi_phi.AddDomainIntegral(Dimension{}, DependsOn<0>{}, - [](double /*t*/, auto /*x*/, auto u){ - return tuple{get<0>(u), zero{}}; - }, mesh); + serac::Functional phi_phi(&fitted_field.space(), {&fitted_field.space()}); + phi_phi.AddDomainIntegral( + Dimension{}, DependsOn<0>{}, + [](double /*t*/, auto /*x*/, auto u) { + return tuple{get<0>(u), zero{}}; + }, + mesh); auto M = get<1>(phi_phi(DifferentiateWRT<0>{}, 0.0 /* t */, fitted_field)); // rhs - std::array< const mfem::ParFiniteElementSpace *, sizeof ... (T) > trial_spaces = {&solution_fields.space() ...}; - serac::Functional< signature > phi_f(&fitted_field.space(), trial_spaces); + std::array trial_spaces = {&solution_fields.space()...}; + serac::Functional phi_f(&fitted_field.space(), trial_spaces); phi_f.AddDomainIntegral(Dimension{}, DependsOn{}, f, mesh); - mfem::Vector b = phi_f(0.0, solution_fields ...); + mfem::Vector b = phi_f(0.0, solution_fields...); mfem::CGSolver cg(MPI_COMM_WORLD); cg.SetOperator(M); @@ -48,23 +50,23 @@ FiniteElementState fit(std::integer_sequence, func f, mfem::ParMesh & cg.Mult(b, fitted_field); return fitted_field; - } -} +} // namespace detail /** * @brief determine field parameters to approximate the output of a user-provided q-function * @param[in] f the user-provided function to approximate * @param[in] mesh the region over which to approximate the function f * @param[in] solution_fields [optional] any auxiliary field quantities needed to evaluate f - * + * * @note: mesh is passed by non-const ref because mfem mutates the mesh when creating ParGridFunctions */ -template < int dim, typename signature, int ... n, typename func, typename ... T > -FiniteElementState fit(func f, mfem::ParMesh & mesh, const T & ... solution_fields) { - auto iseq = std::make_integer_sequence{}; +template +FiniteElementState fit(func f, mfem::ParMesh& mesh, const T&... solution_fields) +{ + auto iseq = std::make_integer_sequence{}; return detail::fit(iseq, f, mesh, solution_fields...); } -} +} // namespace serac diff --git a/src/serac/physics/tests/fit_test.cpp b/src/serac/physics/tests/fit_test.cpp index f39ed02597..bf085af966 100644 --- a/src/serac/physics/tests/fit_test.cpp +++ b/src/serac/physics/tests/fit_test.cpp @@ -19,12 +19,12 @@ using namespace serac::profiling; int num_procs, myid; int nsamples = 1; // because mfem doesn't take in unsigned int -int n = 0; +int n = 0; double t = 0.0; -template < typename output_space > -void stress_extrapolation_test() { - +template +void stress_extrapolation_test() +{ int serial_refinement = 2; int parallel_refinement = 0; @@ -32,10 +32,10 @@ void stress_extrapolation_test() { auto mesh_ = mesh::refineAndDistribute(buildMeshFromFile(filename), serial_refinement, parallel_refinement); - constexpr int p = 2; + constexpr int p = 2; constexpr int dim = 2; - using input_space = H1<2,dim>; + using input_space = H1<2, dim>; // Create DataStore axom::sidre::DataStore datastore; @@ -50,31 +50,32 @@ void stress_extrapolation_test() { LinearSolverOptions linear_options{.linear_solver = LinearSolver::SuperLU}; NonlinearSolverOptions nonlinear_options{.nonlin_solver = NonlinearSolver::Newton, - .relative_tol = 1.0e-12, - .absolute_tol = 1.0e-12, - .max_iterations = 5000, - .print_level = 1}; + .relative_tol = 1.0e-12, + .absolute_tol = 1.0e-12, + .max_iterations = 5000, + .print_level = 1}; FiniteElementState sigma_J2(pmesh, output_space{}, "sigma_J2"); - SolidMechanics > solid_solver(nonlinear_options, linear_options, solid_mechanics::default_quasistatic_options, - GeometricNonlinearities::Off, "solid_mechanics", mesh_tag, {"sigma_J2"}); + SolidMechanics > solid_solver( + nonlinear_options, linear_options, solid_mechanics::default_quasistatic_options, GeometricNonlinearities::Off, + "solid_mechanics", mesh_tag, {"sigma_J2"}); solid_mechanics::NeoHookean mat{ - 1.0, // density - 100.0, // bulk modulus - 50.0 // shear modulus + 1.0, // density + 100.0, // bulk modulus + 50.0 // shear modulus }; solid_solver.setMaterial(mat); // prescribe small displacement at each hole, pulling the plate apart - std::set top_hole = {2}; - auto up = [](const mfem::Vector&, mfem::Vector& u) -> void { u[1] = 0.01; }; + std::set top_hole = {2}; + auto up = [](const mfem::Vector&, mfem::Vector& u) -> void { u[1] = 0.01; }; solid_solver.setDisplacementBCs(top_hole, up); - std::set bottom_hole = {3}; - auto down = [](const mfem::Vector&, mfem::Vector& u) -> void { u[1] = -0.01; }; + std::set bottom_hole = {3}; + auto down = [](const mfem::Vector&, mfem::Vector& u) -> void { u[1] = -0.01; }; solid_solver.setDisplacementBCs(bottom_hole, down); auto zero_displacement = [](const mfem::Vector&, mfem::Vector& u) -> void { u = 0.0; }; @@ -92,21 +93,22 @@ void stress_extrapolation_test() { Empty internal_variables{}; - sigma_J2 = fit< dim, output_space(input_space) >([&](double /*t*/, [[maybe_unused]] auto position, [[maybe_unused]] auto displacement_){ - mat3 du_dx = to_3x3(get_value(get<1>(displacement_))); - auto stress = mat(internal_variables, du_dx); - return tuple{I2(dev(stress)), zero{}}; - }, pmesh, u); + sigma_J2 = fit( + [&](double /*t*/, [[maybe_unused]] auto position, [[maybe_unused]] auto displacement_) { + mat3 du_dx = to_3x3(get_value(get<1>(displacement_))); + auto stress = mat(internal_variables, du_dx); + return tuple{I2(dev(stress)), zero{}}; + }, + pmesh, u); solid_solver.setParameter(0, sigma_J2); solid_solver.outputStateToDisk("paraview" + std::to_string(n)); n++; - } -TEST(StressExtrapolation, PiecewiseConstant2D) { stress_extrapolation_test< L2<0> >(); } -TEST(StressExtrapolation, PiecewiseLinear2D) { stress_extrapolation_test< H1<1> >(); } +TEST(StressExtrapolation, PiecewiseConstant2D) { stress_extrapolation_test >(); } +TEST(StressExtrapolation, PiecewiseLinear2D) { stress_extrapolation_test >(); } int main(int argc, char* argv[]) { @@ -117,7 +119,6 @@ int main(int argc, char* argv[]) axom::slic::SimpleLogger logger; - int result = RUN_ALL_TESTS(); MPI_Finalize(); return result; From 3a785a54b0f6d4f87299afb1683d46ca89f18644 Mon Sep 17 00:00:00 2001 From: Sam Mish Date: Mon, 12 Aug 2024 14:02:36 -0700 Subject: [PATCH 10/10] add fit.hpp to the list of physics_headers --- src/serac/physics/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/serac/physics/CMakeLists.txt b/src/serac/physics/CMakeLists.txt index ff62accb1c..5fd500dafe 100644 --- a/src/serac/physics/CMakeLists.txt +++ b/src/serac/physics/CMakeLists.txt @@ -20,6 +20,7 @@ set(physics_sources set(physics_headers base_physics.hpp common.hpp + fit.hpp heat_transfer.hpp heat_transfer_input.hpp solid_mechanics.hpp